当前位置:网站首页>Parameterization of postman
Parameterization of postman
2022-07-06 09:07:00 【Automated test seventh uncle】
Preface
friends , Long time no see , Today, I want to talk with you postman A parameterized , In the interface test , Some parameters are unique values for each send request , At this time, the test data can be parameterized ,postman There are three main forms of parameterization .
1、 Built in variable implementation
The built-in variable is postman Built in system variables , But we can't make an accurate comparison
Variable Name | Description | Examples |
{ {$guid}} | Add one V4 Style GUID | “611c2e81-2ccb-42d8-9ddc-2d0bfa65c1b4” |
{ {$timestamp}} | Add the current timestamp , Accurate to seconds | 1562757107 , 1562757108 , 1562757109 |
{ {$randomint}} | add to 0-1000 Random integer between | 0-1000 Random integer between |
{ {$randomFullName}} | Random full name ( name surname ) | Connie Runolfsdottir , Sylvan Fay , Jonathon Kunze |
{ { $randomBoolean}} | Random Boolean values (true/false) | true , false , false , true |
More built-in variable references :https://blog.csdn.net/minzhung/article/details/102531880 Built in variables are generally placed in request in
2、Pre-request-Script The tab uses code to realize
The execution sequence of a single request is shown in the following figure :

Pre-request-Script→request→response→Tests
This is a more recommended parameterization method , You can write your own script , Improved plasticity ,
It is worth noting that when the interface test is executed, the interface will execute the code here first , Then send the request , Finally, make an assertion , And test All support js grammar
Pre-request-Script What to do before executing the interface request , and tests Is to perform the requested operation , Built in variables are generally placed in request in , We
You can also use code in pre-request-Script To realize , The advantage of code implementation is that it can be reused , Here are some examples :
Example 1 、Pre-request-Script First define the current time and get , Set the current time as a global variable and then transfer it to the request parameters , And then in Tests Assert in


3、 The following is the implementation of other parameterization methods

The code is as follows
var now_time = Date.now();
pm.globals.set("now_time", now_time);
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("random_number", randomInt(8,14) );
const getRandomValue = list => list[randomInt(0, list.length - 1)];
const charsInName = [' king ',' Li ',' Zhang '];
pm.globals.set("people_name", getRandomValue(charsInName) );
var mobile_num = `13${randomInt(500000000, 599999999)}`;
pm.globals.set('mobile_num',mobile_num);
const sleep = (milliseconds) => {
const start = Date.now();
while (Date.now() <= start + milliseconds) {}
};
sleep(5000);4、 External files
4.1 adopt csv Documents or json Format file to achieve parameterization
csv The use of , First, set the fields to be searched and the search results in the file

The key self should be separated by English commas , The first line writes the defined parameter variables , Remember to use utf-8 The encoding format of 、.csv The file suffix is saved , Click on runner Button


You can also view the specific running results on the console

If the expected result of the assertion is also written into the file , It can also be in Tests Called in assertion , No more examples here

4.2 External files can also be accessed through json Format file to achieve parameterization , Remember to check whether the file is json


It is worth noting that iteration Set the number of iterations , Each iteration will use a line in your data file , If the number of iterations exceeds the number of lines in the data file , I will reuse the last row of data
summary
So much for today's article , Remember to like collection comments and pay attention to your favorite friends , Pay attention to the different surprises I give you every day .

边栏推荐
- How to effectively conduct automated testing?
- [OC]-<UI入门>--常用控件-提示对话框 And 等待提示器(圈)
- Selenium+Pytest自动化测试框架实战
- LeetCode:124. 二叉树中的最大路径和
- UML diagram memory skills
- Using label template to solve the problem of malicious input by users
- The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
- Notes 01
- LeetCode:236. The nearest common ancestor of binary tree
- In depth analysis and encapsulation call of requests
猜你喜欢

Advanced Computer Network Review(5)——COPE

UML图记忆技巧

The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower

Advance Computer Network Review(1)——FatTree

UML圖記憶技巧

【图的三大存储方式】只会用邻接矩阵就out了

LeetCode:236. 二叉树的最近公共祖先

BN folding and its quantification

Intel Distiller工具包-量化实现1
![[OC foundation framework] - string and date and time >](/img/75/e20064fd0066810135771a01f54360.png)
[OC foundation framework] - string and date and time >
随机推荐
AcWing 2456. 记事本
Using label template to solve the problem of malicious input by users
多元聚类分析
requests的深入刨析及封装调用
LeetCode:26. 删除有序数组中的重复项
LeetCode:34. 在排序数组中查找元素的第一个和最后一个位置
MYSQL卸载方法与安装方法
注意力机制的一种卷积替代方式
[OC]-<UI入门>--常用控件-UIButton
使用标签模板解决用户恶意输入的问题
LeetCode:39. 组合总和
TP-LINK enterprise router PPTP configuration
SimCLR:NLP中的对比学习
Implement window blocking on QWidget
LeetCode:41. Missing first positive number
Compétences en mémoire des graphiques UML
数学建模2004B题(输电问题)
在QWidget上实现窗口阻塞
Digital people anchor 618 sign language with goods, convenient for 27.8 million people with hearing impairment
Pytorch view tensor memory size