当先锋百科网

首页 1 2 3 4 5 6 7
		从接口测试到Newman+postman实现持续集成测试

接口测试

请求方式一般分为:post,get,put,delete等,其中post和get应用较多,因此,应用postman分别对这两个请求方式进行接口测试。

请求类型

get请求

测试前,需认真阅读接口文档,在图中可以发现,该参数为必填,并且为字符串类型

在这里插入图片描述

用于获取数据,传参时会将参数代入URL,但不能容纳过多参数。
get传参方式有以下几种:
1、Params参数传递:【输入对应的key及value,即键值对】输入后,会相应的在URL上添加对应的值

2、Body–>raw传递请求体

3、Body–>Form-data:可以隐藏在传参的同时,URL上也不会出现对应的键值对

当接口类型为get,如果参数为必填时,只能用params方式传参

post请求

提交数据,传参类型多样,并且较为安全。
post传参方式大多为–>Body-raw常规传参方式:json方式

常用参数类型:
int,
string,
long,
array[](数组):array[int](数组里面套int) array[string](数组里面套string)
Object{}对象
样例:|
参数名 是否必填 类型
friend 是 object

Friend参数:
Name 是 string
Age 是 int
样例:

"friend": {
						"name": "瑶瑶",
	        			"age": 6
					}

Object[]:数组

postman接口参数依赖

含义:获取参数作为后续接口使用的参数。
以下方的接口文档为例:
在这里插入图片描述
运行后结果
在这里插入图片描述
现想要后续的接口可以使用“sign”这个参数,后续接口获取时,需要一级一级的剥开返回报文也就是login_info–>sign

进入该接口下的Tests页面输入:

var data = JSON.parse(responseBody);  
//定义data 解析接口返回结果;
var sign = data.login_info.sign;  
 //定义一个变量并且赋值如果参数在login_info数组中 则需要把data.login_info.sign替换成data.login_info[参数所在位置,如0,1,2,]
pm.globals.set("sign", sign);   
//定义一个全局变量,命名为sign,值为上一行取出来的
var name = "小黑";
pm.globals.set("name",name);

编辑后,进入之前的get接口下的Params,填写参数,填写时,value的格式为:{{参数名字}}
在这里插入图片描述

加入检查点

在get接口中维护Tests
插入检查点方法有两种:
1、通过字符串匹配,检查是否存在字段,采用的是模糊匹配,返回中包含这个内容即代表检查通过

在这里插入图片描述
在这里插入图片描述
2、通过jsonpath获取到具体的值来检查与预期结果是否一致,采用的是完全匹配
在这里插入图片描述
其中的eql为全等模式

var jsonData = pm.response.json();
tests[“stu_info的第一条数据id为30”] = jsonData.stu_info[0].id === 30;
tests[“stu_info的第2条数据id为20”] = jsonData.stu_info[1].id === 20

运行

添加相应的name文件,运行里面的测试数据
数据:name
小黑
小白
小安
运行结果如下
在这里插入图片描述

接口测试用例

编写接口测试用例时,需要从以下几个方向进行编写

方向内容
功能功能是否正常
功能是否按照接口文档实现
逻辑是否是依赖业务(如支付的前提是需要先登录)
异常参数异常
数据异常
安全cookie
header
唯一识别码(移动端接口测试使用)

Newman+postman持续集成测试

安装Newman

安装前,需要先安装node.js,如果电脑是win7系统,则安装时候,需要安装node13版本以下的,我的电脑是win7,安装的是node v12.16.1
【 链接:https://pan.baidu.com/s/1EEvJOz2lKu2wD6Bl0NGL5w 提取码:9780】
安装后即可安装Newman
安装过程参考:https://blog.csdn.net/Gchen00/article/details/88823253

Newman执行脚本

由于windows系统没办法直接执行Linux命令,因此需要安装git来作为辅助
安装git后,进入git.cmd
输入命令:下面展示一些 内联代码片

// A code block
var foo = 'bar';
newman run 导出的json文件所在位置

在这里插入图片描述
运行结果
在这里插入图片描述