错误:org.testng.TestNGException:在类路径中找不到类:EmpClass

当我试图运行测试套件时,我得到了这个例外。 我们在这里使用maven项目,我完成了刷新,清理,重新安装testNG然后导入maven项目,但后来也得到了同样的例外。 请在此处提出任何遗漏方法。

错误控制台:

org.testng.TestNGException: Cannot find class in classpath: EmpClass at org.testng.xml.XmlClass.loadClass(XmlClass.java:81) at org.testng.xml.XmlClass.init(XmlClass.java:73) at org.testng.xml.XmlClass.(XmlClass.java:59) at org.testng.xml.TestNGContentHandler.startElement(TestNGContentHandler.java:543) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509) at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182) at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:766) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1350) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2778) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:333) at javax.xml.parsers.SAXParser.parse(SAXParser.java:195) at org.testng.xml.XMLParser.parse(XMLParser.java:39) at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:17) at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:10) at org.testng.xml.Parser.parse(Parser.java:168) at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:311) at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:88) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175) 

我也有同样的例外:

我尝试了以下步骤:

  1. 在Eclipse> Project> Clean中。 (例外情况仍然存在)

  2. 我运行了另一个项目(testng.xml成功运行)

在运行另一个项目之后,我运行了我得到Exception的项目,幸运的是它对我有用,没有错误。

您必须编辑测试Runner xml文件。 看这个例子:

        

行中,您必须输入测试包名称,然后输入要运行的类的名称。

谢谢,祝你万事如意。

我在使用testng项目导入maven时遇到了类似的问题。 通过再次转换为TestNg项目解决了这个问题

右键单击eclipse项目> TestNG>转换为TestNG

并用新创建的替换现有的testng.xml文件。 使用mvn install清理并更新maven项目

注意:备份testng.xml

转到项目>构建路径>配置构建路径>库>删除错误库

刷新项目后再运行程序。

我对问题的看法是2美分:我遇到了同样的问题,而我的一些部分是在西里尔语中。 因此,请检查项目的路径是否有特殊字符。 一旦我删除了这个,问题就解决了

项目>>清洁和Maven >>更新项目为我工作

我也遇到了与TestNG版本6.14.2相同的问题

然而,这是由于我的结果是一个愚蠢的错误,并且maven,testng或eclipse没有任何问题。 我在做的是 –

  1. 将项目作为“mvn clean”运行
  2. 选择“testng.xml”文件并右键单击它以作为TestNG套件运行
  3. 这给了我与原始问题中报告的相同的错误
  4. 我很快意识到我还没有编译项目,并且还没有生成TestNG随后会使用的所需类文件
  5. 只有在编译项目后才会生成“target”文件夹(以“mvn build”运行)
  6. 如果您的项目已编译,则不应存在此问题。

当我使用selenium 3.11.xx依赖时我遇到了同样的问题但是当我使用selenium 3.4.x依赖时我的问题得到了解决。

我有类似的问题,该项目有一些构建错误。 我做了sudo -R 777到项目,然后我清理了我的项目。 之后它运作良好。

希望能帮助到你。

尝试在JSF项目中运行我的测试时遇到了同样的错误。

我正在使用Eclipse IDE(kepler)。 所以,我做了“项目>清理”,然后再次运行同一个项目的测试。

有效!

注意:您必须指定类名以及包,如下所示。

         

让IDE再次运行。 解决方案非常有趣 – 甚至重新安装,删除IDE也无法在Windows上修复它。 在这种情况下,您需要做的是转到testNG运行配置 – 并将它们全部删除。 这是针对Windows操作系统上的TestNG XML类路径错误。 我使用的是Spring工具套件3.6.4。

确保删除所有配置,确保项目可以构建,如果没有问题,测试应该立即运行。

问候 – 安东尼托里

在testng.xml文件中,删除“。” 如果您不使用包,则来自标签“”类名称。

包含包名称和类。 它会删除你的名字。 我也遇到了同样的问题,但是用类添加了包名修复了这个问题。

对我来说问题很奇怪。
我在Eclipse项目的根目录下有一个testng.xml文件。 当我通过Eclipse更改文件时,它没有更改我的目录中的testng.xml文件。

原来它把文件夹的副本放到了eclipse工作区..

希望这有助于某人

在我看来,如果src有test / java / folders,那么构建路径输出位置应该像target / test-classes。

如果src有main / java / folders,那么构建路径输出位置应该像目标/类。

我今天遇到了同样的问题。 **在eclipse **中再次设置class-path解决了这个问题。

直到最近我才遇到这个问题。

现在我不得不将套件的xml测试文件移动到我正在测试的项目的根目录中。

可能有一个设置指向我正在测试的类,但我还没有找到它。

对我来说,问题是因为我将测试排除在POM的编译之外。 我的pom.xml看起来像这样:

  org.apache.maven.plugins maven-compiler-plugin 3.5.1  1.8 1.8  com/mycompany/app/AppTest.java    

删除 ,我能够再次在AppTest.java运行测试。

在我的情况下,我在eclipse中导入了maven项目作为Default现有项目。之后我导入了maven项目。这对我有用。

可以通过将TestNG.class包添加到OnlineStore包来解决此问题,如下所示

  1. 步骤1:构建路径>配置构建路径> Java构建路径>选择“项目”选项卡
  2. 第2步:单击“添加”按钮,然后选择包含TestNG源的项目。
  3. 步骤3选择TestNG.xml作为“TestNG Suite”运行

当我在IntelliJ IDEA上将项目从一台PC导入另一台PC时,我遇到了同样的问题。

以下解决方案适合我:

  1. 使用Git导入项目。
  2. 导入IDE后会提示您在右下角显示“导入为Gradle”对话框,您需要选择该选项,但确保您已正确设置JAVA_HOME和GRADLE(Gradle Home或Gradle包装器都可以正常工作)。
  3. 运行build.gradle并确保正确下载所有依赖项,没有任何错误。
  4. 现在转到您的测试用例并尝试使用TestNG或JUnit运行,如果您已正确执行上述3个步骤,则应该能够运行测试用例。