全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

这篇具有很好参考价值的文章主要介绍了全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Postman(9): postman设置接口关联

postman设置接口关联

在实际的接口测试中,后一个接口经常需要用到前一个接口返回的结果, 从而让后一个接口能正常执行,这个过程的实现称为关联。

在postman中实现关联操作的步骤如下:

1、利用postman获取上一个接口指定的返回值,可以在tests中提取响应中的字典做全局变量;如下图

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

 2、编写代码设置全局变量,会自动把全局变量的信息加入到Environments中的Globals中,如下图

使用postman全局变量保存上一个接口的值,代码如下:

老版本写法:postman.setGlobalVariable("全局变量名", str); 其中前面的参数为全局变量名称 ,后面为变量

新版本写法:pm.globals.set("token_id", token_value);其中前面的参数为全局变量名称 ,后面为变量

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

 3、和之前引用全局变量一样,使用{{全局变量名}}即可;如下图

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

Postman(10): postman实现参数化

什么时候会用到参数化

比如:一个模块要用多组不同数据进行测试  == 验证业务的正确性

Login模块:正确的用户名,密码 ===成功;错误的用户名,正确的密码 === 失败

postman实现参数化

在实际的接口测试中,部分参数每次发送请求时都要唯一(比如注册), 这时可采用postman把测试数据进行参数化处理

postman设置参数的形式主要 有三种:

  • 内建变量实现
  • Pre-request Script页签中使用代码实现 (推荐)
  • 外部文件的方式实现;如csv文件/json格式文件

一、内建变量实现

Postman有以下三种内建变量,适合一次性使用;缺点:内键变量不能做精确对比

{{$guid}}:生成GUID;如下图:

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

{{$timestamp}}:当前时间戳;如下图

可通过在线时间戳转换工具查看时间:https://tool.lu/timestamp/

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

{{$randomInt}}:0-1000的随机整数

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

 二、Pre-request Script页签中使用代码实现(推荐)

Pre-request Script为执行接口请求之前要做的操作,而tests是执行完请求要 做的操作。内建变量一般放在Request里,我们也可以用代码在Pre-request Script中实现,用代码实现的好处是可以复用。

Pre-request Script 与test 一样 支持javascript语法

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

 在Pre-request Script中实现的几种参数化;如下图

//获取当前时间戳 毫秒
var now_time = Date.now()
pm.globals.set("now_time",now_time)

//guid实现
const guid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'
.replace(/x/g, () => (Math.floor(Math.random() * 16)).toString(16))
.replace(/y/g, () => (Math.floor(Math.random() * 4 + 8)).toString(16));
pm.globals.set("guid_value",guid)

//随机整数实现
const randomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + 
min
pm.globals.set("randomInt_num",randomInt(8,15))

//从多个选项中选择实现
const randomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + 
min
const getRandomValue = list => list[randomInt(0, list.length - 1)];
const charsInName = ['王','李','张']
pm.globals.set("people_name",getRandomValue(charsInName))


//随机手机号实现
const randomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + 
min
var mobile_num = `18${randomInt(100000000, 999999999)}`;
pm.globals.set("mobile_num",mobile_num)

//同步等待实现:等待5秒后开始执行
const sleep = (milliseconds) => {
const start = Date.now();
while (Date.now() <= start + milliseconds) {}
}
sleep(5000)

实战示例:通过Pre-request Script编写代码可以在随机参数中做断言的精确比对

1、在Pre-request Script中编写代码

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

 2、在请求中引用变量;{{变量名}}

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

 3、在tests中做断言,验证实际结果和预期结果是否一致

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

 4、查看执行结果

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

三、外部文件方式实现参数化

在postman中,除了上述两种方法实现参数化,还可以利用外部数据文件 (支持csv文件和包含json格式文本的数据)。外部数据文件目前是通过Runner 页签可以进行导入。

csv文件格式举例:

csv文件要在Collection Runner中工作,第一行必须是在request中要使用的 变量名,每一行是一条用例,并表示一次迭代。

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

1、先准备csv文件,编码是UTF-8;如上图

2、在postman中引用变量名,如下图中的百度搜索中wd的参数引入了{{search_word}},tests页签中做断言引用了data.expected_result

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

 文章来源地址https://www.toymoban.com/news/detail-404990.html

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

 3、点击Runner按钮,勾选需执行的请求,在设置循环次数,导入csv文件,点击run执行;如下图

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

 4、查看执行结果

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

json文件你需要确保你的文件有键/值对数组。数组中的每个元素是键值对对 象,代表一次迭代。key作为request中要使用的变量名,value作为key的取值。

json文件实现参数化步骤:

1、准备要使用的json格式测试数据文件;

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

 2、在postman脚本中,HTTP requests中使用{{ key }}去引用,在script中使用 data. key 或者 data[“key”] 去引用;

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

 

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

 3、打开Runner窗口,点击Data旁边的Select File按钮,导入jsondata参数化文件; 点击Data File Type类型选择application/json后,点击Preview按钮,检查数据正确

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

 4、查看执行结果

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

 

重点:学习资料  

600g的学习资料懂的都懂

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化

 

到了这里,关于全网最牛最全Postman接口测试(五): postman设置接口关联,postman实现参数化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 接口测试Postman学习笔记2--创建请求+变量+接口关联+参数设置

    目录 五、Postman执行接口测试 六、Postman的环境变量以及全局变量 七、接口关联 八、Postman内置动态参数以及自定义的动态参数 1.请求界面介绍 请求页面:         Params:get请求传参         authorization:鉴权         headers:请求头         Body :post请求传参   

    2024年01月20日
    浏览(35)
  • postman接口关联-设置环境变量

    1、设置环境变量:环境变量是支持变量分组的,这样可以开发、测试、生产环境的变量各分一个组。 2、设置全局变量:在任何环境中都可以使用,但全局变量只有一组。 3、tests设置变量:通过tests,先把接口的返回结果设置成环境变量,后续就可以通过环境变量的值进行关

    2024年02月06日
    浏览(35)
  • 爆肝整理,Postman接口测试-全局变量/接口关联/加密/解密(超细)

    全局变量和环境变量 全局变量:在postman全局生效的变量,全局唯一 环境变量:在特定环境下生效的变量,本环境内唯一 设置: 全局变量: 环境变量: 获取: 全局变量: 1、代码获取 2、请求参数获取 { {variable_key}} 环境变量: 1、代码获取

    2024年02月16日
    浏览(43)
  • 爆肝整理,Postman接口测试-参数关联实战(详细步骤)

    接口测试什么时候需要进行参数关联? 上个接口返回的数据需要作为下个接口的参数或请求头时就需要进行参数关联,也就是相互有依赖的接口就需要参数关联 参数关联的2种方式 1、创建两个接口,在前一个接口的Test里面获取到返回数据并保存为全局变量或环境变量,然后

    2024年02月14日
    浏览(25)
  • 【Postman】Postman接口测试进阶用法详解:断言、全局与环境变量、关联、批量执行用例、读取外部文件实现参数化

    Postman断言使用JavaScript语言编写,写在Postman的【Tests】 标签中。 【Tests】中的脚本在发送请求之后执行,它会把断言的结果(PASS/FAIL)最终在【Test Results】 标签页中。 断言响应状态码是否为200(Status code is 200) 断言响应体JSON数据校验(Response body:JSON value check) 断言响应体

    2024年02月15日
    浏览(45)
  • 接口测试|Postman设置断言

    作为一款接口测试工 具,postman需要对发送请求后返回的结果是否正确做验证,在postman中通过 tests页签做请求的验证,也称为断言。 Postman设置断言的流程 在tests页签截取要对比的实际响应信息(响应头、响应正文、响应状态码等) 利用断言语句 tests[] 或 chai.js 形式把实际响

    2024年02月07日
    浏览(30)
  • 全网最全的 postman 工具使用教程

    postman是一款支持http协议的接口调试与测试工具,其主要特点就是功能强大,使用简单且易用性好 。 无论是开发人员进行接口调试,还是测试人员做接口测试,postman都是我们的首选工具之一 。 那么接下来就介绍下postman到底有哪些功能,它们分别都能干些什么 。下面先通过

    2024年03月21日
    浏览(27)
  • Postman接口测试 —— 设置全局变量、参数传递、断言

    在能熟练使用postman运行接口请求后,会遇到一些问题。例如: 我们的web网站一共有几十个接口,测试的时候如果要切换环境,这个时候要每个接口都要修改url的根路径,一个一个的改也太麻烦了; 还有时候我们经常需要用到上一个接口的返回值,来作为下一个接口的数据来

    2024年02月16日
    浏览(41)
  • postman实现多接口关联

    思路: 从第一个接口拿到想要的响应结果(怎么取值,上一篇内容),把这个结果,放到环境变量来解决这个问题 难点: 怎么拿到响应的结果 1.打开postman请求窗口,选择Tests   关于postman的Tests网上有很多解释了,在这里不赘述了。 2.在Tests内输入一下代码 pm.test(\\\"Your test 

    2023年04月09日
    浏览(23)
  • postman 之接口关联

    在项目中,多个接口之前都是有相互关联的。 如:注册之后就是登陆,一个业务增删改查不可能一个接口一个接口测,如果一个参数可能从新增到修改再到删除D都是关联,则需要在第一个接口先去获取到,然后在下面接口使用时可以调用 下图举例:请求需要先登录获取到

    2023年04月22日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包