Appium
getContext
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.getContext()
返回值
- <Context>
context
: 表示当前上下文的字符串或表示“无上下文”的 null
switchContext
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.switchContext(name)
参数
名称 | 类型 | 详情 |
---|---|---|
name | 字符串 | 表示可用上下文的字符串 |
getContexts
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.getContexts()
返回值
- <Context[]>
contexts
: 表示可用上下文的字符串数组,例如“WEBVIEW”或“NATIVE”
shake
对设备执行摇晃操作。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.shake()
支持
lock
锁定设备。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.lock(seconds)
参数
名称 | 类型 | 详情 |
---|---|---|
seconds 可选 | 数字 | 锁定屏幕的时间长度(仅限 iOS) |
支持
unlock
解锁设备。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.unlock()
支持
isLocked
检查设备是否已锁定。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.isLocked()
返回值
- <boolean>
isLocked
: 如果设备已锁定则为 True,否则为 False
支持
startRecordingScreen
开始录制屏幕。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.startRecordingScreen(options)
参数
名称 | 类型 | 详情 |
---|---|---|
options 可选 | 对象 | 命令参数,可以包含诸如:remotePath、username、password、method、forceRestart、timeLimit、videoType、videoQuality、videoFps、bitRate、videoSize、bugReport 等键(请参阅 Appium 文档中的更多说明) |
支持
stopRecordingScreen
停止录制屏幕
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.stopRecordingScreen(remotePath, username, password, method)
参数
名称 | 类型 | 详情 |
---|---|---|
remotePath 可选 | 字符串 | 结果视频应上传到的远程位置的路径。支持以下协议:http/https、ftp。此选项仅在存在正在进行的屏幕录制过程且 forceRestart 参数未设置为 true 时有效。Null 或空字符串值(默认设置)表示结果文件的内容应编码为 Base64。 |
username 可选 | 字符串 | 远程身份验证的用户名称。 |
password 可选 | 字符串 | 远程身份验证的密码。 |
method 可选 | 字符串 | http 多部分上传方法名称。默认使用“PUT”。 |
返回值
- <string>
response
: Base64 编码字符串。如果设置了 remote_path,则响应为空字符串
支持
getPerformanceDataTypes
返回系统状态支持读取的信息类型,例如 cpu、内存、网络流量和电池。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.getPerformanceDataTypes()
返回值
- <string[]>
performanceTypes
: 可用的性能数据类型 (cpuinfo|batteryinfo|networkinfo|memoryinfo)
支持
getPerformanceData
返回系统状态支持读取的信息,例如 cpu、内存、网络流量和电池。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.getPerformanceData(packageName, dataType, dataReadTimeout)
参数
名称 | 类型 | 详情 |
---|---|---|
packageName | 字符串 | 应用程序的包名 |
dataType | 字符串 | 要读取的系统状态类型。它应该是支持的性能数据类型之一 |
dataReadTimeout 可选 | 数字 | 读取尝试次数 |
返回值
- <string[]>
performanceData
: 系统状态支持读取的信息类型,例如 cpu、内存、网络流量和电池
支持
pressKeyCode
按下设备上的特定按键。
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.pressKeyCode(keycode, metastate, flags)
参数
名称 | 类型 | 详情 |
---|---|---|
keycode | 数字 | 要按下的键码 |
metastate 可选 | 数字 | 与之一起按下键码的元状态 |
flags 可选 | 数字 | 按键的标志 |
支持
longPressKeyCode
在设备上按住某个键码。
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.longPressKeyCode(keycode, metastate, flags)
参数
名称 | 类型 | 详情 |
---|---|---|
keycode | 数字 | 要在设备上按下的键码 |
metastate 可选 | 数字 | 按键的元状态 |
flags 可选 | 数字 | 按键的标志 |
支持
sendKeyEvent
向设备发送键码。
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.sendKeyEvent(keycode, metastate)
参数
名称 | 类型 | 详情 |
---|---|---|
keycode | 字符串 | 要按下的键码 |
metastate 可选 | 字符串 | 与之一起按下键码的元状态 |
支持
rotateDevice
在三个维度上旋转设备。
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.rotateDevice(x, y, z)
参数
名称 | 类型 | 详情 |
---|---|---|
x | 数字 | 旋转手势中心的 x 偏移量 |
y | 数字 | 旋转手势中心的 y 偏移量 |
z | 数字 | 旋转手势中心的 z 偏移量 |
支持
getCurrentActivity
获取当前 Android 活动的名称。
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.getCurrentActivity()
返回值
- <string>
activity
: 当前活动的名称
支持
getCurrentPackage
获取当前 Android 包的名称。
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.getCurrentPackage()
返回值
- <string>
package
: 当前包的名称
支持
installApp
将给定的应用程序安装到设备上。
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.installApp(appPath)
参数
名称 | 类型 | 详情 |
---|---|---|
appPath | 字符串 | 应用程序 .apk 文件的路径 |
支持
activateApp
激活设备上的给定应用程序
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.activateApp(appId)
参数
名称 | 类型 | 详情 |
---|---|---|
appId | 字符串 | 应用程序 ID(Android 的包 ID,iOS 的捆绑 ID) |
支持
removeApp
从设备中删除应用程序。
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.removeApp(appId)
参数
名称 | 类型 | 详情 |
---|---|---|
appId | 字符串 | 应用程序 ID(Android 的包 ID,iOS 的捆绑 ID) |
支持
terminateApp
终止设备上的给定应用程序
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.terminateApp(appId)
参数
名称 | 类型 | 详情 |
---|---|---|
appId | 字符串 | 应用程序 ID(Android 的包 ID,iOS 的捆绑 ID) |
支持
isAppInstalled
检查指定的应用程序是否安装在设备上。
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.isAppInstalled(appId)
参数
名称 | 类型 | 详情 |
---|---|---|
appId | 字符串 | 应用程序 ID(Android 的包 ID,iOS 的捆绑 ID) |
返回值
- <boolean>
isAppInstalled
: 如果已安装则返回 true,否则返回 false
支持
queryAppState
获取设备上给定应用程序的状态
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.queryAppState(appId)
参数
名称 | 类型 | 详情 |
---|---|---|
appId | 字符串 | 应用程序 ID(Android 的包 ID,iOS 的捆绑 ID) |
返回值
- <number>
appStatus
: 0 表示未安装。1 表示未运行。2 表示在后台运行或挂起。3 表示在后台运行。4 表示在前台运行
支持
hideKeyboard
隐藏软键盘。
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.hideKeyboard(strategy, key, keyCode, keyName)
参数
名称 | 类型 | 详情 |
---|---|---|
strategy 可选 | 字符串 | 隐藏键盘策略(仅限 UIAutomation),可用策略 - 'press'、'pressKey'、'swipeDown'、'tapOut'、'tapOutside'、'default' |
key 可选 | 字符串 | 如果策略为 'pressKey',则为键值 |
keyCode 可选 | 字符串 | 如果策略为 'pressKey',则为键码 |
keyName 可选 | 字符串 | 如果策略为 'pressKey',则为键名 |
支持
isKeyboardShown
软键盘是否显示。
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.isKeyboardShown()
返回值
- <boolean>
isKeyboardShown
: 如果键盘显示则为 true
支持
pushFile
将文件放置到设备上的特定位置。
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.pushFile(path, data)
参数
名称 | 类型 | 详情 |
---|---|---|
path | 字符串 | 安装数据的路径 |
data | 字符串 | 文件的 base64 内容 |
支持
pullFile
从设备的文件系统中检索文件。
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.pullFile(path)
参数
名称 | 类型 | 详情 |
---|---|---|
path | 字符串 | 要从中提取文件的设备上的路径 |
返回值
- <string>
response
: 文件的 base64 内容
支持
pullFolder
从设备的文件系统中检索文件夹。
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.pullFolder(path)
参数
名称 | 类型 | 详情 |
---|---|---|
path | 字符串 | 设备上整个文件夹的路径 |
支持
toggleAirplaneMode
切换设备上的飞行模式。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.toggleAirplaneMode()
支持
toggleData
切换数据服务的状态。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.toggleData()
支持
toggleWiFi
切换WiFi服务的状态。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.toggleWiFi()
支持
toggleLocationServices
切换位置服务的状态。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.toggleLocationServices()
支持
toggleNetworkSpeed
设置网络速度(仅限模拟器)
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.toggleNetworkSpeed(netspeed)
参数
名称 | 类型 | 详情 |
---|---|---|
netspeed | 字符串 | 网络类型 - 'full','gsm', 'edge', 'hscsd', 'gprs', 'umts', 'hsdpa', 'lte', 'evdo' |
支持
openNotifications
打开Android通知(仅限模拟器)。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.openNotifications()
支持
startActivity
通过提供包名和活动名来启动Android活动。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.startActivity(appPackage, appActivity, appWaitPackage, appWaitActivity, intentAction, intentCategory, intentFlags, optionalIntentArguments, dontStopAppOnReset)
参数
名称 | 类型 | 详情 |
---|---|---|
appPackage | 字符串 | 应用名称 |
appActivity | 字符串 | 活动名称 |
appWaitPackage 可选 | 字符串 | 要等待的应用名称 |
appWaitActivity 可选 | 字符串 | 要等待的活动名称 |
intentAction 可选 | 字符串 | 将用于启动活动的intent操作 |
intentCategory 可选 | 字符串 | 将用于启动活动的intent类别 |
intentFlags 可选 | 字符串 | 将用于启动活动的标志 |
optionalIntentArguments 可选 | 字符串 | 将用于启动活动的附加intent参数 |
dontStopAppOnReset 可选 | 字符串 | 在使用adb启动应用之前,不会停止正在测试的应用的进程 |
支持
getSystemBars
检索状态栏和导航栏的可见性和边界信息。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.getSystemBars()
返回值
- <object[]>
systemBars
: 状态栏和导航栏的可见性和边界信息
支持
getDeviceTime
获取设备上的时间。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.getDeviceTime()
返回值
- <string>
time
: 设备上的时间
支持
getDisplayDensity
从设备获取显示密度。
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.getDisplayDensity()
返回值
- <*>
displayDensity
: 未定义
支持
touchId
模拟Touch ID事件(仅限iOS模拟器)。要启用此功能,必须将allowTouchIdEnroll
所需功能设置为true,并且模拟器必须已注册。当您将allowTouchIdEnroll设置为true时,它将默认设置模拟器为已注册。注册状态可以切换。仅当Appium进程或其父应用程序(例如Terminal.app或Appium.app)具有对系统偏好设置>安全性与隐私>隐私>辅助功能列表中的Mac OS辅助功能的访问权限时,此调用才有效。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.touchId(match)
参数
名称 | 类型 | 详情 |
---|---|---|
match | 布尔值 | 我们是在模拟成功的触摸(true)还是失败的触摸(false) |
支持
toggleEnrollTouchId
切换模拟器是否已注册以接受Touch ID(仅限iOS模拟器)。要启用此功能,必须将allowTouchIdEnroll
所需功能设置为true。当allowTouchIdEnroll
设置为true时,模拟器将默认注册,并且“切换Touch ID注册”会更改注册状态。仅当Appium进程或其父应用程序(例如Terminal.app或Appium.app)具有对系统偏好设置>安全性与隐私>隐私>辅助功能列表中的Mac OS辅助功能的访问权限时,此调用才有效。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.toggleEnrollTouchId(enabled)
参数
名称 | 类型 | 详情 |
---|---|---|
enabled 可选 | 布尔值 | 如果应启用Touch ID注册,则等于true |
支持
launchApp
在设备上启动应用。
Appium 命令。更多详细信息可以在官方协议文档中找到。
此协议命令已弃用
对于iOS,请使用driver.execute('mobile: launchApp', { ... })
,对于Android,请使用driver.execute('mobile: activateApp', { ... })
。
用法
driver.launchApp()
支持
closeApp
关闭设备上的应用。
Appium 命令。更多详细信息可以在官方协议文档中找到。
此协议命令已弃用
请改用driver.execute('mobile: terminateApp', { ... })
用法
driver.closeApp()
支持
background
将当前为此会话运行的应用发送到后台。
Appium 命令。更多详细信息可以在官方协议文档中找到。
此协议命令已弃用
请改用driver.execute('mobile: backgroundApp', { ... })
用法
driver.background(seconds)
参数
名称 | 类型 | 详情 |
---|---|---|
seconds | 数字,null | 恢复应用的超时时间,如果为“null”,则不会恢复应用 |
支持
endCoverage
获取测试覆盖率数据。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.endCoverage(intent, path)
参数
名称 | 类型 | 详情 |
---|---|---|
intent | 字符串 | 要广播的 Intent |
path | 字符串 | .ec 文件路径 |
支持
getStrings
获取应用字符串。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.getStrings(language, stringFile)
参数
名称 | 类型 | 详情 |
---|---|---|
language 可选 | 字符串 | 语言代码 |
stringFile 可选 | 字符串 | 字符串文件路径 |
返回值
- <object>
appStrings
: 应用中为指定语言和字符串文件名定义的所有字符串
支持
setValueImmediate
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.setValueImmediate(elementId, text)
参数
名称 | 类型 | 详情 |
---|---|---|
elementId | 字符串 | 在之前调用查找元素(Find Element(s))时返回的元素 ID |
text | 字符串 | 要设置到元素的文本 |
支持
replaceValue
直接替换元素的值。
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.replaceValue(elementId, value)
参数
名称 | 类型 | 详情 |
---|---|---|
elementId | 字符串 | 在之前调用查找元素(Find Element(s))时返回的元素 ID |
value | 字符串 | 要替换到元素上的值 |
支持
getSettings
检索设备上的当前设置。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.getSettings()
返回值
- <object>
settings
: 所有当前指定设置的 JSON 哈希,请参阅设置 API
支持
updateSettings
更新设备上的当前设置。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.updateSettings(settings)
参数
名称 | 类型 | 详情 |
---|---|---|
settings | 对象 | 包含要更新的设置的键/值对象 |
支持
receiveAsyncResponse
用于异步执行 JavaScript 的回调 URL。
Appium 命令。更多详细信息可在官方协议文档中找到。
用法
driver.receiveAsyncResponse(response)
参数
名称 | 类型 | 详情 |
---|---|---|
response | 对象 | 要在设备上接收的响应 |
支持
gsmCall
拨打 GSM 电话(仅限模拟器)。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.gsmCall(phoneNumber, action)
参数
名称 | 类型 | 详情 |
---|---|---|
phoneNumber | 字符串 | 要拨打的电话号码 |
action | 字符串 | 操作 - 'call'、'accept'、'cancel'、'hold' |
支持
gsmSignal
设置 GSM 信号强度(仅限模拟器)。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.gsmSignal(signalStrength, signalStrengh)
参数
名称 | 类型 | 详情 |
---|---|---|
signalStrength | 字符串 | 信号强度,范围为 [0, 4] |
signalStrengh 可选 | 字符串 | 信号强度,范围为 [0, 4]。如果您使用的是 Appium v1.11.0 或更低版本,也请使用相同的值设置此参数(请参阅https://github.com/appium/appium/issues/12234)。 |
支持
powerCapacity
设置电池百分比(仅限模拟器)。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.powerCapacity(percent)
参数
名称 | 类型 | 详情 |
---|---|---|
percent | 数字 | 范围为 [0, 100] 的百分比值 |
支持
powerAC
将电池充电器的状态设置为连接或断开连接(仅限模拟器)。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.powerAC(state)
参数
名称 | 类型 | 详情 |
---|---|---|
state | 字符串 | 设置状态。on 或 off |
支持
gsmVoice
设置 GSM 语音状态(仅限模拟器)。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.gsmVoice(state)
参数
名称 | 类型 | 详情 |
---|---|---|
state | 字符串 | GSM 语音状态 - 'unregistered'、'home'、'roaming'、'searching'、'denied'、'off'、'on' |
支持
sendSms
模拟短信(仅限模拟器)。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.sendSms(phoneNumber, message)
参数
名称 | 类型 | 详情 |
---|---|---|
phoneNumber | 字符串 | 要发送短信的电话号码 |
message | 字符串 | 短信内容 |
支持
fingerPrint
通过在支持的模拟器上使用用户的指纹扫描进行用户身份验证。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.fingerPrint(fingerprintId)
参数
名称 | 类型 | 详情 |
---|---|---|
fingerprintId | 数字 | 存储在 Android 密钥库系统中的指纹(从 1 到 10) |
支持
setClipboard
设置系统剪贴板的内容
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.setClipboard(content, contentType, label)
参数
名称 | 类型 | 详情 |
---|---|---|
content | 字符串 | 实际的 base64 编码剪贴板内容 |
contentType 可选 | 字符串 | 要获取的内容类型。纯文本、图像、URL。Android 仅支持纯文本 |
label 可选 | 字符串 | Android 的剪贴板数据标签 |
返回值
- <string>
response
: 来自 Appium 服务器的响应
支持
getClipboard
获取系统剪贴板的内容
Appium 命令。更多详细信息可以在官方协议文档中找到。
使用
driver.getClipboard(contentType)
参数
名称 | 类型 | 详情 |
---|---|---|
contentType 可选 | 字符串 | 要获取的内容类型。纯文本、图像、URL。Android 仅支持纯文本 |
返回值
- <string>
response
: 剪贴板内容,以 base64 编码的字符串表示,如果剪贴板为空则返回空字符串
支持
touchPerform
此功能仅在原生上下文中可用。“触摸执行”的工作方式类似于其他单一触摸交互,除了它允许您将多个触摸操作链接在一起作为一个命令。这很有用,因为 Appium 命令是通过网络发送的,命令之间存在延迟。这种延迟可能使某些触摸交互变得不可能,因为某些交互需要按顺序执行。例如,垂直操作需要按下、移动到不同的 y 坐标,然后释放。为了使其工作,交互之间不能有延迟。
Appium 命令。更多详细信息可以在官方协议文档中找到。
使用
driver.touchPerform(actions)
参数
名称 | 类型 | 详情 |
---|---|---|
actions | object[] | 要执行的操作类型(例如 moveTo、release、press、tap、wait) |
示例
// do a horizontal swipe by percentage
const startPercentage = 10;
const endPercentage = 90;
const anchorPercentage = 50;
const { width, height } = driver.getWindowSize();
const anchor = height * anchorPercentage / 100;
const startPoint = width * startPercentage / 100;
const endPoint = width * endPercentage / 100;
driver.touchPerform([
{
action: 'press',
options: {
x: startPoint,
y: anchor,
},
},
{
action: 'wait',
options: {
ms: 100,
},
},
{
action: 'moveTo',
options: {
x: endPoint,
y: anchor,
},
},
{
action: 'release',
options: {},
},
]);
支持
multiTouchPerform
此功能仅在原生上下文中可用。执行多点触控操作序列。
Appium 命令。更多详细信息可以在官方协议文档中找到。
使用
driver.multiTouchPerform(actions)
参数
名称 | 类型 | 详情 |
---|---|---|
actions | object[] | 要执行的操作类型(例如 moveTo、release、press、tap、wait) |
支持
executeDriverScript
此命令允许您将 WebdriverIO 脚本指定为字符串,并将其传输到 Appium 服务器以在服务器本身上本地执行。这种方法有助于最大程度地减少与每个命令相关的潜在延迟。要将此命令与 Appium 2.0 一起使用,您必须安装execute-driver-plugin
插件。
Appium 命令。更多详细信息可以在官方协议文档中找到。
使用
driver.executeDriverScript(script, type, timeout)
参数
名称 | 类型 | 详情 |
---|---|---|
script | 字符串 | 要执行的脚本。它可以访问一个“driver”对象,该对象表示附加到当前服务器的 WebdriverIO 会话。 |
type 可选 | 字符串 | 脚本中使用的语言/框架。目前,仅支持“webdriverio”,并且是默认值。 |
timeout 可选 | 数字 | 脚本在被 Appium 服务器终止之前允许运行的毫秒数。默认为 1 小时。 |
返回值
- <object>
result
: 一个包含两个字段的对象:“result”,它是脚本本身的返回值;“logs”,包含 3 个内部字段“log”、“warn”和“error”,它们保存脚本执行过程中通过 console.log、console.warn 和 console.error 记录的字符串数组。
getEvents
获取存储在 appium 服务器中的事件。
Appium 命令。更多详细信息可以在官方协议文档中找到。
使用
driver.getEvents(type)
参数
名称 | 类型 | 详情 |
---|---|---|
type | string[] | 获取使用类型过滤的事件(如果提供了类型)。 |
返回值
- <object>
result
: 事件的 JSON 哈希,例如{'commands' => [{'cmd' => 123455, ....}], 'startTime' => 1572954894127, }
。
支持
logEvent
存储自定义事件。
Appium 命令。更多详细信息可以在官方协议文档中找到。
使用
driver.logEvent(vendor, event)
参数
名称 | 类型 | 详情 |
---|---|---|
vendor | 字符串 | 供应商的名称。它将在 vendor:event 中为 vendor 。 |
event | 字符串 | 事件的名称。它将在 vendor:event 中为 event 。 |
支持
compareImages
此功能利用 OpenCV 框架的功能进行图像比较。请注意,要使此功能正常工作,必须在 Appium 服务器运行的机器上安装 OpenCV 框架和 opencv4nodejs 模块。此外,您需要安装images-plugin
插件才能与 Appium 2.0 一起使用此功能。
Appium 命令。更多详细信息可以在官方协议文档中找到。
使用
driver.compareImages(mode, firstImage, secondImage, options)
参数
名称 | 类型 | 详情 |
---|---|---|
mode | 字符串 | 可能的比较模式之一:“matchFeatures”、“getSimilarity”、“matchTemplate”。默认情况下为“matchFeatures”。 |
firstImage | 字符串 | 图像数据。支持 OpenCV 库本身接受的所有图像格式。 |
secondImage | 字符串 | 图像数据。支持 OpenCV 库本身接受的所有图像格式。 |
options | 对象 | 此字典的内容取决于实际的 mode 值。有关更多详细信息,请参阅 appium-support 模块的文档。 |
返回值
- <object>
result
: 结果字典的内容取决于实际的mode
和options
值。有关更多详细信息,请参阅appium-support
模块的文档。
implicitWait
设置驱动程序在搜索元素时应等待的时间。在搜索单个元素时,驱动程序应轮询页面,直到找到元素或超时,以先发生者为准。在搜索多个元素时,驱动程序应轮询页面,直到找到至少一个元素或超时,此时它应返回一个空列表。如果从未发送此命令,则驱动程序应默认为 0 毫秒的隐式等待。
Appium 命令。更多详细信息可以在官方协议文档中找到。
使用
driver.implicitWait(ms)
参数
名称 | 类型 | 详情 |
---|---|---|
ms | 数字 | 等待元素的时间(以毫秒为单位)。 |
支持
getLocationInView
确定元素在滚动到视图中后在屏幕上的位置。
注意:这被认为是内部命令,仅应用于确定元素的位置以正确生成原生事件。
Appium 命令。更多详细信息可以在官方协议文档中找到。
使用
driver.getLocationInView(elementId)
参数
名称 | 类型 | 详情 |
---|---|---|
elementId | 字符串 | 要将命令路由到的元素的 ID |
返回值
- <Object>
location
: 页面上元素的 X 和 Y 坐标。
支持
sendKeys
向活动元素发送一系列按键。
Appium 命令。更多详细信息可以在官方协议文档中找到。
使用
driver.sendKeys(value)
参数
名称 | 类型 | 详情 |
---|---|---|
value | string[] | 要键入的键序列。必须提供数组。 |
支持
availableIMEEngines
列出机器上所有可用的引擎。要使用引擎,它必须存在于此列表中。
Appium 命令。更多详细信息可以在官方协议文档中找到。
使用
driver.availableIMEEngines()
返回值
- <String[]>
engines
: 可用引擎列表
支持
getActiveIMEEngine
获取活动 IME 引擎的名称。名称字符串是特定于平台的。
Appium 命令。更多详细信息可以在官方协议文档中找到。
使用
driver.getActiveIMEEngine()
返回值
- <String>
engine
: 活动 IME 引擎的名称
支持
isIMEActivated
指示 IME 输入当前是否处于活动状态
Appium 命令。更多详细信息可以在官方协议文档中找到。
使用
driver.isIMEActivated()
返回值
- <Boolean>
isActive
: 如果 IME 输入可用且当前处于活动状态,则为 true,否则为 false
支持
deactivateIMEEngine
停用当前活动的 IME 引擎。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.deactivateIMEEngine()
支持
activateIMEEngine
使可用的引擎生效
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.activateIMEEngine(engine)
参数
名称 | 类型 | 详情 |
---|---|---|
引擎 | 字符串 | 要激活的引擎名称 |
支持
asyncScriptTimeout
设置由 /session/:sessionId/execute_async
执行的异步脚本在被中止并向客户端返回 Timeout
错误之前允许运行的时间(以毫秒为单位)。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.asyncScriptTimeout(ms)
参数
名称 | 类型 | 详情 |
---|---|---|
ms | 数字 | 受时间限制的命令允许运行的时间量(以毫秒为单位) |
支持
submit
提交表单元素。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.submit(elementId)
参数
名称 | 类型 | 详情 |
---|---|---|
elementId | 字符串 | 要提交的表单元素的 ID |
支持
getElementSize
确定元素的大小(以像素为单位)。大小将作为包含 width
和 height
属性的 JSON 对象返回。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.getElementSize(elementId)
参数
名称 | 类型 | 详情 |
---|---|---|
elementId | 字符串 | 要将命令路由到的元素的 ID |
返回值
- <Object>
size
: 元素的宽度和高度(以像素为单位)。
支持
getElementLocation
确定元素在页面上的位置。点 (0, 0)
指的是页面的左上角。元素的坐标将作为包含 x
和 y
属性的 JSON 对象返回。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.getElementLocation(elementId)
参数
名称 | 类型 | 详情 |
---|---|---|
elementId | 字符串 | 要将命令路由到的元素的 ID |
返回值
- <Object>
location
: 页面上元素的 X 和 Y 坐标。
支持
touchClick
在支持触摸的设备上轻触一次。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.touchClick(element)
参数
名称 | 类型 | 详情 |
---|---|---|
元素 | 字符串 | 要轻触的元素的 ID。 |
支持
touchDown
手指按下屏幕。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.touchDown(x, y)
参数
名称 | 类型 | 详情 |
---|---|---|
x | 数字 | 屏幕上的 x 坐标 |
y | 数字 | 屏幕上的 y 坐标 |
支持
touchUp
手指离开屏幕。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.touchUp(x, y)
参数
名称 | 类型 | 详情 |
---|---|---|
x | 数字 | 屏幕上的 x 坐标 |
y | 数字 | 屏幕上的 y 坐标 |
支持
touchMove
手指在屏幕上移动。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.touchMove(x, y)
参数
名称 | 类型 | 详情 |
---|---|---|
x | 数字 | 屏幕上的 x 坐标 |
y | 数字 | 屏幕上的 y 坐标 |
支持
touchLongClick
使用手指运动事件在触摸屏上长按。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.touchLongClick(element)
参数
名称 | 类型 | 详情 |
---|---|---|
元素 | 字符串 | 要长按的元素的 ID |
支持
touchFlick
使用手指运动事件在触摸屏上轻弹。此轻弹命令从特定的屏幕位置开始。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.touchFlick(xoffset, yoffset, element, speed, xspeed, yspeed)
参数
名称 | 类型 | 详情 |
---|---|---|
xoffset 可选 | 数字 | 轻弹的 x 偏移量(以像素为单位) |
yoffset 可选 | 数字 | 轻弹的 y 偏移量(以像素为单位) |
元素 可选 | 字符串 | 轻弹开始的元素的 ID |
速度 可选 | 数字 | 速度(以像素/秒为单位) |
xspeed 可选 | 数字 | x 速度(以像素/秒为单位) |
yspeed 可选 | 数字 | y 速度(以像素/秒为单位) |
支持
getOrientation
获取当前设备的方向。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.getOrientation()
返回值
- <String>
orientation
: 对应于 ScreenOrientation 中定义的值的当前方向:LANDSCAPE|PORTRAIT
。
支持
setOrientation
设置设备方向
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.setOrientation(orientation)
参数
名称 | 类型 | 详情 |
---|---|---|
方向 | 字符串 | 在 ScreenOrientation 中定义的新浏览器方向:`LANDSCAPE |
支持
getLogs
获取给定日志类型的日志。每次请求后都会重置日志缓冲区。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.getLogs(type)
参数
名称 | 类型 | 详情 |
---|---|---|
type | 字符串 | 日志类型 |
返回值
- <Object[]>
logs
: 日志条目的列表。
支持
getLogTypes
获取可用的日志类型。
Appium 命令。更多详细信息可以在官方协议文档中找到。
用法
driver.getLogTypes()
返回值
- <String[]>
logTypes
: 可用日志类型的列表。
支持