1、测试环境(用Windows也可以哈)
MacBook Air | Python 3.6.2 | Appium 1.13.0 |
NOX 模拟器 Android 4.4.2 | 测试APP:豌豆荚 5.71.21 |
2、测试场景:
自动安装 豌豆荚app(wandoujia.apk)再启动App,点击 '跳过' 进入主界面
3、测试的步骤:
- 获取要测试App的packageName 和appActivity
- 配置Capability
- 连接设备
- 书写测试脚本
- 运行并查看结果
4、书写完测试脚本后,要检查的内容
- 查看设备是否已经连接
- 查看Appium Server是否已经启动
- 查看Capability配置内容是否正确
5、书写测试脚本
wdj_test.py
from appium import webdriver
xg_caps = {}
xg_caps['platformName'] = 'Android'
xg_caps['deviceName'] = '127.0.0.1:62001'
xg_caps['platformVersion'] = '4.4.2'
xg_caps['app'] = '/app包存放的路径/wandoujia.apk'
xg_caps['appPackage'] = 'com.wandoujia.phoenix2'
xg_caps['appActivity'] = 'com.pp.assistant.activity.PPMainActivity'
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', xg_caps)
driver.implicitly_wait(5)
jump = driver.find_element_by_id('com.wandoujia.phoenix2:id/aio')
jump.click()
Tip:如果是用真机的话,需要添加:xg_caps['udid'] = '真机的UDID',设备的名字和设备的版本号都要换成真机的
6、执行测试脚本
在 Terminal 中输入如下内容:
bogon:~ Sirius$ python3 /测试脚本存放路径/wdj_test.py
执行效果:
7、执行测试脚本遇到的问题
7.1 由于目标计算机拒绝连接
urllib.error.URLError: <urlopen error [Errno 61] Connection refused>
解决方法:启动 Appium ,直到看到 welcome to Appium v1.13.0 即可
7.2 会话冲突
error: Failed to start an Appium session, err was: Error: Requested a new session but one was in progress
错误分析:在执行测试实例事,由于之前的会话没有关闭,也没有设置覆盖而导致的这种错误,
解决方法:停止 Appium 服务,然后在重启,在启动界面选中 “Advanced” 选项卡—> 选中复选框 “Allow Session Override” 即可
7.3 设备未连接
selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing
the command. Original error: Could not find a connected Android device.
解决方法:重新连接设备即可
7.4 系统的权限问题
Failure [INSTALL_FAILED_USER_RESTRICTED])
解决方法:USB的安装管理权限限制,关闭即可。或者是开启允许安装位置来源的app。