精通postman教程(五)postman请求参数化

这篇具有很好参考价值的文章主要介绍了精通postman教程(五)postman请求参数化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作为一名测试工程师,那么Postman绝对是大伙必备的工具之一。

在这个系列教程中,我将为大伙详细讲解如何使用Postman进行API测试。

今天我带大伙实战一番postman如何请求参数化 ,让你们快速上手这款工具。

请求参数化

数据参数化是Postman最有用的特征之一。你可以将使用到的变量进行参数化,而不是使用不同的数据创建相同的请求。
这些数据可以来自数据文件或环境变量。参数化有助于避免重复相同的测试,可用于自动化迭代测试。
postman参数化的形式主要有三种:

1、内置变量实现

内建变量为postman自带的系统变量

Variable Name Description Examples
{{$guid}} 添加一个V4风格的GUID “611c2e81-2ccb-42d8-9ddc-2d0bfa65c1b4”
{{$timestamp}} 添加当前的时间戳,精确到秒 1562757107 , 1562757108 , 1562757109
{{$randomint}} 添加0-1000之间的随机整数 0-1000之间的随机整数
{{$randomFullName}} 随机英文全名(名字 姓氏) Connie Runolfsdottir , Sylvan Fay , Jonathon Kunze
{{ $randomBoolean}} 随机布尔值 (true/false) true , false , false , true

内建变量一般放在request里

2、使用Pre-request Script实现

  • 首先先获取一个随机数, Math.random()是JavaScript中一个获取随机数的方法

    var test = parseInt(Math.random()*9);
  • 如果我们要调试结果,可以把获取到的随机数在postman的控制台(console)中打印出来,console的入口在postman的页面下方

    console.info("随机生成test为",test)
  • 把生成的数字生成一个全局变量,方便请求参数中引用

    pm.globals.set("test", test);
  • 最后在请求参数中引用变量{{test}}

  • 点击发送接口,发送从成功后,可以通过控制台(console)中查看此次发送接口的请求参数

    postman怎么参数化,postman,软件测试,接口测试,postman,测试工具,接口测试,功能测试,软件测试

    postman怎么参数化,postman,软件测试,接口测试,postman,测试工具,接口测试,功能测试,软件测试

    postman怎么参数化,postman,软件测试,接口测试,postman,测试工具,接口测试,功能测试,软件测试

    常见的方法如下:

    pm.environment.get("variable_key"); // 获取环境变量
    pm.globals.get("variable_key"); // 获取全局变量
    pm.variables.get("variable_key"); // 获取变量,该函数在全局变量和当前环境变量中搜索变量
    pm.collectionVariables.get("variable_key"); // 获取集合变量
    pm.environment.set("variable_key", "variable_value"); // 设置环境变量
    pm.globals.set("variable_key", "variable_value"); // 设置全局变量
    pm.collectionVariables.set("variable_key", "variable_value"); // 设置集合变量
    pm.environment.unset("variable_key"); // 删除环境变量
    pm.globals.unset("variable_key"); // 删除全局变量
    pm.collectionVariables.unset("variable_key"); // 删除集合变量
    pm.sendRequest("https://postman-echo.com/get", function (err, response) {console.log(response.json());});// 发送请求
    
    //1、获取当前时间戳并设置全局变量
    var now_time = Date.now();
    pm.globals.set("now_time", now_time);
    //2、获取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);
    //3、获取随机整数并设置全局变量,随机整数值的范围可以设置(9,15)
    const randomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;//随机数和手机号生成的前提
    pm.globals.set("random_number", randomInt(8,14) );
    //4、从多个选项中选择实现
    const getRandomValue = list => list[randomInt(0, list.length - 1)];
    const charsInName = ['王','李','张'];
    pm.globals.set("people_name", getRandomValue(charsInName) );
    //5、生成随机手机号
    var mobile_num = `13${randomInt(500000000, 599999999)}`;
    pm.globals.set('mobile_num',mobile_num);
    //6、设置等待时间,毫秒级别
    const sleep = (milliseconds) => {
    const start = Date.now();
    while (Date.now() <= start + milliseconds) {}
    };
    sleep(5000);
    
  • 如果觉得使用创建全局变量,再引用的方式太繁琐,也可以在Pre-request Script中直接添加参数,代码如下:

//定义一个随机数(600, 700)之间
var test = parseInt(Math.random()*9);
//打印出生成的随机数,便于调试
console.info("随机生成test为",test)
// 在body中添加参数test,并且值为随机数
pm.request.body.formdata.add({'key':'test','value':test});
postman怎么参数化,postman,软件测试,接口测试,postman,测试工具,接口测试,功能测试,软件测试

3、外部文件的方式实现,通过csv文件或者json格式的文件实现参数化

3.1csv的运用,首先通过在文件中设置参数名及参数值

关键字之间需要用英文逗号分隔开,第一行写定义的参数变量,切记需要以utf-8的编码格式、.csv的文件后缀名保存,点击runner按钮

postman怎么参数化,postman,软件测试,接口测试,postman,测试工具,接口测试,功能测试,软件测试


引用CSV文件参数

postman怎么参数化,postman,软件测试,接口测试,postman,测试工具,接口测试,功能测试,软件测试

设置run参数

postman怎么参数化,postman,软件测试,接口测试,postman,测试工具,接口测试,功能测试,软件测试

查看测试结果

postman怎么参数化,postman,软件测试,接口测试,postman,测试工具,接口测试,功能测试,软件测试

3.2通过json格式的文件实现参数化,导入文件的时候记得校验文件是否为json

postman怎么参数化,postman,软件测试,接口测试,postman,测试工具,接口测试,功能测试,软件测试

注意:
iteration设置迭代次数,每次迭代都会使用数据文件中的一行,如果迭代次数超过数据文件中的行数,将会重复使用最后一行数据。

4、环境变量设置:

postman怎么参数化,postman,软件测试,接口测试,postman,测试工具,接口测试,功能测试,软件测试
postman怎么参数化,postman,软件测试,接口测试,postman,测试工具,接口测试,功能测试,软件测试

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

postman怎么参数化,postman,软件测试,接口测试,postman,测试工具,接口测试,功能测试,软件测试

些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

在我的QQ技术交流群里(技术交流和资源共享,广告勿扰)文章来源地址https://www.toymoban.com/news/detail-643550.html

到了这里,关于精通postman教程(五)postman请求参数化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 软件测试——Postman Script脚本功能

    软件测试——Postman Script脚本功能

    Postman作为软件测试里一款非常流行的调试工具,给我们提供了一个执行JavaScript脚本的环境,所以我们可以使用js语言编写脚本来解决一些接口自动化的问题,比如接口依赖、接口断言等等。Postman有Pre-RequestScript和Tests两个编写js脚本的模块,支持以嵌入脚本的方式动态准备测

    2024年03月23日
    浏览(11)
  • 【软件测试】Postman中变量的使用

    【软件测试】Postman中变量的使用

    Postman中可设置的变量类型有全局变量,环境变量,集合变量,数据变量及局部变量。区别则是各变量作用域不同,全局变量适用于所有集合,环境变量适用于当前所选环境(所有集合中均可使用不同环境变量),集合变量只作用于当前集合,数据变量用于批量运行作用于所选

    2024年02月09日
    浏览(7)
  • 史上最全软件测试入门到精通【测试+测开】

    根据本人过往学习经验与理解,整理了一些关于测试学习内容与顺序,涵盖了基本软件测试工程师需要掌握的所有技能,希望可以给想了解的小伙伴们一些指引与帮助,有错误或需求的欢迎留言指出~ 学习更多技术来这里~ 优加实习 这是后期实践计算机网络,调试代码,发现

    2023年04月14日
    浏览(15)
  • 2023最全软件测试学习路线图(从入门到精通)

    2023最全软件测试学习路线图(从入门到精通)

    六维全息课程注重综合能力培养,从入学到职后一站式服务测试开发人才。2023年最新软件测试学习路线图,从入门到精通一应俱全。 9阶段专业课+11大专项测试项目 适应互联网企业测试开发需求。  对于想入行学软件测试的新手来说,首先就需要一个高效的学习线路图,还要

    2024年02月15日
    浏览(6)
  • 软件测试工程师postman使用基本操作方法

    软件测试工程师postman使用基本操作方法

    本文详细介绍了如何使用Postman进行软件测试,包括管理测试用例集,发送请求,设置全局和环境变量,编写前置脚本和断言,进行数据关联,实现文件参数化,以及使用Newman命令执行Postman脚本。

    2024年02月04日
    浏览(12)
  • 软件测试——接口测试框架Flask与测试工具Postman、PyMySQL

    软件测试——接口测试框架Flask与测试工具Postman、PyMySQL

    什么是Flask: Flask是一个Python Web框架,通常被称为微框架。它旨在保持应用程序的核心简单且可扩展。与其他Web框架不同,Flask没有用于数据库处理的内置抽象层,也没有形成验证支持。相反,Flask支持扩展以将这些功能添加到应用程序中。Flask的优势在于它可以与你珠联璧合

    2024年04月13日
    浏览(11)
  • 软件测试技术分享丨使用Postman搞定各种接口token实战

    软件测试技术分享丨使用Postman搞定各种接口token实战

    现在许多项目都 使用jwt来实现用户登录和数据权限 ,校验过用户的用户名和密码后,会向用户响应一段经过加密的token,在这段token中可能储存了数据权限等,在后期的访问中,需要携带这段token,后台解析这段token才允许用户访问接口。 01、设置Bearer Token 如果后端项目使用

    2024年02月10日
    浏览(8)
  • Postman(2): postman发送带参数的GET请求

    Postman(2): postman发送带参数的GET请求

    示例:微信公众号获取access_token接口,业务操作步骤 1、打开微信公众平台,微信扫码登录: https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 2、打开微信开放文档,找到获取access_toekn 的接口信息: https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html 3、打开

    2024年02月01日
    浏览(14)
  • 接口测试 再也不必来回切换,发现一个接口测试软件,可以替代 Swagger+Mock+Jmeter+Postman

    接口测试 再也不必来回切换,发现一个接口测试软件,可以替代 Swagger+Mock+Jmeter+Postman

    日常测试过程中,常常需要多种工具来接力完成自己的接口测试任务。 比如说, 使用swagger查看接口文档, 使用mock编造接口数据对前端页面做测试 使用postman测试后端接口, 用Jmeter来做接口自动化测试/性能测试。 那有没有一款软件可以完美集成以上所有的功能? 笔者发现

    2024年02月15日
    浏览(11)
  • SpringBoot——请求-Postman工具-6种常见请求参数接收

    SpringBoot——请求-Postman工具-6种常见请求参数接收

    前后端分离开发的情况下每开发一个功能都要对接口进行测试,通常都会去浏览器访问测试,但是这样子都是get请求,测试不了post请求。 postman可以模拟浏览器发起任何形式的http请求 ,下载完postman后登陆进去 创建一个workspace   这部分在Javaweb——Request通用方式获取请求参数

    2024年02月02日
    浏览(24)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包