appium - 获取错误 HTTP 状态:“404”->“未知方法”的 JSON 状态映射不正确(预期为 405)以使用带有 AndroidTouchAction 类的 Appium
问题描述
我在真实设备上使用 Appium 进行自动化移动 chrome 浏览器。我需要在 webelement 上滑动。我已经使用了下面的脚本
AndroidTouchAction action = new AndroidTouchAction (driver);
action.press(PointOption.point(00, 00)).moveTo(PointOption.point(100, 100)).release().perform();
System.out.println("Test");
执行后我在eclipse中收到以下错误
信息:HTTP 状态:“404”->“未知方法”的 JSON 状态映射不正确(预期为 405)
所以刷卡操作没有完成。这里有什么问题?
以下是 Appium 日志
[W3C] 使用 args 调用 AppiumDriver.performTouch():[[{"action":"press","options":{"x":0,"y":0}},{"action":"moveTo" ,"options":{"x":100,"y":100}},{"action":"release","options":{}}],"a6425cfd-df0b-490e-a30c-a3ef8c5b3424"] [W3C] Encountered internal error running command: NotYetImplementedError: Method has not been implemented [W3C]
在 AndroidDriver.callee$0$0$ (C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-android-driver\lib\commands\touch.js:136:11 ) [W3C] 在 tryCatch (C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:67:40) [W3C] 在GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:315:22) [W3C]在 GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:100 :21) [W3C] 在调用时 (C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:136:37) [W3C] 在 enqueueResult (C:\Users\chints\ AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:185:17) [W3C] at new Promise () [W3C] at new F (C:\ Users\chints\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\core-js\library\modules\$.export.js:30:36) [W3C] 在 AsyncIterator.enqueue (C: \Users\chints\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:184:12) [W3C] 在 AsyncIterator.prototype.(匿名函数) [接下来] (C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:100:21) [W3C] 在 Object.runtime.async (C:\ Users\chints\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:209:12) [W3C] 在 AndroidDriver.callee$0$0 [as performTouch] ( C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-android-driver\build\lib\commands\touch.js:375:30) [W3C] 在 C :\Users\chints\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-base-driver\lib\basedriver\driver.js:296:26 [W3C] at tryCatcher (C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-base-driver\node_modules\bluebird\js\main\util.js:26:23) [W3C] 在 Promise ._settlePromiseFromHandler (C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-base-driver\node_modules\bluebird\js\main\promise.js:510:31) [W3C] 在 Promise._settlePromiseAt (C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-base-driver\node_modules\bluebird\js\main\promise.js :584:18) [W3C] 在 Promise._settlePromiseAtPostResolution (C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-base-driver\node_modules\bluebird\js\ main\promise.js:248:10) [W3C] 在 Async._drainQueue (C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-base-driver\node_modules\bluebird\js\main\async.js:128:12) [W3C] 在异步._drainQueues (C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-base-driver\node_modules\bluebird\js\main\async.js:133:10) [W3C] 在 Immediate.Async.drainQueues [as _onImmediate] (C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-base-driver\node_modules\bluebird\js \main\async.js:15:14) [W3C] at runCallback (timers.js:789:20) [W3C] at tryOnImmediate (timers.js:751:5) [W3C] at processImmediate [as _immediateCallback] (timers .js:722:5) [HTTP] <-- POST /wd/hub/session/a6425cfd-df0b-490e-a30c-a3ef8c5b3424/touch/perform 404 7 ms - 4202-- POST /wd/hub/session/a6425cfd-df0b-490e-a30c-a3ef8c5b3424/touch/perform 404 7 ms - 4202
解决方案
首先确保您使用的是最新稳定版本的 Appium 服务器 1.9.1 和 Java 客户端 6.1.0。
现在刷卡时,不要从x: 0, y: 0
.
尝试从x: 5, y: 5
相反开始。
这应该可以工作,因为 Appium 在从设备边界开始时会导致问题。
推荐阅读
- here-api - Here Maps Auto-Suggest 端点更改语言
- compiler-errors - OutKind.ConsoleApplication Err(Roslyn 编译器)
- bash - 从第 1000 行开始 sed 直到文件末尾在我的代码中不起作用
- javascript - Need help figuring out why Fullcalendar isn't showing my events. - no errors showing
- javascript - 从jquery中的div中删除特定单词
- c++ - Why does putting const on the left side of an ampersand valid when referring to a pointer but not on the right?
- flutter - How can i listen to a stream and then pass it to Streambuilder?
- javascript - Assigning uploaded files from google form in appropriate google drive folder
- node.js - Properly handling Google OAuth with separated frontend and backend
- javascript - 为什么 Javascript 不能与 Django HTML 一起使用?