UiAutomator和Appium之间的区别和联系java
联系:python
在Android端,appium基于WebDriver协议,利用Bootstrap.jar,最后经过调⽤用UiAutomator的命令,实现App的自动化测试。设计模式
UiAutomator测试框架是AndroidSDK自带的App UI自动化测试Java库。app
一、UiAutomator——基于UIAutomation的用户界面自动化测试框架,能够跨应用工做;框架
二、UiAutomator只能测试Android native app测试
三、主要功能跟Appium相似ui
四、能够跨应用测试,Google原生,其稳定性和后续的维护更新能够获得保障,运行时也有更多的权限google
五、能够跨进程操做;.net
六、运行速度快;设计
七、UiAutomator框架对外提供的API,主要有UiDevice、UiSelector、UiObject、UiCollection和UiScrollable等
八、使用uiautomatorviewer.bat来检索手机界面视图
九、支持的语言能够有python、java等,google推出的底层框架使用java编写的,可是也有python封装的底层框架,所以也可以使用python进行自动化测试
Appium——跨平台,容许采用同一套API在不一样的平台(IOS,Android)上编写测试代码
Appium实际上是找了一个中间件Bootstrap,Bootstrap是一个Uiautomator的测试脚本,UiAutomator能够正常运行它,它也能够正常的使用UiAutomator的方法,这个就是Appium的命令能够转换成UiAutomator命令的关键。
Appium能够跨平台跨语言,将脚本经过Appiumserver发送给Bootstrap,而后再运行,因此,至关于Appium封装了UiAutomator,功能更强大。
一、Appium是基于UIAutomator框架实现的一个开源、跨平台的测试框架。支持跨平台它容许测试人员在不一样的平台iOS或Android使用同一套API来写自动化测试脚本,能够增长iOS和Android测试套件间代码的复用性。支持多语言如:java、python;
二、Appium测试至关于黑盒测试,测试UI逻辑正确性获取一个AppiumDriver对象。该对象只是有不少findElements()的方法,获取到UI元素。UI元素是WebElement,这个类提供的方法基本是获取信息为主,好比获取name,class,location,text,isSlected,isTouched等信息。这个测试框架,只是测试UI逻辑的正确性;
三、在运行脚本上执行速度较慢,没有uiautomator的执行速度快;
四、appium使用的是Client/Server的设计模式,实现跨平台,多语言。只要client可以发送http请求给server,那么的话client用什么语言来实现都是能够的,经过Python(python-client )编写了一个appium自动化脚本并执行,appium-Server经过解析,驱动iOS设备来执行appium自动化脚本。或者,我在Windows平台上,经过Java( java-client )编写了一个appium自动化脚本并执行,请求会首先到 appiumForWindow.zip(Window下的appium-Server),appium-Server经过解析,驱动Android虚拟机或真机来执行appium脚本。因此,你会看到appium的强大之处就在于此。————————————————版权声明:本文为CSDN博主「小八路2222」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处连接及本声明。原文连接:https://blog.csdn.net/yongwan5637/article/details/79879774