Fuz*_*sis 26 java testng command-line command-prompt
我究竟如何从命令行运行.java TestNG项目?
我已经阅读了TestNG文档,并尝试以下内容无济于事:
C:\projectfred> java org.testng.TestNG testng.xml
Run Code Online (Sandbox Code Playgroud)
...在我的项目中使用以下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>
Run Code Online (Sandbox Code Playgroud)
我得到的错误是这样的:
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.
Run Code Online (Sandbox Code Playgroud)
显然,我没有在命令行中正确引用TestNG.有谁知道如何使这个工作?
Pat*_*ton 22
你需要拥有testng.jarunder classpath.
尝试 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
Run Code Online (Sandbox Code Playgroud)
目录结构:
/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.
Run Code Online (Sandbox Code Playgroud)
一旦我编译了所有资源,他们就会进入bin目录.因此,在类路径中,我需要指定bin目录的内容以及所有库,如testng.xml,loggers等.如果您不想指定testng.xml可用的完整路径,还要将testng.xml复制到bin文件夹.
/bin
-- testng.xml
-- testclasses
-- Properties files if any.
/lib
-- testng.jar
-- log4j.jar
Run Code Online (Sandbox Code Playgroud)
Update:
转到文件夹MyProject并键入run java命令,如下所示: -
java -cp ".: C:\Program Files\jbdevstudio4\studio\plugins\*" org.testng.TestNG testng.xml
Run Code Online (Sandbox Code Playgroud)
我相信testng.xml文件C:\Users\me\workspace\MyProject如果没有,请给出testng.xml文件的完整路径
Mar*_*III 14
如果您使用的是 Maven,您可以非常轻松地从 cmd 行运行它,cd 到带有 testng.xml 的目录(或任何您的名称,具有将运行的所有类的 xml)并运行此 cmd:
mvn clean test -DsuiteXmlFile=testng.xml
Run Code Online (Sandbox Code Playgroud)
此页面更详细地解释了它:How to run testng.xml from Maven command line
我不知道您是否使用 Maven 很重要,所以我没有将它包含在我的搜索词中,我想我会在这里提到它,以防其他人与我处于相同的情况。
在试图弄清楚为什么我无法运行示例之后2天好了
http://www.tutorialspoint.com/testng/testng_environment.htm以下代码对我不起作用
C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml
Run Code Online (Sandbox Code Playgroud)
它的修复如下:我得出以下结论:首先安装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
Run Code Online (Sandbox Code Playgroud)
澄清:C:\Users\Lenovo\Desktop\eclipse\plugins\org.testng.eclipse_6.9.12.201607091356\lib\*
上面的路径代表你通过安装eclipse的TESTNG插件下载的jcommander.jar和testng.jar的位置.路径可能会有所不同,以确保只需打开eclipse的安装位置,转到插件并搜索jcommander.jar.然后复制该位置,然后添加*以选择所有必需的.jars.
C:\Test
Run Code Online (Sandbox Code Playgroud)
上面的路径表示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
Run Code Online (Sandbox Code Playgroud)
这应该运行您的testNG案例。
| 归档时间: |
|
| 查看次数: |
96219 次 |
| 最近记录: |