Postman接口自动化测试实例二
在《Postman接口自动化测试实例》一文中,我是在获取随机因子的接口的Tests中对用户的密码进行加密处理的。其实正常做法应该是在请求验证接口前,即在Pre-request Script中对密码进行加密处理。
下面对上一文的进行简单的修改处理。
一.获取随机数接口的Tests内容
tests["Status code is 200"] = responseCode.code === 200
tests["Response time is less than 200ms"] = responseTime < 200;
var respData = JSON.parse(responseBody);
tests["respCode"] = respData.code === '0';
tests["respMsg"] = respData.msg === '成功'; if(respData.code === '0') {
var respRadomNum = respData.data.radomNum;
var respRadomNumCode = respData.data.radomNumCode; postman.setGlobalVariable("respRadomNum", respRadomNum);
postman.setGlobalVariable("respRadomNumCode", respRadomNumCode);
//下面方式也可以
//pm.globals.set("respRadomNum", respRadomNum);
//pm.globals.set("respRadomNumCode", respRadomNumCode); }
在Tests中把接口返回的随机数和随机数码通过postman.setGlobalVariable设置到全局变量中,以便后面的验密接口可以从全局变量中获取到。
Headers、Body和Pre-request Script和上一文中的获取随机因子的接口是一样的。
二.验密接口的Pre-request Script内容
从全局变量中获取随机数也可以用:var radomNum = pm.globals.get("respRadomNum");
Headers、Body和Tests和上一文中的密码验证的接口是一样的。
三.执行效果依然是一样正确的
获取随机因子运行效果:
密码验证效果:
四.在pre-request和tests中获取变量的方法
变量可以被使用在pre-request和test script中,因为这些部分是通过JavaScript来写的,你可以以不同的方式初始化和检索这些变量,可以在脚本中初始化变量,并将它们放在特定的范围内。
1.定义一个变量在脚本中
在脚本中设置一个变量可以根据变量预定的范围通过如下方式设置变量。
pm.environment.set("variable_key", "variable_value");
postman.setGlobalVariable("variable_key", "variable_value"); postman.setEnvironmentVariable("variable_key", "variable_value");
pm.globals.set("variable_key", variable_value);
当你发送请求的时候(请求前或后),脚本将会执行,值将会保存在变量中,如下图:
2.取一个预定义的变量
一旦一个变量被设置,你可以使用如下方式去获取变量的值
//获取variable_key的环境变量
pm.environment.get("variable_key");
postman.getEnvironmentVariable("variable_key"); //获取variable_key的全局变量
pm.globals.get("variable_key");
postman.getGlobalVariable("variable_key");
根据适合的范围去获取变量值,这些方法要求提供一个变量名作为参数去检索储存的值,如下图:
3.设置一个变量在作用域中
可以访问环境变量在相应的环境模板,全局变量可以广泛的访问,不管选择的作用域。
参考文章:https://www.cnblogs.com/JHblogs/p/6418802.html
Postman接口自动化测试实例二的更多相关文章
- Postman接口自动化测试实例
一.实例背景 在实际业务中,经常会出现让用户输入用户密码进行验证的场景.而为了安全,一般都会先请求后台服务器获取一个随机数做为盐值,然后将盐值和用户输入的密码通过前端的加密算法生成加密后串传给后台服 ...
- Postman接口自动化测试实例用到的完整的SM2前端加密算法代码
var __g__ = {}; !function(t,e){"object"==typeof exports?module.exports=exports=e():"f ...
- python3+requests:接口自动化测试(二)
转载请注明出处:https://www.cnblogs.com/shapeL/p/9188495.html 前言:上篇文章python3+requests+unittest:接口自动化测试(一):ht ...
- Jmeter+Ant+Jenkins接口自动化测试(二)_测试方案设计及jmeter脚本开发
前言 根据之前部署好的测试环境,进行接口自动化测试的方案设计及Jmeter脚本开发.测试方案设计过程中采用了数据分离和对象分离等思路,因此直接通过特定的测试用例文档来驱动整个自动化接口测试的执行,相关 ...
- 【Python+postman接口自动化测试】(5)抓包工具Fiddler简介
Fiddler简介 Fiddler 4.6 下载 http://www.downza.cn/soft/234727.html 为什么使用Fiddler? 可以抓到请求数据,查看Raw格式/表单格式/J ...
- 【Python+postman接口自动化测试】(8)以青云客机聊天器人和图灵聊天机器人接口示范python发送get和post
以青云客机器人和图灵机器人接口示范python发送get和post 发送请求,我们这里主要使用Python的一个第三方包(需要先安装):requests. Python3自带的http.client和 ...
- 【Python+postman接口自动化测试】(7)Postman 的使用教程
Postman v6的使用 Postman: 简单方便的接口调试工具,便于分享和协作.具有接口调试,接口集管理,环境配置,参数化,断言,批量执行,录制接口,Mock Server, 接口文档,接口监控 ...
- 【Python+postman接口自动化测试】(4)HTTP 协议
前言 HTTP:超文本传输协议,是用于从WWW服务器传输超文本到本地浏览器的传输协议. HTTP协议是一种无状态协议,主要包含请求和相应两大部分. 请求(Request) get请求示范: GET h ...
- 【Python+postman接口自动化测试】(3)什么是接口测试?
什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换.传递和控制管理过程,以及系统间的相互逻辑依 ...
随机推荐
- java请求参数转换
public class HttpServletRequestUtil { //转换请求参数 public static int getInt(HttpServletRequest request, ...
- SQL反模式学习笔记20 明文密码
目标:恢复或重置密码 反模式:使用明文存储密码 1.存储密码 使用明文存储密码或者在网络上传递密码是不安全的. 如果攻击者截取到你用来插入(或者修改)密码的sql语句,就可以获得密码. 黑客获 ...
- UOJ#110. 【APIO2015】Bali Sculptures 贪心 动态规划
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ110.html 题解 我们发现n=2000 的子任务保证A=1! 分两种情况讨论: $n\leq 100$ ...
- LCA最近公共祖先
不会 准备研究一波!!! #include<bits/stdc++.h> ; using namespace std; vector<int> g[maxn]; ][maxn] ...
- [Python]sort与sorted高级技巧
与其他语言不同,python 3.0之后,弃用了其他语言中常见的cmp方法,在sort方法中改用key实现. 之前一直疑惑自定义对象的排序如何写comparator,最后发现还是通过内部的__cmp_ ...
- 用c# 开发html5的尝试,试用bridge.net
Javascript交叉编译方案很多了,工业级品质的也不是没有,但前两年我从事html5 3d引擎开发时,做过一圈评估,没有可用的. 作为一个c#爱好者,我自然是很希望能最大限度的利用c#的生产力,之 ...
- django——视图层
1. 视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. ...
- Django——发送邮件
Django--发送邮件 在web应用中,服务器对客户发送邮件来通知用户一些信息,可以使用邮件来实现. Django中提供了邮件接口,使我们可以快捷的建设一个邮件发送系统. 以下是一个简单实例: se ...
- MyBatis入门(一)SqlSessionFactory
(1)新建数据库 CREATE TABLE emp ( id INT ( 10 ) PRIMARY KEY auto_increment, last_name VARCHAR(255), gender ...
- css 制作圆角、圆形图形布局
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...