自动化测试框架对比(UIAutomator、Appium)

UiAutomatorAppium之间的区别和联系

联系:

Android端,appium基于WebDriver协议,利用Bootstrap.jar,最后通过调UiAutomator的命令,实现App的自动化测试。

UiAutomator测试框架是AndroidSDK自带的App UI自动化测试Java库。

1UiAutomator——基于UIAutomation的用户界面自动化测试框架,可以跨应用工作;

2UiAutomator只能测试Android native app

3、主要功能跟Appium类似

4、可以跨应用测试,Google原生,其稳定性和后续的维护更新可以得到保障,运行时也有更多的权限

5、可以跨进程操作;

6运行速度快;

7UiAutomator框架对外提供的API,主要有UiDeviceUiSelectorUiObjectUiCollectionUiScrollable

8使用uiautomatorviewer.bat来检索手机界面视图

9支持的语言可以有pythonjava等,google推出的底层框架使用java编写的但是也有python封装的底层框架,因此也可使用python进行自动化测试

Appium——跨平台允许采用同一套API在不同的平台(IOSAndroid)上编写测试代码

Appium其实是找了一个中间件BootstrapBootstrap是一个Uiautomator的测试脚本,UiAutomator可以正常运行它,它也可以正常的使用UiAutomator的方法,这个就是Appium的命令可以转换成UiAutomator命令的关键。

Appium可以跨平台跨语言将脚本通过Appiumserver发送给Bootstrap,然后再运行,所以,相当于Appium封装了UiAutomator,功能更强大。

1Appium是基于UIAutomator框架实现的一个开源、跨平台的测试框架。支持跨平台它允许测试人员在不同的平台iOSAndroid使用同一套API来写自动化测试脚本,可以增加iOSAndroid测试套件间代码的复用性。支持多语言如:javapython

2Appium测试相当于黑盒测试,测试UI逻辑正确性获取一个AppiumDriver对象。该对象只是有很多findElements()的方法,获取到UI元素。UI元素是WebElement,这个类提供的方法基本是获取信息为主,比如获取nameclasslocationtextisSlectedisTouched等信息。这个测试框架,只是测试UI逻辑的正确性;

3、在运行脚本上执行速度较慢,没有uiautomator的执行速度快

4appium使用的是Client/Server的设计模式,实现跨平台,多语言。只要client能够发送http请求给server,那么的话client用什么语言来实现都是可以的,通过Pythonpython-client )编写了一个appium自动化脚本并执行,appium-Server通过解析,驱动iOS设备来执行appium自动化脚本。或者,我在Windows平台上,通过Java java-client )编写了一个appium自动化脚本并执行,请求会首先到 appiumForWindow.zipWindow下的appium-Server),appium-Server通过解析,驱动Android虚拟机或真机来执行appium脚本。所以,你会看到appium的强大之处就在于此。

 



你可能感兴趣的:(自动化测试)