测试用例的重要局部

  • 导入依赖
from appium import webdriver
  • capabilities 设置
  • 初始化 driver webdriver.remote 
  • 隐式期待,加强用例的稳定性
  • 元素定位与操作
  • 断言

capabilities 设置

官网文档阐明

罕用参数

形容
noReset在以后 session 下不会重置利用的状态。默认值为 falsetrue, false
fullReset(iOS)删除所有的模拟器文件夹。(Android) 要革除 app 里的数据,请将利用卸载能力达到重置利用的成果。在 Android, 在 session 实现之后也会将利用卸载掉。默认值为 falsetruefalse
dontStopAppOnReset在应用 adb 启动利用之前,不要终止被测利用的过程。如果被测利用是被其余钩子(anchor)利用所创立的,设置该参数为 false 后,就容许钩子(anchor)利用的过程在应用 adb 启动被测利用期间依然存在。换而言之,设置 dontStopAppOnResettrue后,咱们在 adb shell am start的调用中不须要蕴含 -S标识(flag)。疏忽该 capability 或 设置为 false的话,就须要蕴含 -S标识(flag)。默认值为 falsetruefalse
skipDeviceInitialization跳过装置、权限设置等操作;能晋升调试、运行的效率。默认值为 falsetruefalse
avd被启动 avd 的名字例如 api19
newCommandTimeout用于客户端在退出或者完结 session 之前,Appium 期待客户端发送一条新命令所破费的工夫(秒为单位)例如 60
udid连贯的实在设施的惟一设施编号 (Unique device identifier)例如 1ae203187fc012g
autoGrantPermissions让Appium主动确定您的利用须要哪些权限,并在装置时将其授予利用。默认设置为 falsetruefalse
# capabilities 设置 democaps = 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