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 選用 | 數字 | 按下按鍵碼時的 meta 狀態 |
flags 選用 | 數字 | 按鍵事件的旗標 |
支援
longPressKeyCode
在裝置上長按特定的按鍵碼。
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.longPressKeyCode(keycode, metastate, flags)
參數
名稱 | 類型 | 詳細資訊 |
---|---|---|
keycode | 數字 | 要在裝置上按下的按鍵碼 |
metastate 選用 | 數字 | 按鍵事件的 meta 狀態 |
flags 選用 | 數字 | 按鍵事件的旗標 |
支援
sendKeyEvent
傳送按鍵碼到裝置。
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.sendKeyEvent(keycode, metastate)
參數
名稱 | 類型 | 詳細資訊 |
---|---|---|
keycode | 字串 | 要按下的按鍵碼 |
metastate 選用 | 字串 | 按下按鍵碼時的 meta 狀態 |
支援
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 的 Bundle ID) |
支援
removeApp
從裝置移除應用程式。
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.removeApp(appId)
參數
名稱 | 類型 | 詳細資訊 |
---|---|---|
appId | 字串 | 應用程式 ID (Android 的套件 ID,iOS 的 Bundle ID) |
支援
terminateApp
終止裝置上指定的應用程式
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.terminateApp(appId)
參數
名稱 | 類型 | 詳細資訊 |
---|---|---|
appId | 字串 | 應用程式 ID (Android 的套件 ID,iOS 的 Bundle ID) |
支援
isAppInstalled
檢查指定的應用程式是否已安裝在裝置上。
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.isAppInstalled(appId)
參數
名稱 | 類型 | 詳細資訊 |
---|---|---|
appId | 字串 | 應用程式 ID (Android 的套件 ID,iOS 的 Bundle ID) |
回傳值
- <boolean>
isAppInstalled
: 如果已安裝則回傳 true,如果未安裝則回傳 false
支援
queryAppState
取得裝置上指定應用程式的狀態
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.queryAppState(appId)
參數
名稱 | 類型 | 詳細資訊 |
---|---|---|
appId | 字串 | 應用程式 ID (Android 的套件 ID,iOS 的 Bundle 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
切換 Wi-Fi 服務的狀態。
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
: undefined
支援
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 選用 | 布林值 | 如果應該啟用 TouchID 註冊,則等於 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 雜湊,請參閱 Settings 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 | 字串 | 設定狀態。開啟或關閉 |
支援
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 Keystore 系統中的指紋 (從 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
此功能僅在原生環境中可用。 'Touch Perform' 的運作方式與其他單點觸控互動類似,但它允許您將多個觸控動作鏈結為一個命令。這很有用,因為 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 | 字串 | 要執行的腳本。它可以存取代表附加到目前伺服器的 WebdriverIO 會話的 'driver' 物件。 |
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
取得目前啟用的輸入法引擎名稱。名稱字串會因平台而異。
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.getActiveIMEEngine()
回傳值
- <字串>
engine
: 目前啟用的輸入法引擎名稱
支援
isIMEActivated
指出目前是否已啟用輸入法輸入
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.isIMEActivated()
回傳值
- <布林值>
isActive
: 如果輸入法輸入可用且目前啟用,則為 true,否則為 false
支援
deactivateIMEEngine
停用目前啟用的輸入法引擎。
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.deactivateIMEEngine()
支援
activateIMEEngine
啟用可用的輸入法引擎
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.activateIMEEngine(engine)
參數
名稱 | 類型 | 詳細資訊 |
---|---|---|
engine | 字串 | 要啟用的輸入法引擎名稱 |
支援
asyncScriptTimeout
設定由 /session/:sessionId/execute_async
執行的非同步腳本在中止並向用戶端返回 Timeout
錯誤之前,允許執行的時間長度(以毫秒為單位)。
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.asyncScriptTimeout(ms)
參數
名稱 | 類型 | 詳細資訊 |
---|---|---|
ms | 數字 | 時間限制命令允許執行的時間長度(以毫秒為單位) |
支援
submit
提交表單元素。
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.submit(elementId)
參數
名稱 | 類型 | 詳細資訊 |
---|---|---|
elementId | 字串 | 要提交的表單元素的 ID |
支援
getElementSize
判斷元素的尺寸(以像素為單位)。尺寸將以 JSON 物件的形式回傳,其中包含 width
和 height
屬性。
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.getElementSize(elementId)
參數
名稱 | 類型 | 詳細資訊 |
---|---|---|
elementId | 字串 | 要將命令路由到的元素的 ID |
回傳值
- <物件>
size
: 元素的寬度和高度(以像素為單位)。
支援
getElementLocation
判斷元素在頁面上的位置。點 (0, 0)
指的是頁面的左上角。元素的座標會以 JSON 物件的形式回傳,其中包含 x
和 y
屬性。
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.getElementLocation(elementId)
參數
名稱 | 類型 | 詳細資訊 |
---|---|---|
elementId | 字串 | 要將命令路由到的元素的 ID |
回傳值
- <Object>
location
: 頁面上元素的 X 和 Y 座標。
支援
touchClick
在觸控裝置上單擊。
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.touchClick(element)
參數
名稱 | 類型 | 詳細資訊 |
---|---|---|
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)
參數
名稱 | 類型 | 詳細資訊 |
---|---|---|
element | 字串 | 要長按的元素的 ID |
支援
touchFlick
使用手指動作事件在觸控螢幕上滑動。此滑動命令從特定的螢幕位置開始。
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.touchFlick(xoffset, yoffset, element, speed, xspeed, yspeed)
參數
名稱 | 類型 | 詳細資訊 |
---|---|---|
xoffset 選用 | 數字 | 滑動的 x 偏移量(以像素為單位) |
yoffset 選用 | 數字 | 滑動的 y 偏移量(以像素為單位) |
element 選用 | 字串 | 滑動開始的元素的 ID |
speed 選用 | 數字 | 速度(以像素/秒為單位) |
xspeed 選用 | 數字 | x 軸速度(以像素/秒為單位) |
yspeed 選用 | 數字 | y 軸速度(以像素/秒為單位) |
支援
getOrientation
取得目前的裝置螢幕方向。
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.getOrientation()
回傳值
- <字串>
orientation
: 目前的螢幕方向,對應於 ScreenOrientation 中定義的值:LANDSCAPE|PORTRAIT
。
支援
setOrientation
設定裝置螢幕方向
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.setOrientation(orientation)
參數
名稱 | 類型 | 詳細資訊 |
---|---|---|
orientation | 字串 | ScreenOrientation 中定義的新瀏覽器螢幕方向:`LANDSCAPE |
支援
getLogs
取得指定日誌類型的日誌。日誌緩衝區會在每次請求後重設。
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.getLogs(type)
參數
名稱 | 類型 | 詳細資訊 |
---|---|---|
type | 字串 | 日誌類型 |
回傳值
- <物件陣列>
logs
: 日誌項目的清單。
支援
getLogTypes
取得可用的日誌類型。
Appium 命令。更多詳細資訊請參閱官方協定文件。
用法
driver.getLogTypes()
回傳值
- <字串陣列>
logTypes
: 可用的日誌類型清單。
支援