首页 > 解决方案 > 使用 TestNG 类路径设置发生 JNI 错误

问题描述

我正在查看 TestNG 文档,我想实现 DotTestListener 类来覆盖用于记录和结果的 TestNG 方法(文档中的第 6.2.1 节) https://testng.org/doc/documentation-main.html

我正在尝试在 cmd 中使用此命令来调用侦听器:

java -classpath C:\TestNG\plugins\testng7.0.jar;C:\eclipse-2018\Tests org.testng.TestNG -listener org.testng.reporters.DotTestListener testng.xml

注意:我自己将TestNG库重命名为“testng7.0.jar”

\Tests 是我的 Eclipse 项目文件夹

当我运行命令时,我在 CLI 中得到了这个异常:

错误:发生 JNI 错误,请检查您的安装并重试 线程“main”中的异常 java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang .Class.privateGetDeclaredMethods(Unknown Source) at java.lang.Class.privateGetMethodRecursive(Unknown Source) at java.lang.Class.getMethod0(Unknown Source) at java.lang.Class.getMethod(Unknown Source) at sun.launcher.LauncherHelper .validateMainClass(Unknown Source) at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) 原因:java.lang.ClassNotFoundException: com.beust.jcommander.ParameterException at java.net.URLClassLoader.findClass(Unknown Source) at java.lang .类加载器。loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 7 更多

标签: javaautomated-teststestng

解决方案


打开 cmd 和 cd 进入 eclipse 项目目录,将环境类路径设置为 TestNG\plugins(所有重要的 Jar 库),selenium 依赖项的路径,以及包含 .class 文件的 TestNG 项目 bin 文件夹的路径:

java -classpath C:\eclipse-2018\Tests\bin;C:\Selenium_dependencies\*;C:\TestNG\plugins\* org.testng.TestNG -listener org.testng.reporters.DotTestListener testng.xml

类路径也可以这样设置:

1.

set classpath=C:\eclipse-2018\Tests\bin;C:\Selenium_dependencies\*;C:\TestNG\plugins\*

2.

java -classpath %classpath% org.testng.TestNG -listener org.testng.reporters.DotTestListener testng.xml

硒依赖:

https://jar-download.com/artifacts/org.seleniumhq.selenium/selenium-chrome-driver/3.12.0/source-code


推荐阅读