获取错误的HTTP状态:“ 404”->“未知方法”的JSON状态映射不正确(预期为405),以便将Appium与类AndroidTouchAction一起使用

时间:2018-11-01 14:36:46

标签: appium appium-android

我将Appium用于真实设备上的自动化移动chrome浏览器。我需要在网络元素上滑动。我已经用下面的脚本了

 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”:“发布”,“选项”:{}}],“ a6425cfd-df0b-490e-a30c-a3ef8c5b3424”]]   [W3C]遇到内部错误运行命令:   NotYetImplementedError:方法尚未实现[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)   GeneratorFunctionPrototype.invoke上的[W3C] [作为_invoke]   (C:\ Users \ chints \ AppData \ Local \ Programs \ Appium \ resources \ app \ node_modules \ appium \ node_modules \ babel-runtime \ regenerator \ runtime.js:315:22)   GeneratorFunctionPrototype.prototype上的[W3C](匿名函数)   [下一个]   (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] at enqueueResult   (C:\ Users \ chints \ AppData \ Local \ Programs \ Appium \ resources \ app \ node_modules \ appium \ node_modules \ babel-runtime \ regenerator \ runtime.js:185:17)   [W3C]在新的Promise()[W3C]在新的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] at 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 [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   tryCatcher的[W3C]   (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]位于Async._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]在Instant.Async.drainQueues [作为_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]在runCallback(timers.js:789:20)[W3C]在   tryImmediate的tryOnImmediate(timers.js:751:5)[W3C]   _immediateCallback](timers.js:722:5)[HTTP] <-POST / wd / hub / session / a6425cfd-df0b-490e-a30c-a3ef8c5b3424 / touch / perform 404   7毫秒-4202

1 个答案:

答案 0 :(得分:0)

首先请确保您使用的是最新稳定版的Appium服务器1.9.1和Java客户端6.1.0。

现在滑动时,请勿从x: 0, y: 0开始。

尝试从x: 5, y: 5开始。

这应该可行,因为从设备边界开始,Appium会引起问题。