• Appium移动自动化测试-----(六)3.AppiumDesktop功能描述


    一般功能

    这些能力跨越多个驱动因素。

    能力

    描述

    automationName

    使用哪个自动化引擎

    Appium(默认)或Selendroid或者UiAutomator2或者Espresso对于Android或XCUITestiOS或者YouiEngine使用You.i引擎构建的应用程序

    platformName

    使用哪个移动操作系统平台

    iOS,Android或FirefoxOS

    platformVersion

    移动操作系统版本

    例如7.1,4.4

    deviceName

    使用的移动设备或模拟器的种类

    iPhone Simulator,iPad Simulator,iPhone Retina 4-inch,Android Emulator,Galaxy S4,等....在iOS上,这应该是与仪器返回的有效设备之一instruments -s devices。在Android上,这个功能目前被忽略,尽管它仍然是必需的。

    app

    一个或一个文件的绝对本地路径远程http URL ,或者包含其中的一个。Appium将首先尝试在适当的设备上安装这个应用程序二进制文件。请注意,如果您指定和功能(请参阅下文),则此功能对于Android不是必需的。与...不兼容。.ipa.apk.zipappPackageappActivitybrowserName

    /abs/path/to/my.apk 要么http://myapp.com/app.ipa

    browserName

    移动网页浏览器的名称自动化。应该是一个空字符串,而不是自动化应用程序。

    适用于iOS的“Safari”,适用于Android的“Chrome”,“Chromium”或“浏览器”

    newCommandTimeout

    在假定客户端退出并结束会话之前,Appium将等待来自客户端的新命令(以秒为单位)

    例如 60

    language

    (Sim / Emu-only)为模拟器/仿真器设置的语言

    例如 fr

    locale

    (Sim / Emu-only)为模拟器/仿真器设置的语言环境

    例如 fr_CA

    udid

    连接的物理设备的唯一设备标识符

    例如 1ae203187fc012g

    orientation

    (Sim / Emu-only)从某个方向开始

    LANDSCAPE 要么 PORTRAIT

    autoWebview

    直接进入Webview上下文。默认false

    true, false

    noReset

    在此会话之前不要重置应用程序状态。在这里看到更多的细节

    true, false

    fullReset

    执行完整的重置。在这里看到更多的细节

    true, false

    eventTimings

    启用或禁用各种Appium内部事件的时间报告(例如,每个命令的开始和结束等)。默认为false。启用,使用true。然后将这些时间作为events回应查询当前会话的财产报告。请参阅事件时间文档了解此响应的结构。

    例如, true

    enablePerformanceLogging

    (仅限Web和webview)启用Chromedriver(在Android上)或Safari(在iOS上)性能记录(默认false)

    true, false

    仅限Android

    这些功能仅适用于基于Android的驱动程序(例如 UiAutomator2)。

    能力

    描述

    appActivity

    要从包中启动的Android活动的活动名称。这往往需要在一个.(例如,.MainActivity而不是MainActivity)

    MainActivity, .Settings

    appPackage

    你想运行的Android应用程序的Java包

    com.example.android.myApp, com.android.settings

    appWaitActivity

    活动名称/名称,逗号分隔,您想要等待的Android活动

    SplashActivity,SplashActivity,OtherActivity,*,*.SplashActivity

    appWaitPackage

    您想等待的Android应用程序的Java包

    com.example.android.myApp, com.android.settings

    appWaitDuration

    用于等待appWaitActivity启动的超时(以毫秒为单位20000)(默认)

    30000

    deviceReadyTimeout

    在等待设备准备就绪的几秒钟内超时

    5

    androidCoverage

    完全合格的仪器类。通过-w在adb shell中,仪器-e覆盖率为true -w

    com.my.Pkg/com.my.Pkg.instrumentation.MyInstrumentation

    androidCoverageEndIntent

    由您自己执行的广播操作,用于将覆盖转储到文件系统。传递到-a在adb外壳广播-a

    com.example.pkg.END_EMMA

    androidDeviceReadyTimeout

    用于等待设备在启动后准备就绪的秒数

    例如, 30

    androidInstallTimeout

    用于等待apk安装到设备的超时(以毫秒为单位)。默认为90000

    例如, 90000

    androidInstallPath

    安装前将在其中安装apk的设备上的目录名称。默认为/data/local/tmp

    例如 /sdcard/Downloads/

    adbPort

    用于连接到ADB服务器的端口(默认5037)

    5037

    remoteAdbHost

    可选的远程ADB服务器主机

    例如:192.168.0.101

    androidDeviceSocket

    Devtools套接字名称。只有当测试的应用程序是Chromium嵌入式浏览器时才需要。套接字由浏览器打开,并且Chromedriver作为devtools客户端连接到它。

    例如, chrome_devtools_remote

    avd

    avd的名称发射

    例如, api19

    avdLaunchTimeout

    avd启动并连接到ADB需要多长时间(默认值120000)

    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

    autoWebviewTimeout

    等待Webview上下文激活的时间(以毫秒为单位)。默认为2000

    例如 4

    intentAction

    意图操作将用于启动活动(默认android.intent.action.MAIN)

    例如android.intent.action.MAIN,android.intent.action.VIEW

    intentCategory

    意图类别,将用于启动活动(默认android.intent.category.LAUNCHER)

    例如android.intent.category.LAUNCHER,android.intent.category.APP_CONTACTS

    intentFlags

    将用于启动活动的标志(默认0x10200000)

    例如 0x10200000

    optionalIntentArguments

    将用于启动活动的其他意图参数。请参阅意向参数

    例如--esn <EXTRA_KEY>,--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE>等等。

    dontStopAppOnReset

    在使用adb启动应用程序之前,不要停止被测试的应用程序的进程。如果被测试的应用程序是由另一个定位应用程序创建的,那么将其设置为false将允许在使用adb的测试应用程序启动过程中定位应用程序的过程仍然存在。换句话说,在dontStopAppOnReset设置的时候true,我们不会-S在adb 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函数。此功能可以加快测试执行速度,因为辅助功能命令将更快地忽略某些元素。被忽略的元素是不可能找到的,这就是为什么这个功能也被实现为可切换的设置以及功能。默认为false

    true 要么 false

    disableAndroidWatchers

    禁用观察应用程序没有响应和应用程序崩溃的android观察者,这将减少Android设备/模拟器上的CPU使用率。这个功能只能用于UiAutomator,而不能用于selendroid,默认false

    true 要么 false

    chromeOptions

    允许ChromeDriver传递chromeOptions功能。有关更多信息,请参阅chromeOptions

    chromeOptions: {args: ['--disable-popup-blocking']}

    recreateChromeDriverSessions

    在移至非ChromeDriver网页浏览的情况下杀死ChromeDriver会话。默认为false

    true 要么 false

    nativeWebScreenshot

    在Web上下文中,使用本地(adb)方法截取屏幕截图,而不是代理ChromeDriver。默认为false

    true 要么 false

    androidScreenshotPath

    将要放置屏幕截图的设备上的目录名称。默认为/data/local/tmp

    例如 /sdcard/screenshots/

    autoGrantPermissions

    让Appium自动确定您的应用程序需要哪些权限,并在安装时将其授予应用程序。默认为false

    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

    仅限iOS

    这些功能仅适用于XCUITest驱动程序和过时的UIAutomation驱动程序

    能力

    描述

    calendarFormat

    (仅限SIM)为iOS模拟器设置的日历格式

    例如 gregorian

    bundleId

    测试中的应用程序的捆绑ID。用于在真实设备上启动应用程序或在测试启动期间使用其他需要包ID的大写字母。要使用软件包ID在真实设备上运行测试,可以省略“应用”功能,但必须提供“udid”。

    例如 io.appium.TestApp

    udid

    连接的物理设备的唯一设备标识符

    例如 1ae203187fc012g

    launchTimeout

    假设它挂起和失败会话之前以毫秒为单位等待仪器的时间

    例如 20000

    locationServicesEnabled

    (仅限SIM)强制定位服务处于打开或关闭状态。默认是保持当前的模拟设置。

    true 要么 false

    locationServicesAuthorized

    (仅限SIM)通过plist将位置服务设置为授权或未授权,以便位置服务警报不会弹出。默认是保持当前的模拟设置。请注意,如果您使用此设置,您还必须使用该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浏览器网址,默认为本地欢迎页面

    例如 https://www.github.com

    safariAllowPopups

    (仅限Sim)允许JavaScript在Safari中打开新窗口。默认保持当前的模拟设置

    true 要么 false

    safariIgnoreFraudWarning

    (仅限SIM)防止Safari显示欺诈网站警告。默认保持当前的模拟设置。

    true 要么 false

    safariOpenLinksInBackground

    (仅限SIM)Safari是否应允许在新窗口中打开链接。默认保持当前的模拟设置。

    true 要么 false

    keepKeyChains

    (Sim-only)当appium会话开始/结束时是否保留钥匙串(Library / Keychains)

    true 要么 false

    localizableStringsDir

    在哪里寻找可本地化的字符串。默认en.lproj

    en.lproj

    processArguments

    使用工具传递给AUT的参数

    例如, -myflag

    interKeyDelay

    输入时发送到元素的击键之间的延迟,以毫秒为单位。

    例如, 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 / Emu)向模拟器添加SSL证书。

    例如 
    -----BEGIN CERTIFICATE-----MIIFWjCCBEKg...
    -----END CERTIFICATE-----

    webkitResponseTimeout

    (仅限实际设备)设置时间(以毫秒为单位)以等待Safari会话中WebKit的响应。默认为5000

    例如, 10000


    {
    "platformName": "Android",
    "platformVersion": "7.0",
    "deviceName": "FFK0116B30000505",
    "app": "D:\weixin.apk",
    "noReset": true,
    "adbPort": "5148"
    }

    {
    "platformName": "Android",
    "deviceName": "FFK0116B30000505",
    "platformVersion": "7.0",
    "adbPort": "5148",
    "appPackage": "com.android.calculator2",
    "appActivity": "com.android.calculator2.Calculator"
    }

    from appium import webdriver

    from time import sleep

    desired_caps = {

    'platformName': 'Android',

    'deviceName': 'B7E0117228000104',

    'platformVersion': '7.0',

    'adbPort' : '5148',

    'appPackage':'com.android.calculator2',

    'appActivity':'com.android.calculator2.Calculator'

    }

    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

    driver.find_element_by_id("com.android.calculator2:id/digit_1").click()

    driver.find_element_by_id("com.android.calculator2:id/digit_5").click()

    driver.find_element_by_id("com.android.calculator2:id/digit_9").click()

    driver.find_element_by_id("com.android.calculator2:id/del").click()

    driver.find_element_by_id("com.android.calculator2:id/digit_9").click()

    driver.find_element_by_id("com.android.calculator2:id/digit_8").click()

    driver.find_element_by_id("com.android.calculator2:id/op_add").click()

    driver.find_element_by_id("com.android.calculator2:id/digit_6").click()

    driver.find_element_by_id("com.android.calculator2:id/op_div").click()

    driver.find_element_by_id("com.android.calculator2:id/digit_8").click()

    driver.find_element_by_id("com.android.calculator2:id/eq").click()

    sleep(3)

    driver.quit()

    appium官网https://bitbucket.org/appium/appium.app/downloads/

    Appium-desktop 下载地址:https://github.com/appium/appium-desktop/releases

    Appium 如何连接第三方模拟器,连接时把你自己的adb.exe 拷贝一份,将nox_adb.exe 替换掉, 替换前备份。原因是你俩的adb版本不一致。

    adb connect 127.0.0.1:62001 夜游模拟器

     

    adb启动问题:Invalid argument: cannot open transport registration socketpair could not read ok from ADB Server failed to start daemon * error: cannot connect to daemon

    解决办法:

    关闭系统自带的防火墙,重启OK

    转自:http://www.cnblogs.com/tester-l/p/7810915.html

  • 相关阅读:
    [原]使用ASP.NET MVC构建RESTful服务
    [原]ASP.NET MVC 3 使用 DotNetOpenAuth 实现SSO
    ASP.NET MVC + RESTful服务之HttpStatusResult
    [原]ASP.NET MVC 3 Razor 多国语言参考解决方案 补充三
    [原]ASP.NET MVC 3 使用jqGrid之TreeGrid
    [原]ASP.NET MVC 3 Razor 多国语言参考解决方案 补充
    vsftp
    对付CC攻击不必动用防火墙
    Symfony and Godaddy
    godaddy的VPS使用SSH登录的方法
  • 原文地址:https://www.cnblogs.com/kaola8023/p/8466188.html
Copyright © 2020-2023  润新知