接口测试(一)使用Postman接口测试

目录

1.接口测试流程

2.接口测试用例设计思路

3.接口测试用例编写

3.1登录模块-接口测试用例

3.2部门管理-接口测试用例

4.postman执行测试用例

4.1 登录接口测试用例

(1)正常测试

(2)异常测试

4.2 部门接口测试用例

(1)新增部门

(2)查询部门

(3)修改部门

(4)删除部门

5.批量执行测试用例-运行测试集

6.Newman生成测试报告

6.1导出测试集和环境变量

6.2 Newman安装

6.3生成测试报告


前言

1.为什么做接口测试

(1)页面中不能发现的bug;

(2)后端已开发完成,前端页面还没开发完成,提前进入测试;

(3)开发阶段调用支付功能,使用mock方式模拟虚拟数据;

2.什么时候做接口测试

一般在功能测试完成时候,做接口测试;主要业务场景接口测试,方便后续项目迭代时,做回归测试;以及做成定时监控平台,检查项目每日运行情况;

1.接口测试流程

1.需求分析
2.接口文档解析
3.设计测试用例(重点)
4.执行测试:使用工具或代码实现(重点)
5.接口缺陷管理与跟踪
6.生成测试报告
7.接口自动化持续集成

2.接口测试用例设计思路

正常测试通过性测试全部必填参数
全部参数(必填+非必填)
参数组合(必填+部分非必填)
异常测试参数异常多参:多了一个verify_cod请求字段
少参:少参针对必填项;
无参
参数错误:拼写错误passworddd
数据异常(和功能测试一样)长度不符:长度大于11位,长度小于11位;
类型不符:非数字(字符,字母,汉字)
是否必填
是否重复
业务异常结合业务功能考虑输出的各种异常返回情

3.接口测试用例编写

3.1登录模块-接口测试用例

ID模块用例标题接口名称请求URL请求方法请求头请求数据类型请求体(请求参数)预期结果测试结果
tlias-login-API001登录登录成功登录http://localhost:8080/loginPOST{"Content-Type":"application/json"}json{
"username":"jinyong",
"password":"123456"
}
登录成功,响应状态码200,响应数据为:
{
    "code": 1,
    "msg": "success",
    "data":
}
tlias-login-API002登录不输入用户名登录http://localhost:8080/loginPOST{"Content-Type":"application/json"}json{
"username":"",
"password":"123456"
}
登录失败,响应状态码200,响应数据为:
{
    "code": 0,
    "msg": "用户名或密码错误",
    "data": null
}
tlias-login-API003登录不输入密码登录http://localhost:8080/loginPOST{"Content-Type":"application/json"}json{
"username":"jinyong",
"password":""
}
登录失败,响应状态码200,响应数据为:
{
    "code": 0,
    "msg": "用户名或密码错误",
    "data": null
}
tlias-login-API003登录输入错误用户名和密码登录http://localhost:8080/loginPOST{"Content-Type":"application/json"}json{
"username":"jinyong1",
"password":"123"
}
登录失败,响应状态码200,响应数据为:
{
    "code": 0,
    "msg": "用户名或密码错误",
    "data": null
}

3.2部门管理-接口测试用例

ID模块用例标题接口名称请求URL请求方法请求头请求数据类型请求体(请求参数)预期结果测试结果
tlias-dept-API001部门管理部门信息管理新增部门http://localhost:8080/deptsPOST{"Content-Type":"application/json","Token":{{e_token}}json{    
    "name": "竞赛部" 
}
新增成功,响应状态码200,响应数据为:
{
    "code": 1,
    "msg": "success",
    "data": {
        "id": 30
    }
}
查询部门http://localhost:8080/depts/{{e_dept_id}}GET{"Content-Type":"application/json","Token":{{e_token}}json查询成功,响应状态码200,响应数据为:
{
    "code": 1,
    "msg": "success",
    "data": {
        "id": 30,
        "name": "竞赛部",
        "createTime": "2025-04-27T14:36:30",
        "updateTime": "2025-04-27T14:36:30"
    }
}
修改部门http://localhost:8080/depts/{{e_dept_id}}PUT{"Content-Type":"application/json","Token":{{e_token}}json{
    "name": "竞赛部plus"
}
修改成功,响应状态码200,响应数据为:
{
    "code": 1,
    "msg": "success",
    "data": {
        "id": 32,
        "name": "竞赛部plus",
        "createTime": "2025-04-27T14:44:33.8151763",
        "updateTime": "2025-04-27T14:44:33.8151763"
    }
}
删除部门http://localhost:8080/depts/{{e_dept_id}}DELETE{"Content-Type":"application/json","Token":{{e_token}}json删除失败,响应状态码200,响应数据为:
{
    "code": 1,
    "msg": "success",
    "data": null
}

4.postman执行测试用例

4.1 登录接口测试用例

(1)正常测试

1.Collections测试集合-->新建Blank collection-->新建文件夹Add floder

2.新建环境变量:Environments-->新建名称talisTest环境-->新建base_url

3.登录文件夹下-->新建请求add request(名称一般是ID+用例标题)

// 1.断言响应状态码200 【Snippets==>Status code:Code is 200】
pm.test("断言响应状态码200", function () {
    pm.response.to.have.status(200);
});
// 2.断言json响应中code=1【Snippets==>Response body:JSON value check】
pm.test("断言json响应中包含code=1", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.code).to.eql(1);
});
// 3.断言json响应中包含msg=success【Snippets==>Response body:JSON value check】
pm.test("断言json响应中包含msg=success", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.msg).to.eql("success");
});
// 4.断言json响应头中有Content-Type字段
pm.test("断言json响应头中有Content-Type字段", function () {
    pm.response.to.have.header("Content-Type");
});
// 5.保留并处理token数据,解决后续接口登录依赖性问题【Snippets==>Set an environment variable】
var jsonData = pm.response.json();
pm.environment.set("e_token", jsonData.data);

(2)异常测试

4.2 部门接口测试用例

(1)新增部门

(2)查询部门

(3)修改部门

(4)删除部门

5.批量执行测试用例-运行测试集

6.Newman生成测试报告

6.1导出测试集和环境变量

(1)导出测试集

(2)导出环境变量

6.2 Newman安装

Newman:一款基于nodejs开发的可以运行Postman脚本的工具,并且可以生成测试报告。

安装1:nodejs

下载地址:http://nodejs.cn/download/
windows系统直接双击运行安装包,如【node-v12.10.0-x64.msi】
校验:打开cmd输入【node-v】,看到输出node版本信息,即代表成功

安装2:Newman

以管理员身份打开cmd输入【npm install -g newman】

校验:输入【newman -v】

安装3:newman-reporter-html 报告插件

输入【npm install -g newman-reporter-html】

6.3生成测试报告

newman run test.postman_collection.json -e test.postman_environment.json -g workspace.postman_globals.json -d jsonData.json -r html

-e 指定环境变量;

-g 全局变量

-d 数据文件;

-r生成报告 

newman run tliasTest.postman_collection.json -e talisTest.postman_environment.json -r html

# End

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值