作者:可爱的天使keven_464 | 来源:互联网 | 2024-10-16 11:24
测试用例的重要局部导入依赖{代码}capabilities设置初始化driverwebdriver.remote 隐式期待,加强用例的稳定性元素定位与操作断言capabilities设置官网文档阐明罕用参数键形容值noReset在以后session下不会重置利用的状态。默认值为falsetrue,falsefullReset(iOS)删除所有的模拟器文件夹。(Android)要革除
测试用例的重要局部
from appium import webdriver
- capabilities 设置
- 初始化 driver
webdriver.remote
- 隐式期待,加强用例的稳定性
- 元素定位与操作
- 断言
capabilities 设置
官网文档阐明
罕用参数
键 |
形容 |
值 |
noReset |
在以后 session 下不会重置利用的状态。默认值为 false |
true , false |
fullReset |
(iOS)删除所有的模拟器文件夹。(Android) 要革除 app 里的数据,请将利用卸载能力达到重置利用的成果。在 Android, 在 session 实现之后也会将利用卸载掉。默认值为 false |
true , false |
dontStopAppOnReset |
在应用 adb 启动利用之前,不要终止被测利用的过程。如果被测利用是被其余钩子(anchor)利用所创立的,设置该参数为 false 后,就容许钩子(anchor)利用的过程在应用 adb 启动被测利用期间依然存在。换而言之,设置 dontStopAppOnReset 为 true 后,咱们在 adb shell am start 的调用中不须要蕴含 -S 标识(flag)。疏忽该 capability 或 设置为 false 的话,就须要蕴含 -S 标识(flag)。默认值为 false |
true 或false |
skipDeviceInitialization |
跳过装置、权限设置等操作;能晋升调试、运行的效率。默认值为 false |
true 或false |
avd |
被启动 avd 的名字 |
例如 api19 |
newCommandTimeout |
用于客户端在退出或者完结 session 之前,Appium 期待客户端发送一条新命令所破费的工夫(秒为单位) |
例如 60 |
udid |
连贯的实在设施的惟一设施编号 (Unique device identifier) |
例如 1ae203187fc012g |
autoGrantPermissions |
让Appium主动确定您的利用须要哪些权限,并在装置时将其授予利用。默认设置为 false |
true 或false |
# capabilities 设置 demo
caps = dict()
caps["platformName"] = "Android"
caps["deviceName"] = "emulator-5554"
caps["appPackage"] = "com.xueqiu.android"
caps["appActivity"] = ".view.WelcomeActivityAlias"
caps["noReset"] = "true"
self.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
self.driver.implicitly_wait(5)
# 设置页面期待闲暇状态的工夫,防止动静页面刷新影响元素定位
caps["settings[waitForIdleTimeout]"] = 0