此错误信息:
java.lang.NoSuchMethodError: org.openqa.selenium.json.JsonOutput.write(Ljava/lang/Object;Ljava/lang/reflect/Type;)Lorg/openqa/selenium/json/JsonOutput;.Suppressed: org.openqa.selenium.json.JsonException: Attempting to close incomplete json stream
…表示在JVM尝试转义某些字符时引发了 java.lang.NoSuchMethodError 。
在缺少以下与您的 测试环境 有关的信息的情况下,很难分析错误:
- selenium-server-standalone-3.13.0.jar 或 selenium-java-3.13.0 客户端。
- JAR 或 Maven 或 Gradle
但是此错误来自以下源代码:
public void close() { if (appendable instanceof Closeable) { try { ((Closeable) appendable).close(); } catch (IOException e) { throw new JsonException(e); } } if (!(stack.getFirst() instanceof Empty)) { throw new JsonException("Attempting to close incomplete json stream"); } }原因
可能的原因可能是以下之一:
- 通过 selenium-server-standalone-3.13.0.jar* 和 selenium-java-3.13.0 客户端jar 存在多个 与Selenium相关的 jar。 ***
- 通过 JAR* 和 Maven 和/或 Gradle 存在多个 与硒相关的jar 。 *
- 存在 gson-2.8.2.jar 作为Selenium v3.13.0的发行说明中明确提到:
* Introduced our own JSON parser and outputter, allowing GSON to be removed from our dependencies.
解
- 如果使用手动下载的 JAR 文件,请删除所有与 Selenium 相关的 外部JAR, 然后添加新下载的一个。
- 如果使用 Maven 或 Gradle ,请执行以下步骤:
- 通过CLI :(
mvn clean
清除以前的依赖项) - 通过CLI :(
mvn install
安装必需的依赖项) - 通过CLI :(
mvn test
执行测试套件)
- 通过CLI :(



