postman测试base64_postman 接口测试(转)

本文介绍了如何在Postman中进行接口测试,包括创建用例集、GET和POST请求、断言方法,以及如何进行测试前的数据准备,如设置Header、使用Base64加密。还提到了Postman的预请求脚本、环境和全局变量的使用,并简要提及了Newman命令行工具的使用。
摘要由CSDN通过智能技术生成

本文转载自testerhome;

作者:xinxi1990 ;

原文链接:https://testerhome.com/topics/18719;

转载以分享知识为目的,著作权归原作者所有,如有侵权,请联系删除。

postman使用

创建用例集

启动postman以后,会看到这个控制面板.

点击Request是创建一个Request测试请求,但是需要创建用例集保存这个请求.

点击Collection是创建一个用例集来保存测试请求.

创建Collection完成后,会在左侧生成用例集文件架,每次创建的测试接口都要保存到用例集中.

第一个接口测试

创建get请求为例,通常需要写url、params、headers,会把params拼接到url末尾.

点击send按钮并且请求成功,会展示响应结果.

创建post请求为例,通常需要写url、body、headers等参数,body参数格式一般是form或者json格式.具体body使用那个格式,需要按照接口文件中的参数.

接口断言

点击Tests编写测试断言

断言响应时间

pm.test("Response time is less than 200ms",function(){    pm.expect(pm.response.responseTime).to.be.below(200);});// 断言响应事件小于200ms

断言状态码

pm.test("Successful POST request",function(){    pm.expect(pm.response.code).to.be.oneOf([200,202]);});// 断言状态码200-202区间

断言响应中包含某个字符串

pm.test("Body matches string",function(){    pm.expect(pm.response.text()).to.include("ok");});// 断言响应中包含"ok"

断言响应中的字段等于某个值

pm.test("message test",function(){varjsonData = pm.response.json();    pm.expect(jsonData["message"]).to.eql("ok");});// 断言响应中"message" = ok"

断言响应中的字段不等于某个值

varjsonData =JSON.parse(responseBody);tests["message不为bad"] = jsonData["message"] !="bad";// 断言响应中"message" != bad"

断言响应中的列表长度

pm.test("data list test",function(){varjsonData = pm.response.json();    pm.expect(jsonData["data"].length).to.eql(41);});// 断言响应中"list"的字段长度

断言响应中的列表中第几个元素的字段值

pm.test("data list 0 test",function(){varjsonData = pm.response.json();    pm.expect(jsonData["data"][0]["time"]).to.eql("2018-11-28 17:27:41");});// 断言响应中"list 0的"的time字段的值

json schema验证

tv4是postman内置的JSON Schema验证库,参考:https://geraintluff.github.io/tv4/

responseBody如下==:==

{"errCode":0,"errMsg":"","data": {"id":3210,"title":"",

constcustomerSchema = {"type":"object","properties": {"errCode": {"type":"integer","minimum":0,"maximum":3,"minLength":2,"maxLength":3},"errMsg": {"type":"string"},  }};varcustomer =JSON.parse(responseBody);// console.log(customer);tests["Valid Data1"] = tv4.validate(customer, customerSchema);//验证json中的errCode类型是integer,并且验证最小值和最大值区间、验证长度区间

以上是常用断言方法,更多使用参考:https://learning.getpostman.com/docs/postman/scripts/test_scripts/

测试前准备

发送请求之前往往需要准备数据,比如设置header中参数或者计算签名.

使用Pre-request Script可以编写一些准备数据.

在header头中引入刚刚设置{{timestamps}}环境变量.

可以看到header中已经填写了时间戳参数.

请求前编写加密算法

varusername ="test";varpwd ="123321";varbase64Str = CryptoJS.enc.Utf8.parse(username+pwd);vartoken = CryptoJS.enc.Base64.stringify(base64Str);postman.setGlobalVariable("token",token);console.log(token);// 使用账号+密码的base64位加密算法

加密生成的字符串

header头中携带生成加密的token变量

服务端使用base64位解密

接口环境变量

接口参数化

全局变量

局部变量

使用{{}}作为变量

参数化文件

.csv文件格式,第一行是变量名,后面是具体赋值.

选择参数化文件

接口参数传递

在登录接口的响应数据中获取token值.

把token传递给第二个接口中的header头中.

第二个接口中的header头中已经拿到了token.

其他常用的方法

设置环境变量

pm.environment.set("variable_key","variable_value");

设置全局变量

pm.globals.set("variable_key","variable_value");

获取环境变量

pm.environment.get("variable_key");

获取全局变量

pm.globals.get("variable_key");

清除环境变量

pm.environment.unset("variable_key");

清除全局变量

pm.globals.unset("variable_key");

newman使用

官方教程

https://learning.getpostman.com/docs/postman/collection_runs/command_line_integration_with_newman/

安装

npm install -g newman

运行

简单运行

newmanrun接口测试.postman_collection.json

打印循环次数、请求次数、断言次数、耗时等,但是没有输出文件.

循环执行

newmanrun接口测试.postman_collection.json-n2

参数化

-d是参数化文件

newmanrun接口参数化测试.postman_collection.json-d参数化数据.csv

报告

jenkins持续集成

在jenkins中创建自由风格的job

job配置

构建shell配置

newman run 文件路径/接口测试.postman_collection.json--reporters cli,html,json,junit--reporter-json-export jsonOut.json--reporter-junit-export xmlOut.xml--reporter-html-export htmlOut.html

构建后报告配置参数

**/*.xml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值