• appium Capabilities的各个标签


    最常用的

    'platformName': 'Android', # 被测手机是安卓
    'platformVersion': '8', # 手机安卓版本
    'deviceName': '123', # 设备名,安卓手机可以随意填写
    'appPackage': 'com.xueqiu.android', # 启动APP Package名称
    'appActivity': '.common.splash.SplashActivity', # 启动Activity名称
    'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True
    'resetKeyboard': True, # 执行完程序恢复原来输入法
    'noReset': True, # 不要重置App,不想清理缓存和登录记录
    'newCommandTimeout': 6000,
    'automationName' : 'UiAutomator2',
    "autoGrantPermissions" :True #自动授权

     

     

    General Capabilities

    标签 概述
    automationName 使用引擎 默认为Appium,其中Appium、UiAutomator2、Selendroid、Espresso用于Android,XCUITest用于iOS
    platformName 操作系统 如iOS、Android、FirefoxOS
    platformVersion 操作系统版本 如7.1,4.4
    deviceName 设备名 如iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator, Galaxy S4,iOS需要,Android可以忽略
    app apk、.ipa等的加载路径 如D:\text.apk、/home/zhuyt/test.ipa
    browserName 浏览器名,若为app则省略 如'Safari'、'Chromium'
    newCommandTimeout appium server与client的超时时间 如60s
    language 语言,默认只有用Siumulator才有效 如fr
    locale 国家地区,默认只有用Siumulator才有效 如fr_CA, CA
    udid 连接的物理设备的唯一设备标识符 如1ae203187fc012g
    orientation (仅限Sim / Emu)以某个方向开始 LANDSCAPE or PORTRAIT
    autoWebview 直接进入Webview上下文,默认False True,False
    noReset 在会话前,不重启app,重启的话只删除数据 True,False
    fullReset 完全重启app,删除app,数据后重启 True,False
    eventTimings 启用或禁用各种Appium内部事件的时间报告,默认False True,False
    enablePerformanceLogging (仅限Web和webview)使在Chrome(在Android上)或Safari(在iOS上)可以有log(默认为false) True,False
    printPageSourceOnFindFailure  当某个操作失败时,打印当前页面代码,默认False True,False

    Android Only

    标签 概述
    appActivity package中想要运行的Activity name,名字前通常需要加.,默认从package manifest读取  如.MainActivity,MainActivity
    appPackage Android app中想要运行的Java的package包,默认从package manifest读取 如com.example.android.myApp
    appWaitActivity 设置要等待的activity,默认与appActivity一样,若有appActivity、appPackage,则必须设置为第一个启动的activity名称 如MainActivity,MainActivity
    appWaitPackage 要等待的App内的Java Package,默认与appPackage相等. 如com.example.android.myApp, com.android.settings
    appWaitDuration 用于等待appWaitActivity启动的超时(以毫秒为单位)(默认为20000) 如30000
    deviceReadyTimeout 等待设备准备就绪时的超时时间(默认为s) 如5
    allowTestPackages 如果在manifest中有android:testOnly="true",则允许安装test Package,默认为False True,False
    androidCoverage 用于执行测试的 instrumentation 类, adb shell am instrument -e coverage true -w 后接instumentation类,如com.my.Pkg.instrumentation.MyInstrumentation
    androidCoverageEndIntent 设置实施的广播操作,覆盖范围为文件系统。即调用adb shell am broadcast -a  后接参数如com.example.pkg.END_EMMA
    androidDeviceReadyTimeout 设备引导结束后,准备就绪的超时时间    如30
    androidInstallTimeout 安装apk用的超时时间,默认90000毫秒 如90000
    androidInstallPath apk安装前会先被push到的地址,默认是/data/local/tmp 如/sdcard/Downloads/
    adbPort adb server的port,默认是5037 如5037
    systemPort SystemPort用来连接appium-uiautomator2-server 或 appium-espresso-driver。对于前者,端口通常是8200-8299,后者为8300-8399,当两者都要用时,要注意产生冲突 如8201
    remoteAdbHost 远程的ADB host 如192.168.0.101
    androidDeviceSocket Devtools套接字名称。 仅在测试的应用程序是Chromium浏览器时才需要。 套接字由浏览器打开,Chromedriver作为devtools客户端连接浏览器。 如chrome_devtools_remote
    avd   要启动的avd名 如api19
    avdLaunchTimeout avd启动并连接到adb的超时时间,默认为60000毫秒 如30000
    avdReadyTimeout avd完成启动的动画需要的超时时间,默认为120000毫秒  如30000
    avdArgs 模拟器启动时额外的参数 如-netfast
    useKeystore 使用自定义密钥库对apk签名,默认为false True,Fasle
    keystorePath 自定义密钥库的地址,默认为~/.android/debug.keystore 如/path/to.keystore
    keystorePassword 密钥库的密码 如foo
    keyAlias 密钥的别名 如androiddebugkey
    keyPassword 密钥的密码 如foo
    chromedriverExecutable webdriver的绝对路径,如果chrome提供给了自己的wedriver,则应使用这,不用与appium绑定的chromedriver 如/abs/path/to/webdriver
    chromedriverExecutableDir chromedriver的路径,会自动在该路径寻找chromedriver,如果chromedriverUseSystemExecutable 是true,则忽略 如/abs/path/to/chromedriver/directory
    chromedriverChromeMappingFile 文件的绝对路径,将Chromedriver版本映射到它支持的最小Chrome。 如果chromedriverUseSystemExecutable为true,则忽略 如/abs/path/to/mapping.json
    chromedriverUseSystemExecutable 如果为true,则绕过自动Chromedriver配置并使用随Appium下载的版本。 如果设置了chromedriverExecutable,则忽略。 默认为false True,False
    autoWebviewTimeout 等待webView激活的超时时间,默认是2000毫秒 如2000
    intentAction 用于启动 activity 的 intent action,默认值为android.intent.action.MAIN 如android.intent.action.MAIN
    intentCategory


    指定当前动作(Action)被执行的环境

    如android.intent.category.LAUNCHER, android.intent.category.APP_CONTACTS
    intentFlags 用于启动的activity的标志,默认0x10200000 如0x10200000
    optionalIntentArguments 用于启动activity的intent action的参数 如--esn <EXTRA_KEY>, --ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE>
    dontStopAppOnReset 用于是否关闭activity所属的app后再启动activity,等同于adb shell am start 是否使用-S参数 True,False
    unicodeKeyboard 使可以输入Unicode,默认为False True,False
    resetKeyboard 在用Unicode测试完成后,将键盘reset,不可单独使用,默认为False True,False
    noSign 使用调试键跳过检查和签名应用程序,仅适用于UiAutomator,而不适用于selendroid,默认为false True,False
    ignoreUnimportantViews 是否调用uiautomator的函数setCompressedLayoutHierarchy(),此功能能加快测试速度,Accessibility命令将更快地运行而忽略某些元素 True,False
    disableAndroidWatchers 是否禁用app的监听功能,这会减少cpu使用率。此功能仅适用于UiAutomator,而不适用于selendroid,默认为false True,False
    chromeOptions 提供chromeDriver的capability参数 chromeOptions: {args: ['--disable-popup-blocking']}
    recreateChromeDriverSessions 移动至非web程序时,是否杀掉chromeDriver True,False
    nativeWebScreenshot 在web程序中,用原生adb截图,而不是chromeDriver True,False
    androidScreenshotPath 文件截图默认存放地址 如/sdcard/screenshots/
    autoGrantPermissions 让appium自动授权app权限,如果noReset为True,则该条不生效 True,False
    networkSpeed 指定网络最快上传与下载速度 如['full','gsm', 'edge', 'hscsd', 'gprs', 'umts', 'hsdpa', 'lte', 'evdo']
    gpsEnabled 是否启动gps True,False
    isHeadless 将此功能设置为true可在无需显示设备时运行仿真器。 false是默认值isHeadless也支持iOS,检查特定于XCUITest的功能 True,False
    otherApps 运行测试前需要安装的app列表 如"/path/to/app.apk", https://www.example.com/url/to/app.apk, ["/path/to/app-a.apk", "/path/to/app-b.apk"]
    adbExecTimeout adb指令超时时间,默认是20000毫秒 如50000
    localeScript 建立一个script 例如"Cyrl" (Cyrillic)

    UIAutomator2 Only

    标签 概述
    uiautomator2ServerLaunchTimeout 等待uiAutomator2的server启动超时时间,单位毫秒 如3000
    uiautomator2ServerInstallTimeout 等待uiAutomator2的server被安装超时时间,单位毫秒 如3000

    Espresso Only

    标签 概述
    espressoServerLaunchTimeout 等待espresso的server的启动超时时间,单位毫秒 如3000

    iOS Only

    标签 概述
    calendarFormat (仅限Sim)要为iOS模拟器设置的日历格式 如gregorian
    bundleId 被测试应用程序的bundle Id。用于在真实设备中启动测试,。在使用 bundle ID 在真实设备上执行测试时,你可以省略'app'关键字,但你必须提供 `udid` , 如io.appium.TestApp
    udid 设备唯一物理地址号 如1ae203187fc012g
    launchTimeout 启动超时时间,单位毫秒 如3000 
    locationServicesEnabled (仅限Sim)强制关闭定位与否。 True,False
    locationServicesAuthorized (仅限Sim)通过修改 plist 文件设定是否允许应用使用定位服务,从而避免定位服务的警告出现。请注意在使用这个关键字时,必须需要使用 `bundleId` 关键字来发送应用的 bundle ID。 True,False
    autoAcceptAlerts 接收任何警告处理,包括隐私访问许可警报。默认为False。不适用于基于XCUITest的测试。 True,False
    autoDismissAlerts 不接受任何警告处理,包括隐私访问许可警报。默认为False。不适用于基于XCUITest的测试。 True,False
    nativeInstrumentsLib 使用原生 intruments 库 (即关闭 instruments-without-delay )  True,False
    nativeWebTap (仅限Sim)在Safari中启用“真实的”非基于JavaScript的网络点击。 默认值:false。 警告:根据视口大小/比例,这可能无法准确地点击元素 True,False
    safariInitialUrl (仅限Sim)(>= 8.1) 初始的safari的URL,默认是当前的欢迎页 如https://www.github.com
    safariAllowPopups (仅限Sim)允许用JS在Safari中打开新窗口。 True,False
    safariIgnoreFraudWarning (仅限Sim)防止Safari显示欺诈性网站警告。 True,False
    safariOpenLinksInBackground (仅限Sim)Safari是否应允许在新窗口中打开链接。  True,False
    keepKeyChains (仅限Sim)是否在启动/完成appium会话时保留KeyChains,即保存密码等。 True,False
    localizableStringsDir (仅限Sim)是否寻找本地化的字符串。默认en.lproj True,False
    processArguments 通过 instruments 传递到 AUT 的参数 如-myflag
    interKeyDelay 输入值时发送到元素的延迟时间 如100
    showIOSLog 是否在appium日志中显示从设备捕获的任何日志。 默认为false True,False
    sendKeyStrategy 输入文本到文本框的策略。模拟器默认:一个一个输。真实设备:分组输 oneByOne, grouped or setValue 
    screenshotWaitTimeout 等待生成屏幕截图的最大超时秒数。 默认值:10,单位为秒 如10
    waitForAppScript 用于判断 "应用是否被启动” 的 iOS 自动化脚本代码。默认情况下系统等待直到页面内容非空。结果必须是布尔类型。 如true;, target.elements().length > 0;, $.delay(5000); 
    webviewConnectRetries 将连接消息发送到远程调试器以获取webview的次数。 默认值:8 如8
    appName 被测试的app的显示名字。IOS系统版本需要为9.0+ 如UICatalog
    customSSLCert (仅限Sim)将SSL证书添加到iOS的模拟器中

    -----BEGIN CERTIFICATE-----MIIFWjCCBEKg...
    -----END CERTIFICATE-----

    webkitResponseTimeout (只限制真实设备)等待safari中页面的响应时间,默认为毫秒 如3000
    remoteDebugProxy  (仅限Sim, <= 11.2)如果设置,Appium通过本地端口(仅限Sim,<= 11.2)上的代理或此unix套接字上的代理(仅Sim> = 11.3)发送和接收远程调试消息,而不是直接与iOS远程调试器通信。 例如 12000 如12000 or "/tmp/my.proxy.socket"
  • 相关阅读:
    Mandriva Flash: 到处可用的口袋 Linux
    Pidgin 衔接 Google Talk 的设置配备铺排
    5 个使 Vim 更易用的脚本
    Bash 运用才干大补贴
    915Resolution打点宽屏表现标题问题
    Linux下误删root目次
    惠普推出 Linux 迷你条记本
    weblogic8.1for linux ES3.0拆卸与设置
    英俊的 Linux Mini PC
    Zonbu-售价 99 美元的袖珍电脑
  • 原文地址:https://www.cnblogs.com/lexus168/p/12600707.html
Copyright © 2020-2023  润新知