Desired Capabilities
Desired capabilities 是一些发送给 Appium 服务器的键值对集合 (比如 map 或 hash),告诉服务器我们想要启动什么类型的自动化会话。也有各种可以在自动化运行时修改服务器行为的 capabilities。例如,我们可以把 platformName capability 设置为 iOS,告诉 Appium 我们想要 iOS 会话,而不是 Android 或者 Windows 会话。
设置方法如:
desire_cap = {
"deviceName": " ",
"appPackage": "com.xueqiu.android",
"appActivity": "com.xueqiu.android.view.WelcomeActivityAlias",
"platformName": "Android",
"skipServerInstallation": True,
"noReset": True,
"dontStopAppOnReset": True,
"skipDeviceInitialization": True,
"unicodeKeyboard": True,
"resetKeyboard": True
# 启动时的Activity
# 'app':PATH('D:\mobile_client.apk')
}
}
self.driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desire_cap)
self.driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
常用参数:
platformName:使用的手机操作系统,iOS, Android, 或者 FirefoxOS
deviceName:使用的手机或模拟器类型
app:本地绝对路径_或_远程 http URL 所指向的一个安装包,Appium 将其安装到合适的设备上。请注意,如果您指定了 appPackage 和 appActivity 参数,Android 则不需要此参数了
appPackage:运行的 Android 应用的包名
appActivity:Activity 的名字是指从你的包中所要启动的 Android acticity
appWaitActivity:用于等待启动的 Android Activity 名称
androidInstallTimeout:用于等待在设备中安装 apk 所花费的时间(以毫秒为单位)。默认值为 90000
unicodeKeyboard:使用 Unicode 输入法。 默认值为 false
resetKeyboard:在设定了 unicodeKeyboard 关键字的 Unicode 测试结束后,重置输入法到原有状态。如果单独使用,将会被忽略。默认值为 false
chromeOptions:允许对 ChromeDriver 传 chromeOptions 的参数。了解更多信息请查阅 chromeOptions
nativeWebScreenshot:在 web 的上下文(context),使用原生(native)的方法去截图,而不是用过代理的 ChromeDriver。默认值为 false
androidScreenshotPath:在设备中截图被保存的目录名。默认值为 /data/local/tmp
autoGrantPermissions:让Appium自动确定您的应用需要哪些权限,并在安装时将其授予应用。默认设置为 false
noReset:在当前 session 下不会重置应用的状态。默认值为 false,设置为true后,不需要每次运行用例都安装apk
eg:解决send_keys() 发送中文时,无法输入的问题:
设置 unicodeKeyboard=True,resetKeyboard=True