[英]Automation test with NightwatchJS on iOS simulator using XCUI
我嘗試使用 NightWatchJS 對“單擊和拖動”行為進行自動化 UI 測試,並在 Android 虛擬設備上成功執行它。 但是,當我嘗試在 IOS 模擬器(iPhone 12 Pro max,14.5)上啟動測試時,使用命令.mouseButtonDown()
顯示“未處理端點”錯誤
Appium 日志如下所示:
[WD Proxy] Matched '/wd/hub/session/d033457a-e51c-4195-9d57-36976f50508a/buttondown' to command name 'buttonDown'
[WD Proxy] Proxying [POST /wd/hub/session/d033457a-e51c-4195-9d57-36976f50508a/buttondown] to [POST http://127.0.0.1:8100/session/680ECC16-09F1-472D-8D31-1C032771CC88/buttondown] with body: {"button":0}
[WD Proxy] Got response with status 404:
{"value":
{"error":"unknown command",
"message":"Unhandled endpoint: /session/680ECC16-09F1-472D-8D31 1C032771CC88/buttondown
-- http://127.0.0.1:8100/ with parameters {\n wildcards = (\n
\"session/680ECC16-09F1-472D-8D31-1C032771CC88/buttondown\"\n );\n}",
"traceback":""},
"sessionId":"680ECC16-09F1-472D-8D31-1C032771CC88"}
[debug] [W3C] Matched W3C error code 'unknown command' to UnknownCommandError
[HTTP] <-- POST /wd/hub/session/d033457a-e51c-4195-9d57-36976f50508a/buttondown 500 3 ms - 309
這是測試的配置:
ios : {
desiredCapabilities :{
automationName: "XCUITest",
browserName : "safari",
platformName : "iOS",
platformVersion : "14.5",
deviceName : "iPhone 12 Pro Max",
real_mobile : false,
connectHardwareKeyboard: false
}
我可能想知道是否有任何方法可以解決 iOS 模擬器上的這個問題?
出現這個問題的原因是蘋果的 XCTest 測試驅動的框架與用於 Android 虛擬設備的測試驅動不同,並且它本身不支持 TouchAction 接口實現的 W3C 標准。 所以我們可以在 NightwatchJS 官方文檔中找到的一些命令可能無法正常工作。 出於這個原因,我們可以使用 XCtest 驅動程序附帶的手勢集( 此處所有手勢的列表)。 要將手勢應用於 Nightwatch 測試,請使用browser.execute('mobile: gesture', {arguments})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.