• Appium详解server capabilities


    通用能力

    CapabilityDescriptionValues
    automationName 使用哪种自动化引擎 Appium(默认)或SelendroidUiAutomator2用于Android或XCUITestiOS
    platformName 使用哪个移动OS平台 iOSAndroidFirefoxOS
    platformVersion 移动OS版本 例如12.04.4
    deviceName 要使用的移动设备或模拟器的种类 iPhone SimulatoriPad SimulatoriPhone Retina 4-inchAndroid EmulatorGalaxy S4,等....在iOS上,可以通过instruments -s devices获得。在Android上,此功能可以忽略
    app 包的本地路径或者远程url /abs/path/to/my.apk 
    http://myapp.com/app.ipa
    browserName 移动Web浏览器的名称。如果仅测试app,可忽略 iOS:Safari<br>Android:Browser Chromium:chrome
    newCommandTimeout 会话等待间隔时间(以秒为单位) 例如 60
    language 为iOS和Android设置的语言。它仅适用于iOS上的模拟器 例如 fr
    locale 为iOS和Android设置的区域设置。它仅适用于iOS上的模拟器。fr_CA是iOS格式。CA是Android格式(国家/地区名称缩写) 例如fr_CACA
    udid iOS连接的物理设备的唯一设备标识符 例如 1ae203187fc012g
    autoWebview 直接进入Webview上下文。默认false true, false
    noReset 测试开始之前不重装APP。有关详细信息,请参见此处 true, false
    fullReset 测试开始之前完全重置。有关详细信息,请参见此处 true, false
    eventTimings 启用或禁用各种Appium内部事件的时间报告(例如,每个命令的开始和结束等)。默认为false。要启用,请使用true。然后,events在响应查询当前会话时,将时间报告为属性。请参阅事件计时文档以了解此响应的结构。 例如, true
    enablePerformanceLogging (仅限Web和webview)启用Chromedriver(在Android上)或Safari(在iOS上)性能记录(默认false true, false
    printPageSourceOnFindFailure 当查找操作失败时,打印当前页面源。默认为false 例如, true

    Android特有

    CapabilityDescriptionValues
    appActivity app启动的activity MainActivity, .Settings
    appPackage app的包名 com.example.android.myApp, com.android.settings
    appWaitActivity 要等待的activity,必须设置为第一个启动的activity SplashActivitySplashActivity,OtherActivity**.SplashActivity
    appWaitPackage 等待的Android应用程序的包名。 com.example.android.myApp, com.android.settings
    appWaitDuration 用于等待appWaitActivity启动的超时(以毫秒为单位默认2000 30000
    deviceReadyTimeout 等待设备准备就绪时超时(以秒为单位) 5
    allowTestPackages 允许安装android:testOnly="true"的测试包。false默认情况下 true 或者 false
    androidCoverage Fully qualified instrumentation class. adb shell am instrument -e coverage true -w com.my.Pkg/com.my.Pkg.instrumentation.MyInstrumentation
    androidCoverageEndIntent 发送广播事件db shell am broadcast -a com.example.pkg.END_EMMA
    androidDeviceReadyTimeout 用于等待设备在引导后准备就绪的超时秒数 例如, 30
    androidInstallTimeout 用于等待apk安装到设备的超时时间(以毫秒为单位)。默认为90000 例如, 90000
    androidInstallPath app安装到设备上的位置。默认为/data/local/tmp 例如 /sdcard/Downloads/
    adbPort 用于连接ADB服务器的端口(默认5037 5037
    systemPort systemPort用于连接appium-uiautomator2-serverappium-espresso-driver。默认值是8200,一般选择82008299之前的一个端口用于appium-uiautomator2-server83008399选择端口用于appium-espresso-driver。并行运行测试时,必须调整端口以避免冲突。阅读并行测试设置指南了解更多详情。 例如, 8201
    remoteAdbHost 可选的远程ADB服务器主机 例如:192.168.0.101
    avd 要加载的avd的名称 例如, api19
    avdLaunchTimeout avd启动并连接到ADB等待时长(默认60000 300000
    avdReadyTimeout avd完成启动动画的等待时间(以毫秒为单位120000)(默认) 300000
    avdArgs 启动avd时,使用的其他模拟器参数 例如, -netfast
    useKeystore 默认情况下,使用自定义密钥库对apks进行签名false true 或者 false
    keystorePath 自定义密钥库的路径,默认为~/.android/debug.keystore 例如, /path/to.keystore
    keystorePassword 自定义密钥库的密码 例如, foo
    keyAlias 密钥的别名 例如, androiddebugkey
    keyPassword 密钥密码 例如, foo
    chromedriverExecutable webdriver可执行文件的绝对本地路径(如果Chromium embedder提供自己的webdriver,则应该使用它而不是与Appium自带的原始chromedriver) /abs/path/to/webdriver
    chromedriverExecutableDir 查找Chromedriver可执行文件的目录的绝对路径,用于自动发现兼容的Chromedrivers。如果chromedriverUseSystemExecutabletrue,则忽略 /abs/path/to/chromedriver/directory
    chromedriverChromeMappingFile 文件的绝对路径,将Chromedriver版本映射到它支持的最小Chrome。如果chromedriverUseSystemExecutable是,则忽略true /abs/path/to/mapping.json
    chromedriverUseSystemExecutable 如果true,绕过自动Chromedriver配置并使用随Appium下载的版本。如果chromedriverExecutable已设置则忽略。默认为false 例如, true
    autoWebviewTimeout 等待Webview上下文变为活动状态的时间(以毫秒为单位)。默认为2000 例如 4
    intentAction 将用于启动活动的意图操作(默认android.intent.action.MAIN 例如android.intent.action.MAINandroid.intent.action.VIEW
    intentCategory 将用于启动活动的意图类别(默认android.intent.category.LAUNCHER 例如android.intent.category.LAUNCHERandroid.intent.category.APP_CONTACTS
    intentFlags 将用于启动活动的标志(默认0x10200000 例如 0x10200000
    optionalIntentArguments 将用于启动活动的其他意图参数。请参阅Intent参数 例如--esn <EXTRA_KEY>--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE>等等。
    dontStopAppOnReset 在使用adb启动应用程序之前,不会停止正在测试的应用程序的进程。如果被测试的应用程序是由另一个锚点应用程序创建的,则将此设置为false将允许锚点应用程序的进程在使用adb的测试应用程序启动期间保持活动状态。换句话说,如果dontStopAppOnReset设置为true,我们将不会-Sadb shell am start调用中包含该标志。在省略或设置此功能的情况下false,我们包含该-S标志。默认false true 或者 false
    unicodeKeyboard 启用Unicode输入,默认 false true 或者 false
    resetKeyboard 在运行具有unicodeKeyboard功能的Unicode测试后,将键盘重置为其原始状态。如果单独使用,则忽略。默认false true 或者 false
    noSign 使用调试键跳过检查和签名应用程序,仅适用于UiAutomator,而不适用于selendroid,默认false true 或者 false
    ignoreUnimportantViews 调用setCompressedLayoutHierarchy()uiautomator函数。此功能可以加快测试执行速度,因为Accessibility命令将更快地运行而忽略某些元素。忽略的元素将无法找到,这就是为什么此功能也已实现为可切换设置和功能。默认为false true 或者 false
    disableAndroidWatchers 禁用注意应用程序没有响应和应用程序崩溃的android观察者,这将减少Android设备/模拟器上的CPU使用率。此功能仅适用于UiAutomator,而不适用于selendroid,默认情况下false true 或者 false
    chromeOptions 允许为ChromeDriver传递chromeOptions功能。有关更多信息,请参阅chromeOptions chromeOptions: {args: ['--disable-popup-blocking']}
    recreateChromeDriverSessions 移至非ChromeDriver webview时,请终止ChromeDriver会话。默认为false true 或者 false
    nativeWebScreenshot 在网络环境中,使用原生(adb)方法截取屏幕截图,而不是代理ChromeDriver。默认为false true 或者 false
    androidScreenshotPath 将放置屏幕截图的设备上的目录名称。默认为/data/local/tmp 例如 /sdcard/screenshots/
    autoGrantPermissions 让Appium自动确定您的应用所需的权限,并在安装时将其授予应用。默认为false。如果noResettrue,则此功能不起作用。 true 或者 false
    networkSpeed 设置网络速度仿真。指定最大网络上载和下载速度。默认为full ['full','gsm', 'edge', 'hscsd', 'gprs', 'umts', 'hsdpa', 'lte', 'evdo']检查-netspeed选项有关avds的速度仿真的更多信息
    gpsEnabled 在开始会话之前切换模拟器的gps位置提供程序。默认情况下,仿真器将根据其配置方式启用或不启用此选项。 true 或者 false
    isHeadless 将此功能设置true为在无需显示设备显示时运行仿真器无头。false是默认值。isHeadless也支持iOS,检查特定于XCUITest的功能。 例如, true
    otherApps 在运行测试之前要安装的应用程序或应用程序列表(作为JSON数组) 例如"/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 设置区域设置脚本 例如,"Cyrl"(西里尔文)

    UIAutomator2特有

    CapabilityDescriptionValues
    uiautomator2ServerLaunchTimeout 用于等待uiAutomator2服务器启动的超时(以毫秒为单位)。默认为20000 例如,20000
    uiautomator2ServerInstallTimeout 用于等待安装uiAutomator2服务器的超时(以毫秒为单位)。默认为20000 例如, 20000
    skipServerInstallation 跳过uiAutomator2服务器安装并使用设备中的uiAutomator2服务器。当设备上已安装适当版本的uiAutomator2服务器时,可用于提高启动性能。默认为false true 或者false

    iOS 特有

    CapabilityDescriptionValues
    calendarFormat (仅限Sim)要为iOS模拟器设置的日历格式 例如 gregorian
    bundleId 被测试应用程序的捆绑ID。用于在真实设备上启动应用程序或在测试启动期间使用需要捆绑ID的其他大写字母。要使用捆绑包ID在真实设备上运行测试,您可以省略“app”功能,但必须提供“udid”。 例如 io.appium.TestApp
    udid 连接的物理设备的唯一设备标识符 例如 1ae203187fc012g
    launchTimeout 在假设挂起并且会话失败之前等待仪器的时间量(以ms为单位) 例如 20000
    locationServicesEnabled (仅限Sim)强制位置服务打开或关闭。默认是保持当前的SIM设置。 true 或者 false
    locationServicesAuthorized (仅限Sim)通过plist将应用程序的位置服务设置为授权或未授权,以便不会弹出位置服务警报。默认是保持当前的SIM设置。请注意,如果您使用此设置,您还必须使用该bundleId功能发送应用程序的包ID。 true 或者 false
    autoAcceptAlerts 如果弹出,则自动接受所有iOS警报。这包括隐私访问许可警报(例如,位置,联系人,照片)。默认值为false。不适用于XCUITest基于测试。 true 或者 false
    autoDismissAlerts 如果弹出,则自动关闭所有iOS警报。这包括隐私访问许可警报(例如,位置,联系人,照片)。默认值为false。不适用于XCUITest基于测试。 true 或者 false
    nativeInstrumentsLib 使用原生intruments lib(即禁用仪器 - 无延迟)。 true 或者 false
    nativeWebTap (仅限Sim)在Safari中启用“真实的”非基于JavaScript的网络点击。默认值:false。警告:根据视口大小/比例,这可能无法准确地点击元素 true 或者 false
    safariInitialUrl (仅限Sim)(> = 8.1)初始safari url,默认为本地欢迎页面 例如 https://www.github.com
    safariAllowPopups (仅限Sim)允许javascript在Safari中打开新窗口。默认保持当前的SIM设置 true 或者 false
    safariIgnoreFraudWarning (仅限Sim)防止Safari显示欺诈性网站警告。默认保持当前的SIM设置。 true 或者 false
    safariOpenLinksInBackground (仅限Sim)Safari是否应允许在新窗口中打开链接。默认保持当前的SIM设置。 true 或者 false
    keepKeyChains (仅限Sim)是否在启动/完成appium会话时保留密钥链(库/ Keychains) true 或者 false
    localizableStringsDir 在哪里寻找可本地化的字符串。默认en.lproj en.lproj
    processArguments 使用仪器传递给AUT的参数 例如, -myflag
    interKeyDelay 键入时发送到元素的击键之间的延迟(ms)。 例如, 100
    showIOSLog 是否在appium日志中显示从设备捕获的任何日志。默认false true 或者 false
    sendKeyStrategy 用于将测试键入测试字段的策略。模拟器默认:oneByOne。真实设备默认值: grouped oneByOne,grouped或setValue
    screenshotWaitTimeout 等待生成屏幕截图的最大超时秒数。默认值:10 例如, 5
    waitForAppScript 用于确定应用程序是否已启动的ios自动化脚本,默认情况下系统等待页面源不为空。结果必须是布尔值 例如true;,target.elements().length > 0;,$.delay(5000); true;
    webviewConnectRetries 将连接消息发送到远程调试器以获取webview的次数。默认:8 例如, 12
    appName 被测应用程序的显示名称。用于在iOS 9+中自动化应用程序的后台处理。 例如, UICatalog
    customSSLCert (仅限Sim)将SSL证书添加到IOS Simulator。 例如 -----BEGIN CERTIFICATE-----MIIFWjCCBEKg...-----END CERTIFICATE-----
    webkitResponseTimeout (仅限实际设备)设置等待来自Safari会话中WebKit的响应的时间(毫秒)。默认为5000 例如, 10000
    remoteDebugProxy (仅限Sim,<= 11.2)如果设置,Appium通过本地端口(仅限Sim,<= 11.2)或此unix套接字上的代理(仅Sim> = 11.3)上的代理发送和接收远程调试消息,而不是直接与iOS远程调试器通信。 例如12000或"/tmp/my.proxy.socket"
  • 相关阅读:
    jQuery 从无到有.一天完成.
    JavaScript从无到有(一天完成)
    HTML(第一篇)
    前端认识
    三元表达式,列表推导是,字典生成式
    ORM之youku项目小练习(上)
    高逼格壁纸
    pymysql 基操全套
    怎么学好编程?
    mysql 事务
  • 原文地址:https://www.cnblogs.com/xinlan06/p/11468356.html
Copyright © 2020-2023  润新知