Appium在Android手机执行测试脚本
由于Android的模拟器不是很好用,我建议直接从手机开始执行测试脚本。准备工作如下:
一台Android手机,我的机器是Android6.0版本。
开启设备的usb调试,可以开启开发者选项,再确认是否打开,记得一定要在手机端授权电脑的连接,
如果没看到这个提示,建议重新插拔手机再试一下。
通过adb查找设备的uid,命令是adb devices,那一串数字就是设备的uid,最好只连一个设备。
运行测试用例失败
有几种可能导致运行测试用例失败:
Appium环境错误,可以通过运行node appium-doctor.js来检查环境。
Appium上一个测试进程还没有退出,重启服务就可以解决。
adb无法正常连接,可能是第三方手机助手占用了adb的端口。
脚本中有关主机地址的信息错误,需要根据自己在Appium中设置的主机地址来修改。
脚本中有关应用的包名和Activity名错误,获取正确包名和Activity名的方法有两种:
1 通过aapt dump badging查看apk文件。
2 通过adb shell “dumpsys window | grep mCurrentFocus”查看手机上当前正在显示的应用相关信息。
启动Appium服务
可以通过命令行启动,也可以通过应用图标启动,通过命令行可以将测试过程集成到自动编译环境中
去,具体命令如下:
node appium.js --session-override
1
如果只是为了调试,可以直接通过应用图标启动。
启动Appium服务的GUI界面后,点击第一个图标,需要设置一些信息,找到capability,输入手机设
备相关的信息;找到advanced,输入android SDK的路径。
准备测试脚本
准备一个文本文件test,输入下面的内容:
#coding=utf-8
from appium import webdriver
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '6.0'
desired_caps['deviceName'] = 'NB45071511001'
desired_caps['appPackage'] = 'com.android.calculator2'
desired_caps['appActivity'] = '.Calculator'
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
driver.find_element_by_name("1").click()
driver.find_element_by_name("5").click()
driver.find_element_by_name("9").click()
driver.find_element_by_name("9").click()
driver.find_element_by_name("5").click()
driver.find_element_by_name("+").click()
driver.find_element_by_name("6").click()
driver.find_element_by_name("=").click()
driver.quit()将文件后缀改为py。这个文件“test.py”就是后续将在手机测运行的测试脚本。
执行测试脚本
在test.py文件路径下打开命令后,执行python test.py,可以看到手机端会自动启动计算器,点击数
字执行一系列操作。
:handshake
页:
[1]