背景
Appium是app端手机自动化的测试工具,它依赖于以下组件:
Node.js(服务端运行环境)
Appium(服务端)
Appium-doctor(检测appium的环境安装结果的)
uiautomator2(uiautomator已经很久没有再维护了,所以建议使用该版本)
Python(测试用例开发环境)
- Appium-Python-Client(客户端)
JDK(与测试机交互环境依赖)
- Andriod SDK(与测试环境交互)
Chromedriver&Chrome(用于Webview元素的测试)
Appium-desktop(新手前期使用的appium服务配置)
环境搭建
nodejs搭建
详见本书中[Gitbook环境搭建]
Appium安装
依次执行如下命令:
1
npm install -g appium
执行完毕后检查环境
1
appium
appium-doctor安装
依次执行如下命令
1
npm install -g appium-doctor
执行完毕后检查环境
1
appium-doctor
uiautomator2安装
依次执行如下命令
1
npm install appium-uiautomator2-driver
Appium-Python-Client安装
依次执行如下命令(前提是已经安装好了python环境)
1
pip install Appium-Python-Client
执行完成后检查环境
1
2python
from appium import webdriverJDK安装
安装及配置:https://blog.csdn.net/weixin_40928253/article/details/83590136
备注:java11及以上的环境变量配置更加简单,配置时可详见百度;但就uiautomatorview(我们需要它抓取页app元素)目前而言,它只支持java8
Android-SDK安装
Android SDK包下载
安装及配置教程
Chrome&ChromeDriver
Chrome
测试手机端、电脑端均需安装版本相近的Chrome版本
Chromedriver
下载Chrome对应版本的Chromedriver版本,并配置进环境变量
安装完成后进入以下模式调试
手机与电脑连接,开启USB调试模式,通过adb devices可查看到此设备。(设备系统Android 5.0以上)
电脑端、移动端必须安装chrome浏览器。(尽量保证移动端chrome版本与PC端一致)根据对应的Chrome浏览器版本安装对应的Chrome driver。
检测App Webview是否开启,打开app对应的h5页面,在 chrome://inspect/#devices 地址中,检查是否显示对应的webview,如没有,则当前未开启调试模式。在自动化脚本中,进入到对应的H5页面,打印输出当前context,如果一直显示为Natvie App,则webview未开启。
App Webview开启debug模式,在app中配置如下代码(在WebView类中调用静态方法setWebContentsDebuggingEnabled):
1
2if (Build.VERSION.SDK_INT >=Build.VERSION_CODES.KITKAT) {
WebView.setWebContentsDebuggingEnabled(true);在电脑端Chrome浏览器地址栏输入chrome://inspect/#devices,进入调试模式,查看页面是否有webview开头的信息,有就可以