一 自动化工具简介
1 Appium : 开源,跨平台的自动化测试工具,用于测试Native(原生)和Hybrid(混合)应用,支持IOS/Android/FirefoxOS 平台。
2 环境 : 在不同平台中,Appium是基于不同框架的,Android平台中是基于Uiautomator框架的
3 理念:
- 无需重新编译应用(和instrumentation对比,无需源码就可实现测试过程);
- 不局限与语言和框架;
- 无需重复造轮子,接口统一
- 必须开源
4 特点:
跨架构:Native,Hybrid,Webview
跨设备:IOS,Android,FirefoxOS
跨语言:Java , Python, Ruby , PHP, JavaScript
跨进程:不依赖源码(基于Uiautomator)
5 架构:
Bootstrap.jar ——为了UiAutomator能控制app ,将其提供的各个Api进行封装 , 封装好的这个驱动程序就是Bootstrap.jar文件 ,该文件由Uiautomator Controller 推送到安卓手机当中的,本来手机当中没有,运行驱动的同时要启动一个Server
UiAutomator Command server ——该server的启动过程依赖于Bootstrap.jar, 用于接受各种command
UiAutomator Controller(Android)——负责将Appium自带的Bootstrap.jar,通过adb命令,推送到手机端,再通过一条指令,将其启动,然后Bootstrap.jar会监听一个端口
UiAutomator Command client——负责发出各种自动化指令到UiAutomator Command server ,这里的指令来自WebDriver script
二 环境的准备
- appium
- test device
- test app
- appium-python-client , Selenium(依赖库)
三 元素识别工具
UIAutomatorviewer : 应用及启动 ,略~
四 脚本设计原则
LOVE原则:L——Locate : 定位元素 ; O——Operate : 操作元素 ; V——Verify : 验证结果 ; E——Exception : 处理异常
五 脚本实现