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有衔接时会用到。

 

posted @ 2021-12-11 20:32  于慧妃  阅读(235)  评论(0编辑  收藏  举报