我正在尝试通过命令行运行testng,我在classpath中有以下内容:
testng
jar,jar编译的测试用例文件和其他必需的jar。testng.xml
指向层次结构中的适当类。Testng不运行而是抛出:
[TestNG] [ERROR] Cannot find class in classpath: (name of testcase file)
我之前遇到过同样的问题而且我刚才补充道。
在classpath
,它解决了这个问题。但这次它似乎没有解决它。任何解决方法?提前致谢。
我刚刚遇到这个问题而且我非常有信心这是eclipse的TestNG插件中的一个错误,因为我能够从命令行运行我的测试就好了。
似乎对我和其他人有用的修复只是为了清理你的项目(Project
→Clean
)。一个人不得不重新安装整个插件。
我必须从我的测试类中创建一个jar文件并将其添加到我的类路径中。以前我将测试类文件添加到类路径,然后我得到了上面的错误。所以我创建了一个jar并添加到classpath中。
e.g
java -cp "my_jars/*" org.testng.TestNG testing.xml
检查类层次结构。如果您的课程中缺少包裹,您将收到此错误。因此,尝试通过选择包来创建新的测试类。
更改TestNG输出路径(项目属性 - > TestNG - >输出目录)后,它为我工作。
我刚遇到这个问题,是因为检查了运行配置中的跳过测试选项。使得unchecked和build,然后运行testNg,工作。
我得到了同样的错误 - 在类路径中找不到类:
解决方案:我犯下了以下错误:
在我的情况下,包结构不正确,它就像文件夹和子文件夹。我删除了该项目,并通过更改相应的jre再次导入。之后它对我有用。例如文件夹结构 - TestProject -TestSuite1包结构 - TestProject.TestSuite1
我面临同样的问题解决方案是,你需要检查testng文件,在这个案例类中创建的类是通过Test NG找不到的。执行以下步骤只需将您的项目转换为测试NG并使用新的testNG文件覆盖/写入/ rplace。
在这种情况下再次运行此TestNG它正在处理我的情况,
如果您在Eclipse(Mars)IDE中打开项目:在eclipse中右键单击项目单击TestNG单击“转换为TestNG”
这将创建一个新的testng.xml文件并提示您覆盖现有文件(!!!警告,这将删除您以前的testng.xml !!!)。单击是。
作为Maven测试版本运行。
我尝试了上面的所有建议,但它对我的情况不起作用。事实证明我的项目构建路径有一个错误(无法找到一个相关的jar)。修复该错误后,testng再次在我的Eclipse中运行。
避免错误
在类路径中找不到类:(测试用例文件的名称)
你需要在一个地方举行Runner类和Test类。我的意思是src和测试文件夹。
如果您的包名是FabFurnishPackage并且您的类名是注册的,那么xml中的代码应该是
<classes>
<class name="FabFurnishPackage.registration">
</classes>
[TestNG] [ERROR]在类路径中找不到类:注册问题已修复...
我遇到了同样的问题。每当我运行我的测试时,它都会继续说类路径中找不到的类。我试图修复testng.xml文件,清理项目以及答案在这里说的所有内容,但都没有。最后,我在构建路径中检查了我引用的库,并且有34个无效的库,结果我已经从我从中获取jar文件的路径重命名了一个文件夹。我修复了路径,测试成功运行。
因此,在尝试其他方法来解决此问题之前,检查引用的jar文件中是否存在任何错误可能会很有成效。
当我尝试执行我的Testng.xml文件时,我遇到了类似的问题。
要修复你应该将你的类文件从默认pkg移动到其他pkg;即创建一个新的pkg并将您的类文件放在那里
我也面临同样的问题。我试图以不同的方式设置类路径,它适用于我:
set classpath="projectpath"\bin;"projectpath"\lib\*
按Enter键
java org.testng.TestNG testng.xml
再次按Enter键
我希望这有效!
当我用默认的pacage和一个名为addition的类转换我的项目到testng.xml。它转换为:
<classes>
<class name=".addition"/>
</classes>
并抛出无法加载类的错误。如果我删除。在添加之前,代码工作正常。所以要小心默认包。
由于某些构建错误,此问题即将发生。 1.清理项目 - 如果问题未解决2.更新maven项目 - 如果仍未解决3.从构建路径(右键单击项目 - >属性 - > java构建路径)现在检查库文件。如果您看到错误,请通过在给定位置添加丢失的文件来解决它。
我遇到了同样的问题,经过大量的方法,我找到了解决问题的第3个解决方案
Eclipse - >右键单击Project - > Build Path - > Configure - > Java Build Path。
添加库 - > JRE lib。
添加您在系统中使用的最新Java库,并删除其他旧的JRE库并保存它。
我在使用maven时遇到了同样的问题
有效的解决方案是,testNG文件中类的名称与实际类名称不同
由于我更改了classname和testng文件没有更新。
因此,请确保testNG文件中的className应与实际的className匹配
RestAssuredTest被误写为testNG中的RestAssuredest
这个问题的原因之一
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite">
<test name="Test">
<classes>
<class name="com.mycompany.app.AppTest"/>
<class name="com.mycompany.app.RestAssuredTest"/>
<class name="com.mycompany.app.appiumTests"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
右键单击项目 - >转到maven - >更新项目
当没有别的办法可以解决我的问题
如果您已重命名testNG类并且在测试套件xml文件中未重命名,则会出现此错误。我也修正了xml文件,它对我有用。
只需执行Eclipse> Project> Clean,然后再次运行测试用例。它应该工作。
它在后台的作用是,它会在你的项目目录中调用mvn eclipse:clean,这将删除你的.project和.classpath文件,你也可以做一个mvn eclipse:eclipse - 这会重新生成你的.project和.classpath文件。因此在类路径中添加所需的类。
我面临同样的问题,我尝试的是如下。
pom.xml
并清理)这解决了这个问题。
在从命令提示符运行testng.xml文件的命令之前,如果缺少它们,请检查以下内容
set CLASSPATH
并包含testng jar文件位置,selenium-server jar文件位置(如果你正在使用selenium webdriver),项目的bin文件夹位置,其中包含项目的所有.class文件。
例如,set CLASSPATH=C:\Selenium\testng-5.8-jdk15.jar;C:\Selenium\selenium-server-standalone-2.31.0.jar;C:\SeleniumTests\YourProject\bin
java org.testng.TestNG testng.xml.
我遇到了同样的情况,但上述事情对我有用。
加到pom:
<build>
<sourceDirectory>${basedir}/src</sourceDirectory>
<testSourceDirectory>${basedir}/test</testSourceDirectory>
(...)
<plugins>
(...)
</plugins>
</build>
确保你的suite.xml不应该有.java扩展名
例如:
<test name="Test C1">
<classes>
<class name="com.taxi.suiteC.TestCase_C1" ></class>
</classes>
</test>
请确保您已在TestNG.xml文件中指定了您的类/包。
<test name="test1" preserve-order="false">
<classes>
<class name="ABC"/>
</classes>
</test>
如果上述答案都不起作用,您可以在IDE中运行测试,获取类路径并在命令中使用它。例如:如果您使用的是Intellij IDEA,您可以在控制台顶部找到它(截图如下)。
单击突出显示的部分将展开并显示完整的类路径。
您需要删除文件夹中对jar的引用:JetBrains \ IntelliJ IDEA Community Edition VERSION
java -cp "path_copied" org.testng.TestNG testng.xml
如果项目是Maven项目,您可以添加maven surefire插件并提供testng suite XML文件路径,导航到项目目录并运行命令:mvn clean install test
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>config/testrun_config.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>