Appium 的除了基础的 Capability 设置,还提供了许多辅助配置项,用于优化自动化测试。这些配置项旨在执行基础配置之外的附加操作。例如:指定设备别名、设备 ID 或是设置超时时间等,虽然这些不是必需的选项,但是为了实现更高效的测试,通常也建议依据测试的情况适当的添加。
xcuitest driver 的 capabilities 官方文档介绍(UAutomator 可做参考)。
deviceName 只是作为设备的别名,并不能唯一的确定一个设备。
python 示例
caps["appium:deviceName"] = "emulator-5554"
使用设备的 UDID 可以确保在同时连接多个设备时,准确地选择指定的设备进行自动化测试。不设置 UDID 则默认读取设备列表的第一个设备,当只连接一个设备,可以不设置。
获取设备列表,使用 adb devices 命令:
如图所示,下图连接的设备的唯一标识就是127.0.0.1:7555
可以通过 capabilities 中的"udid"字段来指定设备的UDID。
python 示例
## 并不能唯一确定一个设备
caps["appium:deviceName"] = "emulator-5554"
## 可以唯一确定一个设备
caps["udid"] = "hogwarts001"
appium 可以设置程序应等待来自客户端的新命令的超时时间,超时后 session 会被删除。具有 60s 的默认等待时间。将时间改为 0 时,表示禁用该设置。
在 capabilities 中的"newCommandTimeout"字段来指定等待时长,单位为秒。
python 示例
## 可以根据测试所需步骤适当延长时长。
caps["appium:newCommandTimeout"] = 3600
PRINT_PAGE_SOURCE_ON_FIND_FAILURE
在 capabilities 中 noReset 如果为真,指示应用程序驱动程序在会话启动和清理期间避免其通常的重置逻辑(默认为假)。
然而,在 Android 和 iOS 平台上,noReset 被处理的方式有一些不同。
总结起来,noReset 在 Android 平台上可以实现每次启动应用程序时保留上一次的状态,但在 iOS 平台上,无论设置为 true 还是 false ,应用程序的状态通常会重置。在 iOS 平台上保留应用程序状态需要使用其他方法。
指定应用程序是否应在会话结束时终止。默认值为 true,除非 noReset 功能设置为 true
指定如果应用程序已经在会话启动时运行,是否应该强制重新启动。默认值为 true ,除非 noReset 设置为 true。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。