Appium中JavascriptExecutor出现不支持的命令异常



我正在安卓浏览器上运行测试,直到上周,所有JS点击都很正常,但今天它抛出了以下异常。

org.openqa.selenium.UnsupportedCommandException: <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>SyntaxError: Unexpected token a in JSON at position 0<br> &nbsp; &nbsp;at JSON.parse (&lt;anonymous&gt;)<br> &nbsp; &nbsp;at createStrictSyntaxError (/root/appium/appium/1.16.0/node_modules/appium/node_modules/body-parser/lib/types/json.js:158:10)<br> &nbsp; &nbsp;at parse (/root/appium/appium/1.16.0/node_modules/appium/node_modules/body-parser/lib/types/json.js:83:15)<br> &nbsp; &nbsp;at /root/appium/appium/1.16.0/node_modules/appium/node_modules/body-parser/lib/read.js:121:18<br> &nbsp; &nbsp;at invokeCallback (/root/appium/appium/1.16.0/node_modules/appium/node_modules/raw-body/index.js:224:16)<br> &nbsp; &nbsp;at done (/root/appium/appium/1.16.0/node_modules/appium/node_modules/raw-body/index.js:213:7)<br> &nbsp; &nbsp;at IncomingMessage.onEnd (/root/appium/appium/1.16.0/node_modules/appium/node_modules/raw-body/index.js:273:7)<br> &nbsp; &nbsp;at IncomingMessage.emit (events.js:203:15)<br> &nbsp; &nbsp;at endReadableNT (_stream_readable.js:1129:12)<br> &nbsp; &nbsp;at process._tickCallback (internal/process/next_tick.js:63:19)</pre>
</body>
</html>

我使用的Appium版本为1.15.0,selenium版本如下。

<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.12.0</version>
</dependency>

Please suggest

读取错误的堆栈跟踪,然后检查主体解析器库(您正在使用(的源代码请参见此处:https://github.com/expressjs/body-parser/blob/master/lib/types/json.js#L81

很明显,您会出现此错误,因为传递给parse函数的字符串的第一个字符不同于{[,这意味着它不是JSON格式。

从这个错误中,我还可以看到输入的第一个令牌(或字符(是a,JSON不能以这个令牌开头。

我认为你必须在parse函数之前放一个日志,看看你传递了什么并更正了输入。

最新更新