安卓自动化测试环境配置:
一、Applium安装
1.安装nodj.js
2.安装applium
Appium:
1.完全使用webDriver作为通信协议,大部分API与selenium一样。
2.体系架构与selenium非常类型
安装无界面版Appium Server
由于Appium本身是基于Node.js开发的一个WebDriver服务器端应用程序。所以除了使用自带界面的
Appium Desktop Server外,我们还可以使用Node.js的npm程序直接安装Appium的原生Server,并通过
命令行来启动服务器或者配置需要的参数,操作步骤如下:
1)在Node.js官网”https://nodejs.org.en“下载最新版本的Node.js并完成安装
2)在操作系统环境变量中将Node.js的安装目录配置到Path变量中,便于方便执行关系命令
3)打开命令行程序,运行命令“Node -v”和“npm -v”,确认安装是否成功
4)使用命令“npm install -g appium”在线安装Appium。但是由于安装过程会连接Google的国外站点,所以很有可能无法成功安装
5)使用国内镜像安装,运行如下命令:npm --registry http://registry.cnpmjs.org install -g appium
即可从国内镜像站点安装Appium
6)也可以使用镜像npm install -g appium --registry https://registry.npm.taobao.org进行安装
7)默认情况下,npm会在命令行的当前目录下安装新的模块,如果需要知道安装路径,我们可以使用命令
npm config set prefix "D:Folder
ode_modules"指定安装路径
8)运行命令 npm --registry http://registry.cnpmjs.org install -g appium-doctor 或者
npm install -g appium-doctor --registry https://registry.npm.taobao.org 安装Appium Doctor检查程序
9)为安装模块的目录,如“C:UsersAdministratorAppDataRoaming
pm”设置到Path环境变量中,便于直接在命令行运行
Appium或Appium Doctor程序
10)在Appium安装完成后,可以通过命令Appium -v 和Appium-doctor来确认是否安装成功
11)如果通过运行Appium Doctor程序检查成功后,我们就可以启动Appium Server,默认的启动命令为Appium,如果需要停止服务器,只需要按Ctrl+C即可
12)uiautomatorviewer.bat工具的使用:使用增加版uiautomatorviewer.jar 替换原生的uiautomatorviewer.jar,目录地址:android-sdk-windows oolslib
13)最新版本的Appium不支持driver_find_element_by_name('text'):根据元素的text属性进行识别,可以通过修改源代码解决该问题,修改文件C:Program Files (x86)Appium
esourcesapp
ode_modulesappium
ode_modulesappium-android-driveruildlibdriver.js,找到this.locatorStrategies = ['xpath', 'id', 'class name', 'accessibility id', '-android uiautomator'],改为this.locatorStrategies = ['xpath', 'id', 'class name', 'accessibility id', '-android uiautomator','name'];
14)Appium参数:
#第一件事情:配置Appium兼容性参数-> Android/ios ,Android有不同版本等
desired_caps = {} #定义webdriver的兼容性设置字段对象用于设置核心参数
desired_caps["platformName"] = 'Android' # 指定测试Android平台
desired_caps['platformVersion'] = '5.1.1' # 指定移动设备版本号
desired_caps['deviceName'] = 'Appium' # 指定设备名称
desired_caps['unicodeKeyboard'] = 'true' #支持输入中文
desired_caps['app']= '路径' # 应用安装过可以不用改参数
desired_caps['appPackage'] = 'com.miui.calculator' # 指定要启动的包
desired_caps['appActivity'] = '.cal.CalculatorActivity' # 指定启动的主类程序
desired_caps['udid'] = '127.0.0.1:62001' # 指定设备编号(adb devices 输出结果)
自动化测试调用 客户端库
1.苹果:UIAutomation /XCTest
2.安卓:UIAutomation
Uiautomator2:
针对App移动端的测试开发,除了使用Appium之外,基于Python语言上还有第二个选择,那就是UIAutomator2这套测试框架。
UIAutomator2是一个可以使用Python对Android设备进行UI自动化的库,其底层基于Google Uiautomator测试库2.0版本,该库可以获取屏幕上任意一个App的任意一个控件属性,并对其进行任意操作,但是是基于Java语言编写的。所以UIAutomator2测试框架可以很好第帮助我们利用Python语言编写类似于Appium的自动化测试脚本。
1)安装UIAutomator2
pip install --pre uiautomator2 #uiautomator2核心库
pip install pillow #Python的图像处理库
2)初始化移动端
确保电脑端已经成功连接到一台移动设备,可以通过adb devices命令成功查看到该设备列表为准。执行如下命令可以在移动端安装uiautomator-server、atx-agent等应用程序,便于移动端与Python代码进行通信以执行自动化测试脚本。
Python -m uiautomator2 init
Python开发Appium使用的库:
1)Appium-Python-Client
2)selenium
确保安装匹配版本的selenium和appium
pip install Appium-Python-Client
pip install selenium -U
3.安装Android SDK
配置AndroidSDK:https://www.cnblogs.com/wsy0202/p/11226253.html
1)ANDROID_HOME=D:android-sdk-windows
2)path:%ANDROID_HOME%platform-tools;%ANDROID_HOME% ools;%ANDROID_HOME%uild-tools23.0.1
3)利用SDKManager管理SDK版本
模拟器:夜神
1.设置模拟器的刷新频率,分辨率,CPU,内存使用等
2.复制模拟器下的adb.exe,替换SDK目录下对应的adb.exe
3.ADB命令
ADB全程即Android Debug Bridge,也就是一个电脑和Android之间的桥梁,主要用于
Android设备的调试等。ADB为我们提供了丰富的命令选项,几乎可以使用命令完成绝大多数的调试功能,现将最常用的命令列举如下:
1)adb device:显示当前运行的全部Android设备
2)adb -s 设备号 指定命令:对某一设备执行命令
3)adb install -r 应用程序.apk :安装应用程序
4)adb uninstall apk主包名:卸载应用程序
5)adb pull <remote> <local>:获取模拟器中的文件
6)adb push <local> <remote>:向模拟器中写文件
7)adb shell:进去模拟器的shell模式,可之间运行Linux命令
8)adb shell am start -n 主包名/包名+类名:启动应用程序
9)adb forward tcp:5555 tcp:8000:设置任意端口号,作为主机向模拟器或设备的请求端口
10)adb shell monkey 参数:在Android设备上执行monkey调试