恭喜发财dife 发表于 2018-2-24 10:01:26

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,可以看到手机端会自动启动计算器,点击数
字执行一系列操作。


梦想家 发表于 2018-2-28 16:01:54

:handshake
页: [1]
查看完整版本: Appium在Android手机执行测试脚本