本文会介绍如何搭建Maven+TestNG+Rest Assured 接口自动化框架,只是讲解搭建的过程。如果需要了解Rest Assured的更多信息,请参考Rest Assured的系列文章。
1.名词解释
1.1 Maven 和 TestNG是什么?
请参考:Java+Maven+TestNG - 创建项目篇
1.2 Rest Assured 是什么?
REST Assured是一套由 Java 实现的 REST API 的测试框架,可以直接编写代码向服务器端发起 HTTP 请求,并验证返回结果;它的语法非常简洁,是一种专为测试 REST API 而设计的 DSL。
- REST Assured就是为了简化REST API 的测试和验证而设计的
- 它支持发起POST,GET,PUT,DELETE,OPTIONS,PATCH和HEAD请求
- 它除了可以指定请求参数之外,还可以指定请求头(header)、cookies、请求体(body)以及请求内容类型(content-type)等等
- 它也可以用来验证和校对这些请求的响应信息
2.环境搭建
2.1 创建项目
IDEA创建一个Maven的项目,请参考:Java+Maven+TestNG - 创建项目篇
2.2 添加依赖
打开pom.xml文件,添加TestNG 和 REST Assured相关依赖
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>java-hamcrest</artifactId>
<version>2.0.0.0</version>
<scope>test</scope>
</dependency>
2.3 创建 testng.xml文件
在项目的根目录下创建一个testng.xml文件,testng来控制测试用例的执行。代码如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Points" parallel="tests" thread-count="1">
<test name="Login">
<classes>
<class name="org.example.Demo"></class>
</classes>
</test>
</suite>
2.4 创建简单的测试用例
测试用例一般在src/test目录下创建,创建一个Java文件,编写一个Demo用例。注意创建好文件后,需要在类中静态导入两个库:
import static io.restassured.RestAssured.*;
import static org.hamcrest.Matchers.*;
以下是demo用例的代码:
package org.example;
import org.testng.annotations.*;
import static io.restassured.RestAssured.*;
import static org.hamcrest.Matchers.*;
public class demo {
@Test
public void getProfile(){
given().log().all()
.get("http://localhost:3001/api/profile")
.then().log().all()
.statusCode(200);
}
}
2.5 执行用例
需要通过testng.xml文件来执行测试用例,所以邮件testng.xml 文件点击run,结果如下:
3.持续集成
将TestNG+Maven的项目如何在Jenkins和GoCD上集成,之前都有详细介绍过,请参考:
Java+Maven+TestNG+Jenkins - 部署篇 和 Java+Maven+TestNG+GoCD - 部署篇