开发公司postman之参数化详解

前言

小伙伴们,开发公司好久不见呀,开发公司今天呢笔者想和大家聊聊,开发公司在接口测试中,开发公司部分参数每次发送请求开发公司是唯一的数值,开发公司这时可以采用把测试数开发公司据参数化处理的方式实现,postman开发公司参数化的形式主要有三种。

1、开发公司内置变量实现

内建变量为postman自带的系统变量,但是不能进行精确化的对比

Variable Name

Description

Examples

{{$}}

添加一个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

更多内置变量参考:https://blog.csdn.net/minzhung/article/details/102531880 内建变量一般放在request里

2、Pre-request-Script页签中使用代码实现

单一请求执行顺序如下图所示:

​Pre-request-Script→request→response→Tests

这是比较推荐的一种参数化方法,可以通过自己写脚本的方式,提高了可塑性,

值得注意的是接口测试执行时接口会先执行这里的代码,然后发送请求,最后进行断言,与test一样都支持js语法

Pre-request-Script为执行接口请求之前要做的操作,而tests是执行完请求要做的操作,内建变量一般放在request里,我们

也可以用代码在pre-request-Script中实现,用代码实现的好处是可以复用,以下为部分举例:

示例一、Pre-request-Script先定义当前时间并获取,把当前时间设置为全局变量后传入请求参数中,然后在Tests中进行断言

3、下面是其他部分参数化方式的实现

代码如下

  1. var now_time = Date.now();
  2. pm.globals.set("now_time", now_time);
  3. const guid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'
  4. .replace(/x/g, () => (Math.floor(Math.random() * 16)).toString(16))
  5. .replace(/y/g, () => (Math.floor(Math.random() * 4 + 8)).toString(16));
  6. pm.globals.set("guid_value", guid);
  7. const randomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;
  8. pm.globals.set("random_number", randomInt(8,14) );
  9. const getRandomValue = list => list[randomInt(0, list.length - 1)];
  10. const charsInName = ['王','李','张'];
  11. pm.globals.set("people_name", getRandomValue(charsInName) );
  12. var mobile_num = `13${randomInt(500000000, 599999999)}`;
  13. pm.globals.set('mobile_num',mobile_num);
  14. const sleep = (milliseconds) => {
  15. const start = Date.now();
  16. while (Date.now() <= start + milliseconds) {}
  17. };
  18. sleep(5000);

4、外部文件的方式实现

4.1通过csv文件或者json格式的文件实现参数化

csv的运用,首先通过在文件中设置需要搜索的字段和搜索出来的结果

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

​也可以在控制台查看具体运行结果

断言的期望结果如果也写入文件中的话,也可以在Tests断言中调用,这里不再举例

​4.2外部文件也可以通过json格式的文件实现参数化,导入文件的时候记得校验文件是否为json

​值得注意的是iteration设置迭代次数,每次迭代都会使用你的数据文件中的一行,如果迭代次数超过数据文件中的行数,讲会重复使用最后一行数据

总结

今天的文章就分享到这里了,喜欢的小伙伴记得点赞收藏评论加关注哟,关注我每天给你不同的惊喜。

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发