如何从命令行运行TestNG
我该如何从命令行运行.java TestNG项目?如何从命令行运行TestNG
我已经通过TestNG的文档阅读,并试图以下无济于事:
C:\projectfred> java org.testng.TestNG testng.xml
...在我的项目下面的testng.xml文件:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="SuiteAll" verbose="1">
<test name="TestAll">
<packages>
<package name="com.project.fred.tests"/>
</packages>
</test>
</suite>
错误我得到的是这样的:
Exception in thread "main" java.lang.NoClassDefFoundError: org/testng/TestNG
Caused by: java.lang.ClassNotFoundException: org.testng.TestNG
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: org.testng.TestNG. Program will exit.
显然,我没有在我的命令行中正确引用TestNG。有谁知道如何得到这个工作?
您需要在类路径下有testng.jar
。
尝试C:\projectfred> java -cp "path-tojar/testng.jar:path_to_yourtest_classes" org.testng.TestNG testng.xml
更新:
linux下我跑这个命令,这将是要么
test/bin# java -cp ".:../lib/*" org.testng.TestNG testng.xml
目录结构在Windows类似的一些事情:
/bin - All my test packages are under bin including testng.xml
/src - All source files are under src
/lib - All libraries required for the execution of tests are under this.
一旦我编译他们在bin目录下的所有源代码。因此,在类路径中,我需要指定bin目录的内容以及所有库,如testng.xml,loggers等。如果您不想指定testng.xml可用的完整路径,请将testng.xml复制到bin文件夹。
/bin
-- testng.xml
-- testclasses
-- Properties files if any.
/lib
-- testng.jar
-- log4j.jar
Update
:
转到文件夹MyProject
和运行型喜欢的方式java命令如下所示: -
java -cp ".: C:\Program Files\jbdevstudio4\studio\plugins\*" org.testng.TestNG testng.xml
相信的testng.xml文件是下C:\Users\me\workspace\MyProject
如果不是,请给出testng.xml
文件的完整路径
您将需要使用分号作为分隔符,同时指定窗口中的jar和类文件路径。这解决了这个问题。
假设类文件在C :.
java -cp ".;C:\testng.jar" org.testng.TestNG testing.xml
使用“;”作为分隔符解决Windows问题。
java -cp "path of class files; testng jar file path" org.testng.TestNG testng.xml
例如: -
java -cp ".\bin;..\common_lib\*;" org.testng.TestNG testng.xml
非常感谢这是非常非常有帮助。我能使用命令行运行TestNG的我的班,但我仍想总结会的事情最后一次如下..
1) Set the classpath for the testng.jar in the environment variables
(either manually or via command line).
2) Create a new folder "MyTest".
3) Compile all your classes(testNG+java) and put them(.class files)
in a new folder "Mytest\bin".
4) Put your 'testng.xml' and '.properties' files to "Mytest\bin"
again.
5) Put all the .jar files (testng,selenium... etc) in a new folder
"Mytest\lib".
6) Browse to the folder "bin" via command line and run the command
java -cp "..\lib\*;" org.testng.TestNG testng.xml
这应该运行您的testNG案例。
确定后,试图弄清楚为什么我不能运行从
http://www.tutorialspoint.com/testng/testng_environment.htm的例子2天下面的代码并没有为我
C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml
的修复工作,因为这是如下: 我得出以下结论:首先安装eclipse,然后下载TestNG插件。之后,按照教程中的说明使用javac从cmd创建和编译测试类,然后添加testng.xml。要在Windows上运行的testng.xml 10 CMD运行以下行:
java -cp C:\Users\Lenovo\Desktop\eclipse\plugins\org.testng.eclipse_6.9.12.201607091356\lib\*;C:\Test org.testng.TestNG testng.xml
澄清:C:\Users\Lenovo\Desktop\eclipse\plugins\org.testng.eclipse_6.9.12.201607091356\lib\*
上面的路径表示您通过安装TestNG插件下载jcommander.jar和testng.jar的位置蚀。路径可能会有所不同,以确保只需打开eclipse的安装位置,进入插件并搜索jcommander.jar。然后复制该位置,然后添加*以选择所有必需的.jars。
C:\Test
上面的路径代表了项目中testing.xml的位置。 获得所有必要的路径后,使用“;”追加它们。
我希望我是有帮助的一些你们:)
准备MANIFEST.MF
文件,内容如下
Manifest-Version: 1.0
Main-Class: org.testng.TestNG
包所有的测试和依赖类在同一个罐子,说tests.jar
jar cmf MANIFEST.MF tests.jar -C folder-with-classes/ .
公告结尾的“”,在适当的文件夹名或路径替换folder-with-classes/
。
像下面
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Tests" verbose="5">
<test name="Test1">
<classes>
<class name="com.example.yourcompany.qa.Test1"/>
</classes>
</test>
</suite>
与路径替换com.example.yourcompany.qa.Test1
您的测试类创建testng.xml
与内容。
运行测试
java -jar tests.jar testng.xml
感谢。你能举一个具体路径的例子吗?我试着像C:\ projectfred> java命令 “C:\路径tojar \ testng.jar:C:\ path_to_yourtest_classes” org.testng.TestNG的testng.xml,但你可以看到有很多的冒号在那,它会抛出一个错误。 – fuzzyanalysis 2012-08-12 22:07:06
你可以给我你的测试类和相关库的层次结构吗? – Patton 2012-08-13 03:12:19
(Windows 7计算机) 测试类:C:\用户\我\工作区\ MyProject的(这是所有我的TestNG的.java文件是)。 相关库:C:\ Program Files文件\ jbdevstudio4 \工作室\插件。 难道这就是你以后? – fuzzyanalysis 2012-08-14 23:34:47