如何从命令行运行testng.xml?

目录

创建一个新的java项目并从命令行运行testng.xml

使用命令行运行XML文件

从命令行运行现有maven项目的XML文件


在这篇文章中,我们将使用命令行运行testng.xml。有多种场景需要使用命令行工具运行testng.xml。也许您已经创建了一个maven项目,现在想使用命令行运行testng.xml文件,或者您是TestNG的新手,只是想了解一下。别担心,我们将全面涵盖这两种情况。

创建一个新的java项目并从命令行运行testng.xml

创建一个新的Java项目

  • 单击“File(文件)”菜单。
  • 现在,单击New,然后单击Java项目。我们把这个项目命名为实践。你可以选择任何你喜欢的名字牛牛

make a new project

  • 现在,我们将向项目中添加必要的jar。我们会将代码推送到我们的git仓库中,这样你就可以随时查找你需要的任何东西。如果你需要我们使用的jar,你可以从我们的git仓库下载。我们将所需的jar保存在jar文件夹中,如下所示。

如何从命令行运行testng.xml?_第1张图片

  • 右键单击项目Build Path Configure Build Path。

如何从命令行运行testng.xml?_第2张图片

  • 现在,转到Libraries选项卡,单击Add External JARs并添加我们之前保存在jars文件夹中的所有jar。
  • 如下图所示,我们现在将创建一个包(比如Test),我们将在该包下创建类(比如CodekruTest)。

如何从命令行运行testng.xml?_第3张图片

在CodekruTest类中进行简单测试。

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文件来运行我们的测试类。


 

    
        
            
        
    

您也可以从eclipse运行这个XML文件,方法是右键单击XML文件,然后选择RunAsTestNGSuite。

如何从命令行运行testng.xml?_第4张图片

使用命令行运行XML文件

现在,我们将使用命令行运行testng.xml,为此,您需要做一些事情,

  • 编译后的类的类路径(比如CodekruTest.java,我的CodekruTest.class在哪里生成?).我们不必担心它,因为eclipse会在bin文件夹中生成可编译的类。因此,我们将只把它留在那里。
  • 其次,我们需要必要的jar来运行XML文件。我们也这样做了,因为我们之前将所有需要的文件保存在jars文件夹中。

现在,转到您的项目路径,并在命令行工具中运行以下命令来执行您的testng.xml文件。

java -cp bin\;jars\* org.testng.TestNG testng.xml

这将执行testng.xml文件,如下面的屏幕截图所示。

如何从命令行运行testng.xml?_第5张图片

注意: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文件的命令如下

java -cp target\classes\;jars\* org.testng.TestNG testng.xml

你可能感兴趣的:(unit,testing)