如何从命令行运行TestNG

我究竟如何从命令行运行.java TestNG项目?

我已阅读TestNG文档,并尝试以下无效:

C:\projectfred> java org.testng.TestNG testng.xml 

…在我的项目中使用以下testng.xml文件:

         

我得到的错误是这样的:

 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。 有谁知道如何使这个工作?

你需要在classpath下有testng.jar

尝试C:\projectfred> java -cp "path-tojar/testng.jar:path_to_yourtest_classes" org.testng.TestNG testng.xml

更新:

在linux下我运行了这个命令,它在Windows上也会有类似的东西

 test/bin# java -cp ".:../lib/*" org.testng.TestNG testng.xml 

目录结构:

 /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文件的完整路径

在试图弄清楚为什么我无法运行示例之后2天好了

http://www.tutorialspoint.com/testng/testng_environment.htm以下代码对我不起作用

 C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml 

它的修复如下:我得出以下结论:首先安装eclipse,然后下载TestNG插件。 然后按照教程中的说明使用javac从cmd创建和编译测试类,并添加testng.xml。 要在Windows 10 cmd上运行testng.xml,请运行以下行:

 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的插件。 路径可能会有所不同,以确保只需打开eclipse的安装位置,转到插件并搜索jcommander.jar。 然后复制该位置,然后添加*以选择所有必需的.jars。

 C:\Test 

上面的路径表示project.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案例。

使用以下内容准备MANIFEST.MF文件

 Manifest-Version: 1.0 Main-Class: org.testng.TestNG 

将所有测试和依赖类包装在同一个jar中,比如tests.jar

 jar cmf MANIFEST.MF tests.jar -C folder-with-classes/ . 

注意尾随“。”,用适当的文件夹名称或路径替换folder-with-classes/

使用如下内容创建testng.xml

          

com.example.yourcompany.qa.Test1替换为Test类的路径。

运行测试

 java -jar tests.jar testng.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 

在Windows中指定jar和类文件路径时,您将需要使用分号作为分隔符。 这解决了这个问题。
假设类文件在C:

 java -cp ".;C:\testng.jar" org.testng.TestNG testing.xml 

我遇到了一些问题,因为我从Eclipse下载了TestNG插件。 这就是我为完成工作所做的工作:

  1. 将TestNG添加到项目库后,在项目名称中创建一个文件夹作为lib(名称可以是任何内容):

  2. 转到“C:\ Program Files \ Eclipse \ eclipse-java-mars-R-win32-x86_64 \ eclipse \ plugins”位置并复制com.beust.jcommander_1.72.0.jarorg.testng_6.14.2.r20180216145.jar文件创建文件夹(lib)。

注意:文件是testng.jar和jcommander.jar

  1. 现在启动CMD,导航到项目目录,然后键入:
    Java -cp C:\ Users \ User123 \ TestNG \ lib *; C:\ Users \ User123 \ TestNG \ bin org.testng.TestNG testng.xml

而已 !
如果您有任何疑虑,请告诉我。

以下命令对我有用。 只要包括testng jar在内的所有必需的jar子都保存在lib里面。

 java -cp "lib/*" org.testng.TestNG testng.xml