当前位置:网站首页>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 .

边栏推荐
- Improved deep embedded clustering with local structure preservation (Idec)
- Philosophical enlightenment from single point to distributed
- LeetCode:41. Missing first positive number
- [embedded] print log using JLINK RTT
- Selenium+pytest automated test framework practice (Part 2)
- Mongodb installation and basic operation
- [OC-Foundation框架]-<字符串And日期与时间>
- Chapter 1 :Application of Artificial intelligence in Drug Design:Opportunity and Challenges
- [oc]- < getting started with UI> -- learning common controls
- Intel distiller Toolkit - Quantitative implementation 2
猜你喜欢

Advanced Computer Network Review(4)——Congestion Control of MPTCP
![[OC-Foundation框架]---【集合数组】](/img/b5/5e49ab9d026c60816f90f0c47b2ad8.png)
[OC-Foundation框架]---【集合数组】

Computer graduation design PHP Zhiduo online learning platform

数字人主播618手语带货,便捷2780万名听障人士

What is MySQL? What is the learning path of MySQL

CUDA implementation of self defined convolution attention operator

Simclr: comparative learning in NLP

Problems encountered in connecting the database of the project and their solutions

Ijcai2022 collection of papers (continuously updated)

LeetCode:498. Diagonal traversal
随机推荐
LeetCode:394. String decoding
Pytest参数化你不知道的一些使用技巧 /你不知道的pytest
Cesium draw points, lines, and faces
LeetCode:26. 删除有序数组中的重复项
[OC-Foundation框架]--<Copy对象复制>
【shell脚本】——归档文件脚本
Intel distiller Toolkit - Quantitative implementation 3
甘肃旅游产品预订增四倍:“绿马”走红,甘肃博物馆周边民宿一房难求
LeetCode:221. Largest Square
[oc]- < getting started with UI> -- common controls uibutton
xargs命令的基本用法
[MySQL] limit implements paging
LeetCode:34. 在排序数组中查找元素的第一个和最后一个位置
Implement window blocking on QWidget
【图的三大存储方式】只会用邻接矩阵就out了
[OC foundation framework] - string and date and time >
Intel Distiller工具包-量化实现2
[OC]-<UI入门>--常用控件的学习
Ijcai2022 collection of papers (continuously updated)
Simclr: comparative learning in NLP