安卓⾃动化-----常⽤⾃动化⼯具
⼀、⾃动化⼯具
1、Android Debug Bridge(ADB)即安卓调试桥,是Google提供的为Android编写UI测试⽤例的⾃动化⼯具;
2、UIAutomator Google提供的为Android编写UI测试⽤例的⾃动化⼯具;
3、UIAotomator2 uiautomator2 是⼀个可以使⽤Python对Android设备进⾏UI⾃动化的库;
4、appium 跨平台的测试框架,同时⽀持iOS和Android。
⼆、详细介绍
1、安卓调试桥
ADB是⼀个C/S架构的应⽤程序,由三部分组成:
运⾏在pc端的adb client:
命令⾏程序”adb”⽤于从shell或脚本中运⾏adb命令。⾸先,“adb”程序尝试定位主机上的ADB服务器,如果不到ADB服务器,“adb”程序⾃动启动⼀个ADB服务器。接下来,当设备的adbd和pc端的adb server建⽴连接后,adb client就可以向ADB servcer发送服务请求;
运⾏在pc端的adb server:
ADB Server是运⾏在主机上的⼀个后台进程。它的作⽤在于检测USB端⼝感知设备的连接和拔除,以及模拟器实例的启动或停⽌,ADB Server还需要将adb client的请求通过usb或者tcp的⽅式发送到对应的adbd上;
运⾏在设备端的常驻进程adb demon (adbd):
程序“adbd”作为⼀个后台进程在Android设备或模拟器系统中运⾏。它的作⽤是连接ADB服务器,并且为运⾏在主机上的客户端提供⼀些服务。
2、 UiAutomator
UiAutomator是⾕歌在Android4.1版本发布时推出的⼀款⽤Java编写的UI测试框架,基于Accessibility服务。其最⼤的特点就是可以跨进程操作,可以使⽤UiAutomator框架提供的⼀些⽅便的API来对安卓应⽤进⾏⼀系列的⾃动化测试操作,如点击、滑动、键盘输⼊、长按以及常⽤的断⾔⽅法等。
要使⽤该⼯具,需要满⾜如下条件:
Android SDK Tools, Revision 21 or higher
Android SDK Platform, API 18 or higher
在Android SDK 4.3中提供了如下⼯具来⽀持UI⾃动化测试:
3、UIAotomator2
1.环境搭建便捷
2.UI控件识别有专业⼯具,可视化好
3.UI⾃动化编写采⽤python,学习成本低
4.UI⾃动化脚本运⾏稳定
缺点:
存在设备兼容性问题,如:
华为⼿机,⽆法通过IP离线执⾏UI⾃动化
三星S8⼿机webview页⾯⽆法识别元素
4、appium
appium 是⼀个⾃动化测试开源⼯具,⽀持 iOS 平台和 Android 平台上的原⽣应⽤,web应⽤和混合应⽤。
“移动原⽣应⽤”是指那些⽤iOS或者 Android SDK 写的应⽤(Application简称app)。
“移动web应⽤”是指使⽤移动浏览器访问的应⽤(appium⽀持iOS上的Safari和Android上的 Chrome)。
“混合应⽤”是指原⽣代码封装⽹页视图——原⽣代码和 web 内容交互。⽐如,像 Phonegap,可以帮助开发者使⽤⽹页技术开发应⽤,然后⽤原⽣代码封装,这些就是混合应⽤。
重要的是,appium是⼀个跨平台的⼯具:它允许测试⼈员在不同的平台(iOS,Android)使⽤同⼀套API来写⾃动化测试脚本,这样⼤⼤增加了iOS和Android测试套件间代码的复⽤性。app接口测试工具
appium与Selenium
appium类库封装了标准Selenium客户端类库,为⽤户提供所有常见的JSON格式selenium命令以及额外的移动设备控制相关的命令,如多点触控⼿势和屏幕朝向。
appium客户端类库实现了Mobile JSON Wire Protocol(⼀个标准协议的官⽅扩展草稿)和W3C WebDriver spec(⼀个传输不可预知的⾃动化协议,该协议定义了MultiAction 接⼝)的元素。
appium服务端定义了官⽅协议的扩展,为appium ⽤户提供了⽅便的接⼝来执⾏各种设备动作,例如在测试过程中安装/卸载App。这就是为什么我们需要appium特定的客户端,⽽不是通⽤的Selenium 客户端。当然,appium 客户端类库只是增加了⼀些功能,⽽实际上这些功能就是简单的扩展了Selenium 客户端,所以他们仍然可以⽤来运⾏通⽤的Selenium会话。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论