Java+Maven+TestNG接口(API)自动化测试教程(七) TestNG 断言

7.1  引入 TestNG


上一章中我们还没有很好的手段来执行测试和验证结果,这里我们引入 TestNG 来帮助完成这部分功能。

7.1.1 创建 TestNG 测试类

在项目目录 src/test/java 下的包 com.mytest.httpclient.test 下新建一个支持testNG 的类,类名为 testGet。

 

 

 

写入以下测试代码:

package com.mytest.httpclient.test;
 
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.client.ClientProtocolException; 
import org.apache.http.client.methods.CloseableHttpResponse; 
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.testng.Assert;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test; 
import com.mytest.httpclient.Util; 
import com.alibaba.fastjson.JSON; 
import com.alibaba.fastjson.JSONObject; 
 
public class GetTest {
    CloseableHttpClient client; 
    CloseableHttpResponse response; 
    HttpEntity responseBody;
    int responseCode;
 
    @BeforeTest
    public void setUp() {
        // 创建一个httpClient的实例
        client = HttpClients.createDefault();
    }
 
    @Test
    public void getTest() throws ClientProtocolException, IOException { 
        String	url = "https://reqres.in/api/users?pages=2";
        // 创建一个httpGet请求实例
        HttpGet httpGet = new HttpGet(url);
        // 使用httpClient实例发送刚创建的get请求,并用httpResponse将响应接收
        response = client.execute(httpGet);
        // 从响应中提取出状态码
        responseCode = response.getStatusLine().getStatusCode();                     
        Assert.assertEquals(responseCode, 200, "The response code should be 200!");
        // 从响应中提取出响应主体
        responseBody = response.getEntity();
        //转为字符串
        String responseBodyString = EntityUtils.toString(responseBody,"utf-8");
        // 创建Json对象,把上面字符串序列化成Json对象
        JSONObject responseJson = JSON.parseObject(responseBodyString);
        // json内容解析
        int page = responseJson.getInteger("page"); Assert.assertEquals(page, 2, "The                                                                                                                                                     
        page value should be 2!"); 
        String firstName = Util.getValueByJPath(responseJson, "data[0]/first_name");
        Assert.assertEquals(firstName, "Michael", "The first name should be Michael!");
    }
}

这里我们在 beforeTest 里去创建一个 HttpClient 的实例,beforeTest 方法是 TestNG 内置的方法,它会在测试方法执行之前被执行,所以可以在该方法中写入一些初始化的代码,然后在 getTest 方法中调用上一章中封装好的方法获取响应主体和状态码。

最后通过 Util 去获取响应中的 first_name 信息,做为核心验证点。

在 getTest 方法里我们使用 Assert.assertEquals 方法做了两个断言:

1.     判断状态码是否正确;

2.     判断 first_name 是否正确。

7.1.2   执行测试并查看结果

可以选中该类,右键点击 Run As 中的 TestNG Test 开始测试,结果如下所示:

 

 


————————————————
版权声明:本文为CSDN博主「东方欲晓-」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wd168/article/details/106884297

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我知道了。下面是搭建接口自动化测试框架的步骤: 1. 安装 Eclipse 首先,你需要安装 Eclipse,可以在官网上下载最新版本的 Eclipse IDE。 2. 安装 TestNG 插件 打开 Eclipse 后,进入 Help -> Eclipse Marketplace,在搜索框中输入 TestNG,然后点击 Install 安装 TestNG 插件。 3. 创建 Maven 项目 在 Eclipse 中创建一个 Maven 项目,选择 Create a simple project,然后勾选 Create a simple project (skip archetype selection),接下来输入项目名称和项目路径,最后点击 Finish。 4. 配置 pom.xml 文件 在项目中的 pom.xml 文件中添加以下依赖: ``` <dependencies> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>7.4.0</version> <scope>test</scope> </dependency> <dependency> <groupId>io.rest-assured</groupId> <artifactId>rest-assured</artifactId> <version>4.4.0</version> </dependency> </dependencies> ``` 这里我们使用TestNG 和 Rest Assured 两个依赖。 5. 创建测试类 在 src/test/java 目录下创建一个测试类,例如 TestDemo。在测试类中编写测试方法,例如: ``` import org.testng.annotations.Test; import io.restassured.RestAssured; import static io.restassured.RestAssured.*; public class TestDemo { @Test public void testDemo() { RestAssured.baseURI = "https://jsonplaceholder.typicode.com"; given().log().all() .when().get("/posts/1") .then().log().all().statusCode(200); } } ``` 这里的测试方法使用了 Rest Assured 库来发送 HTTP 请求,并使用 TestNG断言来验证响应状态码是否为 200。 6. 运行测试 在 Eclipse 中右键点击测试类或测试方法,选择 Run As -> TestNG Test 来运行测试。 这就是使用 Eclipse 和 TestNG 搭建接口自动化测试框架的步骤。希望能对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值