接口测试用例编写与断言

本文详细介绍了接口测试的主要关注点,包括响应结构、数据来源和业务逻辑等。讲解了如何使用TestNG框架进行接口测试,包括用例设计、断言和管理。同时,推荐了Rest Assured作为接口测试框架,阐述了其特点和用法,如GET、POST请求及断言取值。最后,提到了Jsonschema在接口结构验证中的应用。
摘要由CSDN通过智能技术生成

GitHub:https://github.com/reese0329/testng

 

 

接口测试用例编

Testng使用

断言使用

接口测试框架Rest assured使用

Jsonschema的使用

 

 

 

 

 

接口测试主要关注点

响应结构

数据来源

数据格式

数据正确性

业务逻辑

 

用例设计参数要考虑的

 

 

用例设计结果要验证的

数据库交互是否生效: 点赞,数据库数据变化

 

用例的管理与维护

 

功能测试模式:为了更快速会选用EXCEL、思维导图进行用例管理。

自动化测试模式:使用测试脚本进行管理。

 

注:

对于接口的提测,建议是分批提测,最好不要所有接口统一提测,分批测试可以在较短的时间内完成接口测试,也可以提前辅助客户端进行联调,不会占用较长的项目周期。

 

 

接口需求分析

结合需求文档+接口文档来进行对照分析

分析出需求文档中所有涉及接口的功能点,并罗列功能点相关业务逻辑

分析接口功能点是否包含在了接口文档中

分析接口文档中描述的实现是否能够满足或者覆盖接口功能点及其业务逻辑

是否需要上层服务支持,服务端是否已提交数据需求

 

建议先与服务端达成一致:

需求宣讲完成后,优先产出接口文档(便于测试同学进行接口分析)

接口文档与客户端先行确认,再进行接口开发(预防后续反工的风险)

服务端提供接口开发排期表(方便进行测试排期)

 

 

16'

 

 

 

37'

pom.xml中引入testng测试框架

<dependency>    
    <groupId>org.testng</groupId>    
    <artifactId>testng</artifactId>   
    <version>6.1.1</version>   
    <scope>test</scope>
</dependency>

demo

import org.testng.annotations.Test;

public class testng {
    @Test
    public void abc(){
        System.out.println("这里是abc");
    }
}

将功能测试用例转换为脚本

 

 

运行多个测试用例

testng_base.java

import org.testng.annotations.Test;

public class testng {
    @Test
    public void abc(){
        System.out.println("这里是abc");
    }

    @Test
    public void abc1(){
        System.out.println("这里是abc1");
    }

    @Test
    public void abc2(){
        System.out.println("这里是abc2");
    }

}

 

常用注解使用:

1.@BeforeClass @AfterClass 在运行类之前或之后执行一次

@BeforeClass  中可写入初始数据

@AfterClass 清除数据

testng_before_after_class.java

import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class testng_before_after_class {

    //    运行testng_before_after_class类的时,会执行一次
    @BeforeClass
    public void BeforeClass(){
        System.out.println("BeforeClass被运行");
    }

    @AfterClass
    public void AfterClass(){
        System.out.println("AfterClass被运行");
    }

//    运行每个测试方法进都会被执行到
    @Test
    public void abc(){
        System.out.println("这里是abc");
    }

    @Test
    public void abc1(){
        System.out.println("这里是abc1");
    }

    @Test
    public void abc2(){
        System.out.println("这里是abc2");
    }

}

 

创建xml文件

class name需要与测试的class类名一致 

 

一个测试套件可以包含多个类

<?xml version="
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值