TestNG自动化测试使用入门

TestNG是一个测试框架,其灵感来自JUnit和NUnit,但同时引入了一些新的功能,使其功能更强大,使用更方便。TestNG设计涵盖所有类型的测试:单元、功能、端到端、集成等。

Java中已经集成JUnit的测试框架,TestNG比JUnit功能强大的多。开发人员一般使用JUnit写单元测试,测试人员一般使用TestNG来写自动化测试。

官方网站: http://testng.org

TestNG相较于Junit的优点:

  • 可指定执行顺序,dependsOnMethods 属性来应对测试的依赖性问题
  • 参数化测试,TestNG 提供了开箱即用的类似特性。通过在 TestNG 的 XML 配置文件中放入参数化数据,就可以对不同的数据集重用同一个测试用例,甚至有可能会得到不同的结果。支持@DataProvider 注释可以方便地把复杂参数类型映射到某个测试方法。
  • 支持分组测试
  • 支持多线程测试

入门项目

开发工具:IntelliJ IDEA 2017.3
工程结构:

  • pom.xml
  • testng.xml
  • src/main/java
  • src/test/java/me/yezhou/TestNGSimpleTest.java

添加Maven依赖pom.xml

<!--https://github.com/cbeust/testng-->
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>6.14.2</version>
    <scope>test</scope>
</dependency>

在src/test/java目录下新建测试类TestNGSimpleTest

package me.yezhou;

import org.testng.annotations.Test;
import org.testng.Assert;

public class TestNGSimpleTest {

    @Test
    public void testAdd() {
        String str = "TestNG is working fine";
        Assert.assertEquals("TestNG is working fine", str);
    }

}

TestNG的调用方式

  • testng.xml文件
  • ant
  • 命令行

xml文件调用

在工程根目录下创建一个XML文件testng.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite">
    <test name="test">
        <classes>
            <class name="me.yezhou.TestNGSimpleTest"/>
        </classes>
    </test>
</suite>

在IDEA工程窗口中选中testng.xml,右键 -> Run testng.xml

测试通过输出:

===============================================
Suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================

命令行

1、使用javac编译类

> javac TestNGSimpleTest.java

2、调用TestNG测试testng.xml

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

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/02/28/testng-automation-testing-starting/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
TestNG自动化测试使用入门
TestNG是一个测试框架,其灵感来自JUnit和NUnit,但同时引入了一些新的功能,使其功能更强大,使用更方便。TestNG设计涵盖所有类型的测试:单元、功能、端到端……
<<上一篇
下一篇>>
文章目录
关闭
目 录