目录
在这篇文章中,我们将使用命令行运行testng.xml。有多种场景需要使用命令行工具运行testng.xml。也许您已经创建了一个maven项目,现在想使用命令行运行testng.xml文件,或者您是TestNG的新手,只是想了解一下。别担心,我们将全面涵盖这两种情况。
创建一个新的java项目并从命令行运行testng.xml
创建一个新的Java项目
- 单击"File(文件)"菜单。
- 现在,单击New,然后单击Java项目。我们把这个项目命名为实践。你可以选择任何你喜欢的名字牛牛
- 现在,我们将向项目中添加必要的jar。我们会将代码推送到我们的git仓库中,这样你就可以随时查找你需要的任何东西。如果你需要我们使用的jar,你可以从我们++的git仓库++下载。我们将所需的jar保存在jar文件夹中,如下所示。
- 右键单击项目Build Path Configure Build Path。
- 现在,转到Libraries选项卡,单击Add External JARs并添加我们之前保存在jars文件夹中的所有jar。
- 如下图所示,我们现在将创建一个包(比如Test),我们将在该包下创建类(比如CodekruTest)。
在CodekruTest类中进行简单测试。
java
package Test;
import org.testng.annotations.Test;
public class CodekruTest {
@Test
public void test() {
System.out.println("Executing the test in the CodekruTest class");
}
}
创建testng.xml文件。
现在我们将创建testng.xml文件来运行我们的测试类。
html
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
<suite name="codekru">
<test name="codekru">
<classes>
<class name="Test.CodekruTest" />
</classes>
</test>
</suite>
您也可以从eclipse运行这个XML文件,方法是右键单击XML文件,然后选择RunAsTestNGSuite。
使用命令行运行XML文件
现在,我们将使用命令行运行testng.xml,为此,您需要做一些事情,
- 编译后的类的类路径(比如CodekruTest.java,我的CodekruTest.class在哪里生成?).我们不必担心它,因为eclipse会在bin文件夹中生成可编译的类。因此,我们将只把它留在那里。
- 其次,我们需要必要的jar来运行XML文件。我们也这样做了,因为我们之前将所有需要的文件保存在jars文件夹中。
现在,转到您的项目路径,并在命令行工具中运行以下命令来执行您的testng.xml文件。
bash
java -cp bin\;jars\* org.testng.TestNG testng.xml
这将执行testng.xml文件,如下面的屏幕截图所示。
注意:bin文件夹包含我们的.class编译文件,但请确保永远不要在命令中使用bin\*,因为它会给你给予以下错误。
[TestNG] [ERROR]
Cannot find class in classpath: Test.CodekruTest
jars文件夹包含执行testng.xml文件所需的jar。
好了,就是这样,我们成功地创建了一个新的java项目,并使用命令行工具运行了testng.xml。现在,是时候看看如果我们有一个现有的maven项目,并希望执行该项目的testng.xml,我们应该做什么了?
从命令行运行现有maven项目的XML文件
我们需要注意两件事-
- 如果我们使用eclipse,++maven++项目的编译类将进入target\classes文件夹,而不是bin文件夹,这对于其他IDE可能会有所不同。因此,我们需要在命令中给予编译类文件夹的路径。
- 我们需要添加必要的jar来执行testng.xml文件。我们可以在jars文件夹中
现在,运行testng.xml文件的命令如下
bash
java -cp target\classes\;jars\* org.testng.TestNG testng.xml