Appium
服务端会提供的一系列能力集合,Appium
客户端通过构造键值对集合并发送给Appium
服务端,以此来告诉服务器需要提供什么样的能力(例如建立与何种设备的通信,是Android
还是ios
设备、建链的超时时间等),也可以在运行过程中对服务端的行为进行修改。
Appium
提供的能力跟Driver
相关,不同的Driver
对应不同的测试对象,提供的能力以及所需要传入的参数都不一样,本文描述的是UiAutomator2 Driver
提供的能力集合,它提供对Android
设备的自动化测试支持。按照官方文档的定义,分为通用能力、Driver/Server
能力等方面,本文介绍UiAutomator2
提供的模拟器和真实设备相关的能力集。
模拟器(AVD
,安卓虚拟设备)能力
能力名称 | 具体描述 |
---|---|
appium:avd |
可选,运行测试的安卓模拟器设备名称。可以通过avdmanager list avd 命令列出当前已经创建的模拟器。如果给定名称的模拟器没有运行,测试启动后,建立会话链接的过程中会自动启动。 |
appium:avdLaunchTimeout |
可选,等待模拟器启动的超时时间,单位是毫秒,默认是60000 。 |
appium:avdReadyTimeout |
可选,等待模拟器完全启动且可用的超时时间,单位是毫秒,默认值是60000 。 |
appium:avdArgs |
可选,从命令行启动模拟器,指定相关的参数,可以参考https://developer.android.com/studio/run/emulator-commandline,如果包含-wipe-data ,那么会话启动阶段,会终止模拟器并且重启模拟器以便擦除数据。 |
appium:avdEnv |
可选,映射到模拟器的环境变量,例如ANDROID_HOME 环境变量,具体可以参考https://developer.android.com/studio/command-line/variables。 |
appium:networkSpeed |
可选,设置针对模拟器的网络速度限制,仅当模拟器在测试运行时未启动的情况下使用,具体可以参考https://developer.android.com/studio/run/emulator-commandline。 |
appium:gpsEnabled |
可选,设置模拟器的GPS 服务是否打开,true 表示打开,false 表示关闭。默认无设置值,意味着不会改变当前的情况。 |
appium:isHeadless |
可选,如果设置为true ,模拟器使用headless 模式启动(例如,不显示UI 界面),仅当模拟器在测试运行时未启动的情况下使用。默认值是false 。 |
设备锁相关能力
能力名称 | 具体描述 |
---|---|
appium:skipUnlock |
可选,表示是否跳过锁屏的检查(设置为true 的时候跳过)。在启动测试前,驱动默认会验证锁屏是否存在,并解锁(该过程可能并不稳定),该操作可能会消耗一些时间,因此强烈推荐将该值设置为true ,并在测试期间将锁屏设置为禁止。 |
appium:unlockType |
可选,设置可能的Android 锁屏类型用于解锁,具体参考https://github.com/appium/appium-android-driver/blob/master/docs/UNLOCK.md。 |
appium:unlockKey |
可选,允许设置解锁密钥,具体参考https://github.com/appium/appium-android-driver/blob/master/docs/UNLOCK.md。 |
appium:unlockStrategy |
可选,值为locksettings (默认设置)或uiautomator 。将其设置为uiautomator 将强制驱动避免使用特殊的ADB 快捷方式来加快解锁过程。 |
appium:unlockSuccessTimeout |
可选,等待设备解锁的超时时间,单位是毫秒,默认值是2000 。 |
网友评论