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
上一篇 Appium python-client添加联系人
下一篇 TestNG编写测试
目录
文章列表
1 CentOS下部署Magento2
CentOS下部署Magento2
2
关于 JOIN 耐心总结,学不会你打我系列
关于 JOIN 耐心总结,学不会你打我系列
3
React Native学习之组件通讯三种方案
React Native学习之组件通讯三种方案
4
Spring Security 之多AuthenticationProvider认证模式实现
Spring Security 之多AuthenticationProvider认证模式实现
5
后端运维常见概念
后端运维常见概念
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。