Appium 自动化测试(7) -- Appium 服务器初始化参数设置

Desired Capabilities

Desired capabilities 是一些发送给 Appium 服务器的键值对集合 (比如 map 或 hash),告诉服务器我们想要启动什么类型的自动化会话。也有各种可以在自动化运行时修改服务器行为的 capabilities。例如,我们可以把 platformName capability 设置为 iOS,告诉 Appium 我们想要 iOS 会话,而不是 Android 或者 Windows 会话。我们也可以设置 safariAllowPopups capability 为 true ,确保我们在 Safari 自动化会话中可以使用 javascript 打开新窗口。

设置方法如:

class YY(unittest.TestCase):
def setUp(self):
desired_caps = {
'platformName': 'Android',
'deviceName': '611AKBPP22HR5', # adb devices查到的设备名
'platformVersion': '4.4.2',
'appPackage': 'com.duowan.mobile', # 被测App的包名
'appActivity': 'com.yy.mobile.ui.splash.SplashActivity',# 启动时的Activity
# 'app':PATH('E:\yymobile_client-7.7.1.apk')
}
self.driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)

常用参数如:

platformName:使用的手机操作系统,iOSAndroid, 或者 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

例子:解决send_keys() 发送中文时,无法输入的问题:

设置 unicodeKeyboard=True,resetKeyboard=True

更多参数,请详细阅读官方说明 http://appium.io/docs/cn/writing-running-appium/caps/index.html

Appium 自动化测试(7)  -- Appium 服务器初始化参数设置

***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***

上一篇:Linux查看程序端口占用情况


下一篇:有关Rander生成随机数的问题