我正在尝试通过命令行运行testng,我在类路径中有以下内容:
testng
jar,jar编译的测试用例文件以及其他必需的jar。testng.xml
指向层次结构中的相应类。 Testng没有运行而是抛出:
[TestNG] [ERROR] Cannot find class in classpath: (name of testcase file)
之前我遇到过同样的问题而且我刚刚添加了。
在classpath
中它解决了问题。但这次它似乎没有解决它。任何解决方法?提前谢谢。
答案 0 :(得分:34)
我刚遇到这个问题而且我非常有信心这是eclipse的TestNG插件中的一个错误,因为我能够从命令行运行我的测试就好了。
似乎对我和其他人有用的修复只是清理您的项目(Project
→Clean
)。一个人不得不重新安装整个插件。
答案 1 :(得分:16)
如果你的包名是FabFurnishPackage并且你的类名是注册的,那么xml中的代码应该是
<classes>
<class name="FabFurnishPackage.registration">
</classes>
[TestNG] [错误]无法在类路径中找到类:注册 问题是固定的......
答案 2 :(得分:8)
只做Eclipse&gt;项目&gt;清理然后再次运行测试用例。它应该工作。
它在后台的作用是,它会在你的项目目录中调用mvn eclipse:clean,这将删除你的.project和.classpath文件,你也可以做一个mvn eclipse:eclipse - 这会重新生成你的.project和。类路径文件。因此在类路径中添加所需的类。
答案 3 :(得分:6)
我遇到了同样的问题,我尝试的内容如下。
pom.xml
并清理)这解决了这个问题。
答案 4 :(得分:4)
添加到pom:
<build>
<sourceDirectory>${basedir}/src</sourceDirectory>
<testSourceDirectory>${basedir}/test</testSourceDirectory>
(...)
<plugins>
(...)
</plugins>
</build>
答案 5 :(得分:4)
在从命令提示符运行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.
我遇到了同样的情况,但上述事情对我有用。
答案 6 :(得分:2)
确保您的suite.xml不应具有.java扩展名
前:
<test name="Test C1">
<classes>
<class name="com.taxi.suiteC.TestCase_C1" ></class>
</classes>
</test>
答案 7 :(得分:1)
如果以上答案均无效,则可以在IDE中运行测试,获取类路径并在命令中使用它。 例如:如果您使用的是Intellij IDEA,则可以在控制台顶部找到它(以下屏幕截图)。
单击突出显示的部分将展开并显示完整的类路径。
您需要删除以下文件夹中对jar的引用:JetBrains \ IntelliJ IDEA社区版 VERSION
java -cp "path_copied" org.testng.TestNG testng.xml
如果项目是Maven项目,则可以添加maven surefire插件并提供testng套件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>
答案 8 :(得分:1)
请确保您已在TestNG.xml文件中指定了您的类/包。
<test name="test1" preserve-order="false">
<classes>
<class name="ABC"/>
</classes>
</test>
答案 9 :(得分:0)
答案 10 :(得分:0)
检查类层次结构。如果您的课程中缺少包裹,您将收到此错误。因此,尝试通过选择包来创建一个新的测试类。
答案 11 :(得分:0)
类生成步骤的问题。 您可以通过资源管理器转到项目文件夹并删除类。 之后,再次运行“构建”您的项目。 现在,您的问题已解决
答案 12 :(得分:0)
如果您已重命名了testNG类,并且在测试套件xml文件中未重命名,则将出现此错误。我也改了xml文件,对我有用。
答案 13 :(得分:0)
答案 14 :(得分:0)
右键单击项目->转到maven->更新项目
这解决了我的其他问题
答案 15 :(得分:0)
使用 maven
时遇到相同的问题有效的解决方案是, testNG文件中的类名与实际的类名不同
由于我更改了类名,因此 testng 文件未更新。
因此,请确保testNG文件中的className应该与实际的className相匹配
RestAssuredTest在testNG中误写为RestAssuredest
此问题的原因之一
import sys
from PyQt5.QtWidgets import (QMainWindow, QLabel, QGridLayout, qApp,
QApplication, QWidget, QPushButton)
from PyQt5.QtCore import QSize, Qt
class HelloWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Hello world")
centralWidget = QWidget()
self.setCentralWidget(centralWidget)
title = QLabel("Hello World from PyQt")
title.setAlignment(Qt.AlignCenter)
button = QPushButton("Quit")
button.clicked.connect(qApp.quit) # <---
gridLayout = QGridLayout(centralWidget)
gridLayout.addWidget(title, 0, 0)
gridLayout.addWidget(button, 1, 0)
if __name__ == "__main__":
app = QApplication(sys.argv)
mainWin = HelloWindow()
mainWin.show()
sys.exit( app.exec_() )
答案 16 :(得分:0)
Eclipse ->右键单击 Project -> 构建路径 -> 配置 -> Java构建路径 。
添加库 -> JRE lib 。
添加您正在系统中使用的最新Java库,并删除其他旧的JRE库并保存。
答案 17 :(得分:0)
由于某些构建错误,此问题即将发生。 1.清洁项目 - 如果问题没有解决 2.更新maven项目 - 如果仍未解决 3.转到构建路径(右键单击project-&gt;属性 - &gt; java构建路径) 现在检查库文件。如果您看到错误,请通过在给定位置添加丢失的文件来解决它。
我面临同样的问题,经过多次尝试后我找到了解决问题的第3个解决方案
答案 18 :(得分:0)
我也面临同样的问题。我试图以不同的方式设置类路径,它适用于我:
set classpath="projectpath"\bin;"projectpath"\lib\*
按输入
java org.testng.TestNG testng.xml
再次按输入
我希望这有效!
答案 19 :(得分:0)
当我使用默认pacage和名为addition的类转换我的项目时, 到testng.xml。 它转换为:
<classes>
<class name=".addition"/>
</classes>
并且抛出了无法加载类的错误。 如果我删除。在添加之前,代码工作正常。 所以要小心默认包。
答案 20 :(得分:0)
当我尝试执行我的Testng.xml文件时,我遇到了类似的问题。
要解决此问题,您应该将类文件从默认pkg移动到其他pkg;即创建一个新的pkg并将您的类文件放在那里
答案 21 :(得分:0)
我遇到了同样的问题。每当我运行我的测试时,它都会继续说类路径中找不到的类。我试图修复testng.xml文件,清理项目以及答案在这里说的所有内容,但都没有。最后,我在构建路径中检查了我引用的库,并且有34个无效的库,结果我已经从我从中获取jar文件的路径重命名了一个文件夹。我修复了路径,测试成功运行。
因此,在尝试其他方法来解决此问题之前,检查引用的jar文件中是否存在任何错误可能会很有成效。
答案 22 :(得分:0)
避免错误
在类路径中找不到类:(测试用例文件的名称)
您需要在一个地方保留Runner类和Test类。我的意思是src和测试文件夹。
答案 23 :(得分:0)
我尝试了上面的所有建议,但这对我的情况不起作用。事实证明我的项目构建路径有一个错误(无法找到一个相关的jar)。修复该错误后,testng再次在我的Eclipse中工作。
答案 24 :(得分:0)
如果您在Eclipse(Mars)IDE中打开了项目: 在eclipse中右键单击该项目 单击TestNG 单击&#34;转换为TestNG&#34;
这将创建一个新的testng.xml文件,并提示您覆盖现有文件(!!!警告,这将删除您以前的testng.xml !!!)。 单击是。
以Maven测试版本运行。
答案 25 :(得分:0)
我面临同样的问题解决方案是,你需要检查testng文件,在这个案例类中创建的类是通过Test NG找不到的。执行以下步骤只需将您的项目转换为测试NG并使用新的testNG文件覆盖/写入/ rplace。
在这种情况下再次运行此TestNG它正在处理我的情况,
答案 26 :(得分:0)
就我而言,包结构不合适,就像文件夹和子文件夹一样。我删除了该项目,并通过更改相应的jre再次导入。之后它对我有用。 例如文件夹结构 - TestProject -TestSuite1 包结构 - TestProject.TestSuite1
答案 27 :(得分:0)
我得到了同样的错误 - 在classpath中找不到类:
解决方案:我犯了以下错误:
答案 28 :(得分:0)
我刚遇到此问题,原因是检查了运行配置中的跳过测试选项。使得unchecked和build,然后运行testNg,工作。
答案 29 :(得分:0)
我必须从我的测试类中创建一个jar文件并将其添加到我的类路径中。以前我将测试类文件添加到类路径,然后我得到了上面的错误。所以我创建了一个jar并添加到classpath。
e.g
java -cp "my_jars/*" org.testng.TestNG testing.xml
答案 30 :(得分:0)
更改TestNG输出路径(项目属性 - &gt; TestNG - &gt;输出目录)后,它对我有效。