Postman接口自动化测试实战

一、准备

1.1、软件版本

软件版本系统
postmanv7.30.1Windows 7
newman5.1.2Linux CentOS 7.6
nodejs12.18.3Linux CentOS 7.6

1.2、涉及链接

Postman下载链接:https://www.postman.com/downloads
newman官网:https://www.npmjs.com/package/newman
nodejs下载链接:https://nodejs.org/zh-cn/download
聚合免费API官网:https://www.juhe.cn

二、环境搭建

2.1 postman

进入官网,下载Windows 64-bit版本,(浏览器下载较慢,建议使用迅雷下载)
在这里插入图片描述

2.2 nodejs

下载Linux 二进制文件(x64),右键复制下载链接,然后进Linux下载
在这里插入图片描述

# 安装wget工具
yum install -y wget
# 下载二进制包
wget https://nodejs.org/dist/v12.18.3/node-v12.18.3-linux-x64.tar.xz
# 解压至opt目录下
tar -xvf node-v12.18.3-linux-x64.tar.xz -C /opt/

配置环境变量

vi ~/.bashrc

追加以下内容

# node
export NODE_HOME=/opt/node-v12.18.3-linux-x64
export PATH=$NODE_HOME/bin:$PATH

刷新环境变量

source ~/.bashrc

查看版本

[root@localhost ~]# node -v
v12.18.3
[root@localhost ~]# npm -v
6.14.6

2.3 newman

使用npm直接安装newman

npm install -g newman --registry=https://registry.npm.taobao.org

--registry=https://registry.npm.taobao.org的意思临时指定npm仓库的下载源为国内淘宝源,提升安装速度。
查看版本

[root@localhost ~]# newman -v
5.1.2

由于后续需要生成测试报告,还需要安装html报告插件

# 基础版
npm install -g newman-reporter-html --registry=https://registry.npm.taobao.org
# 增强版
npm install -g newman-reporter-htmlextra --registry=https://registry.npm.taobao.org

三、准备接口

登陆聚合的网站,找几个免费调用的接口。

  • 1、手机号码归属地
  • 2、简/繁/火星字体转换

要求:将手机号码归属地返回的归属地名称通过字体转换接口转换成繁体字。

3.1 创建测试集

创建一个JuHe_API的测试集
在这里插入图片描述
在这里插入图片描述

3.2 填入接口

将聚合的两个接口添加进测试集
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 调试接口

填入接口信息,调试接口

  • 1、手机号码归属地

在这里插入图片描述

  • 2、简/繁/火星字体转换

在这里插入图片描述

3.4 断言

如何确定接口返回值正确性,这时候就需要添加断言,点击右边的快捷输入即可。

  • 1、手机号码归属地

在这里插入图片描述

  • 2、简/繁/火星字体转换

在这里插入图片描述

3.5 环境变量

将调用接口用到的key值设为环境变量,每次调用的时候引用即可。点击右边小齿轮
在这里插入图片描述
添加一个名为JuHe_ENV的环境变量,填入变量初始值,然后保存。

在这里插入图片描述
引用环境变量

  • 1、手机号码归属地

将环境变量切换为JuHe_ENV,然后key的值使用{{mobile_key}}方式引用环境变量。
在这里插入图片描述

  • 2、简/繁/火星字体转换

在这里插入图片描述

3.6 参数化

简/繁/火星字体转换text入参为手机号归属地的返回值,我们自动化过程中不可能手动输入该值,所以要使用参数化,取出上个接口的返回值,设置成环境变量,提供给下一个接口使用。

  • 1、手机号码归属地

设置返回值为环境变量。

// 设置归属地的返回值为province环境变量
var Body = JSON.parse(responseBody);
pm.environment.set("province", Body.result.province);

在这里插入图片描述
运行后查看当前环境变量,发现已经设置成功。
在这里插入图片描述

  • 2、简/繁/火星字体转换

引用上一个接口设置的环境变量
在这里插入图片描述

3.7 运行测试集

运行之前记得保存接口请求。
在这里插入图片描述
环境变量确保为JuHe_ENV,然后运行。
在这里插入图片描述
查看运行结果
在这里插入图片描述

四、自动化准备

4.1 下载测试集脚本文件

在这里插入图片描述
在这里插入图片描述

4.2 下载环境变量脚本文件

在这里插入图片描述
在这里插入图片描述

4.3 上传脚本文件至服务器

服务器安装lrzsz工具,可直接通过xshell将文件传入服务器。

yum install -y lrzsz

4.4 使用newman运行脚本文件

newman run JuHe_API.postman_collection.json -e JuHe_ENV.postman_environment.json
run : 运行测试集脚本文件
-e : 运行测试集的环境变量脚本文件

查看结果

在这里插入图片描述
生成html格式的报告

newman run JuHe_API.postman_collection.json -e JuHe_ENV.postman_environment.json -r htmlextra --reporter-htmlextra-export /root/JuHe_API.html
-r htmlextra : 使用 htmlextra 插件
--reporter-htmlextra-export : 报告另存为

查看报告
在这里插入图片描述

五、拓展

5.1 Nginx

HTMLNginx搭配极佳,使用Nginx服务器直接做报告的服务器,生成报告链接。

安装Nginx

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm \
&& yum install -y nginx \
&& systemctl start nginx.service \
&& systemctl enable nginx.service \
&& systemctl stop firewalld \
&& systemctl disable firewalld

newman生成的报告直接另存到Nginx的主目录即可。

newman run JuHe_API.postman_collection.json -e JuHe_ENV.postman_environment.json -r htmlextra --reporter-htmlextra-export /usr/share/nginx/html/JuHe_API.html

浏览器访问Nginx服务器IP/JuHe_API.html,即可看到报告。

5.2 钉钉脚本

将每日执行的测试报告链接,通过钉钉机器人发送到群组里,简单方便,参考脚本:

#!/usr/bin/env bash
# Auth: liuli
# Version: v1.0, 2020/8/25
# Sys: CentOS 7.6
# Features: 使用newman执行postman脚本,生成测试报告。

time=`date "+%Y-%m-%d-%H:%M"`
API_FILE="/opt/newman/JuHe_API.postman_collection.json"
ENV_FILE="/opt/newman/JuHe_ENV.postman_environment.json"

# newman生成报告
newman run ${API_FILE} -e ${ENV_FILE} -r htmlextra --reporter-htmlextra-export /usr/share/nginx/html/${time}.html

# 钉钉机器人提醒
function alarmdingding(){
  apiurl="https://oapi.dingtalk.com/robot/send?access_token=b03f8a3f(换成自己的钉钉机器人token)"
  /bin/curl ${apiurl} \
    -X POST -H "Content-Type: application/json" \
    -d '{"msgtype": "link","link": {"text": "报告链接","title": "业务接口测试报告","picUrl": "http://www.baidu.com/pic/postman.jpg","messageUrl": "http://Nginx服务器地址/'${time}'.html"}}'
}
alarmdingding

钉钉机器人配置

钉钉机器人文档

Webhook中有机器人的token,安全设置添加一个报告的关键词。
在这里插入图片描述
效果
在这里插入图片描述

  • 20
    点赞
  • 218
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值