Appium——详解Appium server capabilities

appium server capabilities来告诉appium,如何运行自动化测试,因此需要详细了解。

官方文档:http://appium.io/slate/en/master/?ruby#appium-server-capabilities

Appium server capabilities

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自动化测试脚本,默认情况下系统等待页面源码不为空,结果是布尔值

参数格式就是之前脚本那样:

很多可能平时用不到,留以备忘。

时间: 2024-11-08 20:35:35

Appium——详解Appium server capabilities的相关文章

DesiredCapabilities内容详解--Appium服务关键字

上次了解了一些DesiredCapabilities的用法,有些还是不太清楚,去appium官网找了找官方文档,觉得写的很全: ## Appium 服务关键字 <expand_table> |关键字|描述|实例| |----|-----------|-------| |`automationName`|你想使用的自动化测试引擎|`Appium` (默认) 或 `Selendroid`| |`platformName`|你要测试的手机操作系统|`iOS`, `Android`, 或 `Firef

转:DesiredCapabilities内容详解--Appium服务关键字

## Appium 服务关键字 <expand_table> |关键字|描述|实例| |----|-----------|-------| |`automationName`|你想使用的自动化测试引擎|`Appium` (默认) 或 `Selendroid`| |`platformName`|你要测试的手机操作系统|`iOS`, `Android`, 或 `FirefoxOS`| |`platformVersion`|手机操作系统版本|例如: `7.1`, `4.4`| |`deviceNam

详解 Windows Server 2012 无需共享存储的实时迁移

Windows Server 2012 无需共享存储的实时 在 Windows Server 2012(WS2012)中微软提供了其最新的虚拟化平台 - Hyper-V 3.0,依靠 WS2012 最新的 SMB(Server Message Block)协议实现了透明迁移,也就是我们常说的实时迁移,这意味着我们能够在不中断虚机运行的情况下对其进行迁移.虽然这个技术之前就能够实现,但是我们需要为之付出高昂的成本,在过去为了实现迁移我们不得不购买专用的共享存储设备,而现在 Windows Serv

详解Windows Server 2008 R2下安装Oracle 11g

本篇文章转载 http://www.it165.net/database/html/201212/3385.html 一.安装前的准备工作: 1. 修改计算机名: 服务器的计算机名称对于登录到Oracle数据库非常重要!切记! (1) 安装好Oracle数据库后,再修改计算机名称,可能会无法启动服务,即不能在浏览器中使用OEM(Oracle Enterprise Manager); (2)Oracle Net Manager配置Oracle服务器端的监听程序时,也会用到服务器的计算机名称. 2.

【转】pentaho 示例Cube配置详解(SQL Server版本)

1 首先下载SQL SERVER对应的JDBC driver.见如下链接地址: [1] http://msdn.microsoft.com/en-US/data/aa937724.aspx [2] Google 输入入sql server jdbc亦可. [3] 这里sqljdbc4.jar 是我们需要的Jar包 2 下载Pentaho的多维数据服务器 Mondrian和 [1] http://sourceforge.net/ → 输入Mondrian 下载{截至记者发稿时 最新版本为 Mond

详解SQL Server数据修复命令DBCC的使用

严重级别为 21 表示可能存在数据损坏. 可能的原因包括损坏的页链.损坏的 IAM 或该对象的 sys.objects目录视图中存在无效条目. 这些错误通常由硬件或磁盘设备驱动程序故障而引起. MS Sql Server 提供了很多关于数据库修复的命令,当MS Sql Server 数据库遭到质疑或者是有的无法完成读取时可以尝试这些修复命令. 1. DBCC CHECKDB 重启服务器 use master declare @databasename varchar(255) set @data

详解SQL Server连接(内连接、外连接、交叉连接)

在查询多个表时,我们经常会用“连接查询”.连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志. 什么是连接查询呢? 概念:根据两个表或多个表的列之间的关系,从这些表中查询数据. 目的:实现多个表查询操作. 知道了连接查询的概念之后,什么时候用连接查询呢? 一般是用作关联两张或两张以上的数据表时用的.看起来有点抽象,我们举个例子,做两张表:学生表(T_student)和班级表(T_class). T_student                            

MSSQL 详解SQL Server连接(内连接、外连接、交叉连接)

在查询多个表时,我们经常会用“连接查询”.连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志. 什么是连接查询呢? 概念:根据两个表或多个表的列之间的关系,从这些表中查询数据. 目的:实现多个表查询操作. 知道了连接查询的概念之后,什么时候用连接查询呢? 一般是用作关联两张或两张以上的数据表时用的.看起来有点抽象,我们举个例子,做两张表:学生表(T_student)和班级表(T_class) 1 --创建DB 2 --filename修改为自己电脑上MSSQL存储的位置

server.xml文件详解

一.server.xml文件介绍 1.server.xml作用 Server.xml配置文件用于对整个容器进行相关的配置. 2.server.xml文件的配置元素列表 <Server>:是整个配置文件的根元素.表示整个Catalina容器. <Connector>:连接器,负责接收客户的请求,以及向客户端回送响应的消息. <Engine>:为特定的Service处理所有的请示.每个Service只能包含一个Engine元素,它负责接收和处理此Service所有的连接器收