Maven+TestNG+Rest Assured 接口自动化框

2020-09-17  本文已影响0人  爱sa笑的菇凉

本文会介绍如何搭建Maven+TestNG+Rest Assured 接口自动化框架,只是讲解搭建的过程。如果需要了解Rest Assured的更多信息,请参考Rest Assured的系列文章。

  1. Rest Assured (1) -- 请求信息设置
  2. Rest Assured (2) -- 响应信息验证

1.名词解释

1.1 Maven 和 TestNG是什么?
请参考:Java+Maven+TestNG - 创建项目篇

1.2 Rest Assured 是什么?
REST Assured是一套由 Java 实现的 REST API 的测试框架,可以直接编写代码向服务器端发起 HTTP 请求,并验证返回结果;它的语法非常简洁,是一种专为测试 REST API 而设计的 DSL。

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 - 部署篇

上一篇 下一篇

猜你喜欢

热点阅读