03-02 capabilities 设置

测试用例的重要部分

  • 导入依赖
from appium import webdriver

  • capabilities 设置
  • 初始化 driver webdriver.remote
  • 隐式等待,增强用例的稳定性
  • 元素定位与操作
  • 断言
capabilities 设置
官方文档说明
【03-02 capabilities 设置】常用参数
描述
noReset 在当前 session 下不会重置应用的状态。默认值为 false true, false
fullReset (iOS)删除所有的模拟器文件夹。(Android) 要清除 app 里的数据,请将应用卸载才能达到重置应用的效果。在 Android, 在 session 完成之后也会将应用卸载掉。默认值为 false true, false
dontStopAppOnReset 在使用 adb 启动应用之前,不要终止被测应用的进程。如果被测应用是被其他钩子(anchor)应用所创建的,设置该参数为 false 后,就允许钩子(anchor)应用的进程在使用 adb 启动被测应用期间仍然存在。换而言之,设置 dontStopAppOnResettrue后,我们在 adb shell am start的调用中不需要包含 -S标识(flag)。忽略该 capability 或 设置为 false的话,就需要包含 -S标识(flag)。默认值为 false truefalse
skipDeviceInitialization 跳过安装、权限设置等操作;能提升调试、运行的效率。默认值为 false truefalse
avd 被启动 avd 的名字 例如 api19
newCommandTimeout 用于客户端在退出或者结束 session 之前,Appium 等待客户端发送一条新命令所花费的时间(秒为单位) 例如 60
udid 连接的真实设备的唯一设备编号 (Unique device identifier) 例如 1ae203187fc012g
autoGrantPermissions 让Appium自动确定您的应用需要哪些权限,并在安装时将其授予应用。默认设置为 false truefalse
# 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

    推荐阅读