APP自动化测试-10.Appium中Desired Capabilities常用参数
·
APP自动化测试-10.Appium中Desired Capabilities常用参数
前言
Desired Capabilities是由键值对组成的json对象,当创建自动化的session时,appium客户端将字典发送给服务器,appium服务端根据发送的信息,创建自动化测试使用driver,Desired Capabilities是移动端driver创建必须的参数,可以在脚本中直接创建字典来使用,也可以用appium inspector中直接配置,这个章节记录下Desired Capabilities比较常用的配置项。
提示:以下是本篇文章正文内容,下面案例可供参考
一、通用参数
- platformName:使用的手机的操作系统,如:anroid、ios
"platformName": "android"
- platformVersion:手机操作系统的版本,如:7.0,9.0
"platformVersion": "7.0"
- deviceName:驱动名称
"deviceName": "testdevice"
- app:定义.apk或者.ipa地址(绝对地址或网络地址),在指定的设备上安装指定的app
"app": "https://www.test.com/test.apk"
- browserName:定义driver启动的浏览器类型,默认的使用Browser,通常用于配置纯web应用
# 浏览器为默认
"browserName": "Browser"
# 浏览器为chrome
"browserName": "chrome"
- newCommandTimeout:Appium等待客户端发送一条置顶所需时间,如果有上传或下载安装操作,建议配置,默认60s
"newCommandTimeout": 300
- udid:连接真机的唯一设备号,如:wndakjw1231ee,为adb devices查询出来的名称
"udid": "wndakjw1231ee"
- noReset:在当前 session 下不会重置应用的状态。默认值为 false
# noReset设置为true,脚本重复运行时则会保持app的状态,比如登录信息
"noReset": True
- fullReset:(iOS)删除所有的模拟器文件夹。(Android) 要清除 app 里的数据,请将应用卸载才能达到重置应用的效果。在 Android, 在 session 完成之后也会将应用卸载掉。默认值为 false true, false
"fullReset": True
- dontStopAppOnReset:在使用 adb 启动应用之前,不要终止被测应用的进程。如果被测应用是被其他钩子(anchor)应用所创建的,设置该参数为 false 后,就允许钩子(anchor)应用的进程在使用 adb 启动被测应用期间仍然存在。换而言之,设置 dontStopAppOnReset 为 true 后,我们在 adb shell am start 的调用中不需要包含 -S标识(flag)。忽略该 capability 或 设置为 false 的话,就需要包含 -S 标识(flag)。默认值为 false
# 默认参数为false,启动应用时添加了- S参数,会先kill掉应用,再去启动应用
# 修改参数为True,启动应用时没有- S参数,不会kill掉应用,直接进入应用
"dontStopAppOnReset": True
二、Android常用参数
- appActivity:Activity 的名字是指从你的包中所要启动的 Android acticity,通常为首页activity名称,和appPackage配合使用
"appPackage": "io.appium.android.apis",
"appActivity": ".ApiDemos"
- appPackage:需要运行的 Android 应用的包名,如:com.test.test
"appPackage": "io.appium.android.apis"
- autoGrantPermissions:让Appium自动确定您的应用需要哪些权限,并在安装时将其授予应用。默认设置为 false true或false
"autoGrantPermissions": True
- chromedriverExecutable:webdriver 可执行文件的绝对路径,纯web或混合应用测试时,用来指定driver的路径
"chromedriverExecutable": "/Users/test/tools/chromedriver"
- avd:用来指定启动的模拟器名称(emulator模拟器)
"avd": "Pixel_5_API_30"
- chromedriverExecutableDir:指定webdriver存放的目录,该目录下可以有多个driver,通常配合mapping一起使用
"chromedriverExecutableDir": "/Users/test/tools/chromedriverdir",
"chromedriverChromeMappingFile": "/Users/test/PycharmProjects/test_appium/testcase/mapping.json",
- chromedriverChromeMappingFile:指定浏览器版本和driver版本对应版本文件的绝对路径,和chromedriverExecutableDir配合使用
"chromedriverExecutableDir": "/Users/test/tools/chromedriverdir",
"chromedriverChromeMappingFile": "/Users/test/PycharmProjects/test_appium/testcase/mapping.json",
- skipDeviceInitialization:跳过设备初始化,包括:安装运行设置app或设置权限。当被测应用已经配置好权限,可以直接用于测试时可以配置为True,默认为False
"skipDeviceInitialization": True
三、iOS常用参数
-
bundleId: 被测应用的 bundle ID 。用于在真实设备中启动测试,也用于使用其他需要 bundle ID 的关键字启动测试。在使用 bundle ID 在真实设备上执行测试时,你可以不提供 app 关键字,但你必须提供 udid 。例如:io.appium.TestApp
-
udid:连接的真实设备的唯一设备编号 (Unique device identifier)
-
autoAcceptAlerts:隐私访问权限的警告(例如 定位,联系人,照片)。默认值为 false。不支持基于 XCUITest 的测试。
-
autoDismissAlerts: 当警告弹出的时候,都会自动去点取消。包括隐私访问权限的警告(例如 定位,联系人,照片)。默认值为 false。不支持基于 XCUITest 的测试。
-
appName: 被测应用的名字。 用于支持 iOS 9 以上系统的应用的自动化。
总结
参数比较多,需要多加熟悉。
更多推荐
所有评论(0)