capability 使用进阶
官方文档:http://appium.io/docs/en/writing-running-appium/caps/index.html
newCommandTimeout
1. 上一次请求和下一次请求时间间隔,默认60s,设置时的单位是:秒。
2. 场景,例如:上传apk,上传大文件,弱网测试……等。
3. example:
“newCoomandTimeout”:300
udid
1. 满足appium支持多设备同时运行的一个参数。
2. 当有多个设备时,如果不设置udid,则默认读取设备列表中的第一个设备。要想指定某个设备,可以使用udid。
3. 使用时先获取设备的唯一标识,然后在代码中添加参数设置项,example:
- 对于windows查看已连接设备即可
- 对于ios需要去xcode中查找,这里没有ios设备,没有截图。
- 参数设置如下:
"udid": "127.0.0.1:7555",
autoGrantPermissions
1. 功能:自动授予权限。
2. 场景:打开时会弹出一些授权的弹框,该参数设置为True,则可以帮我们自动确认。
3. 特别注意:noReset设置为True时,autoGrantPermissions这一项即时设置为了True也无效。
ex:
"autoGrantPermissions": True
noReset、fullReset
1. 默认测试后停止并清理数据,但是不会卸载apk。
2. noReset设置为True后:测试完成不会停止app,也不会清理数据,不会卸载apk。
3. fullReset设置为True后:
- Android:测试完成则停止app、清理数据,且测试前(session开始前)和测试完成后都会卸载apk。
- iOS:跟Android差不多,但是有个额外条件:resetOnSessionStartOnly: true
4. 详情可参见官网:http://appium.io/docs/en/writing-running-appium/other/reset-strategies/index.html
dontStopAppOnReset
1. 默认为False,启动前会通过 adb shell am start 命令启动app,会带-S参数,则测试前会先关闭activity所属app进程后再启动activity。
实际表现为:运行前已经打开要测试的app了,会先关闭app再重新打开。
2. 设置为True后,命令就不会再带-S参数,如果测试前已经打开app,会继续操作。
3. example:
"dontStopAppOnReset": True,
4. 场景:上一个case与下个case有衔接时会用到。
本文来自博客园,作者:于慧妃,转载请注明原文链接:https://www.cnblogs.com/fengyudeleishui/p/15676846.html