zoukankan      html  css  js  c++  java
  • appium启动APP配置参数:

    一、Android启动app
     
    python启动脚本如下:
     
    from appium import webdriver
     
    desired_caps = {}
    desired_caps['platformName'] = 'Android'
    desired_caps['platformVersion'] = '4.4'
    #desired_caps['app'] = os.path.abspath('/Users/a58/Downloads/zhuanzhuan_market_923.apk')
    desired_caps['appPackage'] = 'com.wuba.zhuanzhuan'
    desired_caps['appActivity'] = '.presentation.view.activity.LaunchActivity'

    wd = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
     
    说明:
    1.appium通过webdriver.Remote()传递appium的server地址和启动的client信息desired_caps
    2.server的格式“http://serverip地址:4723/wd/hub”
    3.desired_caps是一个字典格式,包含platformName等
     
    各项介绍如下:
    |`platformName`|你要测试的手机操作系统|`iOS`, `Android`, 或 `FirefoxOS`|
    |`platformVersion`|手机操作系统版本|例如: `7.1`, `4.4`|
    |`appPackage`| 你想运行的Android应用的包名|比如`com.example.android.myApp`, `com.android.settings`|
    |`appActivity`| 你要从你的应用包中启动的 Android Activity 名称。它通常需要在前面添加 `.`  (如:使用`.MainActivity` 而不是 `MainActivity`) |`MainActivity`, `.Settings`|
    |`app`|`.ipa` or `.apk`文件所在的本地绝对路径或者远程路径,也可以是一个包括两者之一的`.zip`。 Appium会先尝试安装路径对应的应用在适当的真机或模拟器上。针对Android系统,如果你指定`app-package`和`app-activity`(具体见下面)的话,那么就可以不指定`app`。 **会与 `browserName` 冲突** |比如`/abs/path/to/my.apk`或`http://myapp.com/app.ipa`|
     
    4.Android机上如果安装了要测试的app,可以通过appPackage和appActivity指定要启动的app界面,而不需要app
    如果指定了app(apk安装目录),则不用指定appPackage和appActivity。每次都会去重新安装一遍
    5.通过[adb devices]来判断真机是否连接到电脑上了(我用的是真机,一定要用数据线连接到电脑上)
     
     
     
    全部参数:
    automationName:使用哪个自动化引擎,默认是Appium
    platformName:使用哪个移动操作系统,iOS Android 或者 FirefoxOS
    platform Version: 移动操作系统的版本
    device Name:使用的移动设备或者模拟器类型,例如Android Emulator,在ios系统下通过 instruments -s devices命令 返回正确的设备,android的话使用adb devices可以获取设备的id
    app: 绝对本地路径或者指向ipa或apk文件,对于android来说如果指定了appPackage和appActivity属性,那么该属性就不是必须的。
    browserName:用于自动化测试ide移动Web浏览器,例如ios为Safari,android为Chrome Chromium 或Browser
    newCommandTimeout:Appium等待接收从客户端发送的新命令的超时时长,超时后Appium认为客户端已经退出,终止会话。
    autoLaunch:是否让Appium自动安装和启动应用,默认为True
    language:设置语言
    locale:设置位置
    udid:所链接物理设备的唯一设备标识符
    orientation:指定一个特定的方向
    autoWebview:直接进入Webview内容中,默认为false
    noReset:在会话前不重置应用状态,默认为false
    fullReset:在ios中删除整个模拟器文件夹,在android中ton故宫卸载APP来重置app状态,而不是清楚数据。
     
    Appium server capabilities (只针对android)
    appActivity:测试人员希望从保重启动的android activity的名称,通常都会加个前缀“ . ”
    appPackage:希望运行的android应用的java包,例如com.example.android.myApp
    appWaitActivity:希望等待的Android Activity的名称
    appWaitPackage:希望等待的Java包的名称
    deviceReadyTimeout:等待设备就绪的超时时长,以秒为单位
    androidCoverage:完全合格的instrumentation类
    enablePerformanceLogging:让Chromedriver的性能日志功能生效,只针对Chrome和Webview,默认为false
    androidDeviceSocket:Devtool socket名,只有当待测应用是Chromium embedding browser时才需要,浏览器打开端口,Chromedriver以devtools客户端的方式连接该端口
    avd:启动的avd名(android virtual device)
    avdLaunchTimeout:等待avd启动和链接到adb的超时时长,单位为毫秒,默认120000
    avdReadyTimeout:等待avd完成其开机动画的超时时长,单位为毫秒,默认120000
    avdArgs:当启动avd时,用到的其它模拟器参数
    useKeystore:使用一个自定义密钥库来签名apk,默认为false
    keystorePath:自定义密钥库的路径,默认为~/.android/debug.keystore
    keyAlias:key的别名
    keyPassword:Key的密码
    chromdriverExecutable:指向webdriver executable的绝对本地路径
    autoWebviewTimeout:等待webview内容激活的超时时长 ,毫秒单位,默认2000
    intentAction:用来启动activity的Intent action(默认为android.intent.action.MAIN)
    unicodeKeyboard:启用Unicode输入,默认为false
    ignoreUnimportantViews:调用函数uiautomator()和setCompressedLayoutHierarchy(),该属性可以加速测试执行,原因在于Accessibility命令忽略某些元素时运行更快,忽略的元素无法找到,默认false
     
    Appium server capabilities (只针对iOS)
    calendarFormat:设置ios模拟器的日历格式
    bundleID:待测应用的bundleID
    udid:所连接的物理设备的唯一的设备标识符
    launchTimeout:在假定instruments已经挂掉了并终止会话前的超时时长,单位为毫秒
    locationServicesEnabled:(只针对模拟器)强制打开或者关闭位置服务,默认保持当前设置
    locationServicesAuthorized:(只针对模拟器)通过plist授权设置位置服务或者不授权设置位置服务,这样位置服务警告框就不会弹出,默认保持当前设置,注意如果使用了该设置,则必须同时使用bundleid属性
    autoAcceptAlerts:遇到弹出的ios隐私访问权限警告时自动接受,默认为false
    autoDismissAlerts:弹出ios隐私访问权限警告,自动解除,默认false
    nativeWebTap:在Safari中,启用真实的 非基于javascript的web单击,默认false
    safariInitialUrl:初始化safari url,默认是本地欢迎页面
    safariAllowPopups:在safari中允许javascript打开新窗口
    safariIgnoreFraudWarning:阻止safari显示一个欺诈性网站的警告
    safariOpenLinksInBackground:safari是否允许在新窗口中打开链接
    keepKeyChains:在appium会话启动和终止时,是否保存keychains
    interKeyDelay:打字时发送到某个元素的按键敲击之间的时长,以毫秒为单位
    showiOSLog:是否在Appium日志中显示任何从设备捕获的日志
    screenshotWaitTimeout:等待截屏产生的最大超时时长,单位为秒,默认10
    waitForAppScript:用来判断应用是否已经启动,ios自动化测试脚本,默认情况下系统等待页面源码不为空,结果是布尔值
     
     
  • 相关阅读:
    VC 常见问题百问
    python windows 环境变量
    Check server headers and verify HTTP Status Codes
    Where are the AES 256bit cipher suites? Please someone help
    outlook 如何预订会议和会议室
    安装Axis2的eclipse插件后,未出现界面
    windows 环境变量
    python 时间日期处理汇集
    openldap学习笔记(使用openldap2.3.32)
    set p4 environment in windows
  • 原文地址:https://www.cnblogs.com/yc-c/p/9014259.html
Copyright © 2011-2022 走看看