当前位置:网站首页>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 .
边栏推荐
猜你喜欢
Advanced Computer Network Review(5)——COPE
IJCAI2022论文合集(持续更新中)
一改测试步骤代码就全写 为什么不试试用 Yaml实现数据驱动?
Using C language to complete a simple calculator (function pointer array and callback function)
KDD 2022论文合集(持续更新中)
Computer graduation design PHP Zhiduo online learning platform
[OC foundation framework] - [set array]
Intel Distiller工具包-量化实现1
Detailed explanation of dynamic planning
Digital people anchor 618 sign language with goods, convenient for 27.8 million people with hearing impairment
随机推荐
[oc]- < getting started with UI> -- common controls uibutton
LeetCode:214. 最短回文串
LeetCode:394. 字符串解码
An article takes you to understand the working principle of selenium in detail
[MySQL] limit implements paging
使用标签模板解决用户恶意输入的问题
Selenium+pytest automated test framework practice (Part 2)
Notes 01
Pytest之收集用例规则与运行指定用例
Advance Computer Network Review(1)——FatTree
LeetCode:236. 二叉树的最近公共祖先
TDengine 社区问题双周精选 | 第三期
Advanced Computer Network Review(3)——BBR
[oc]- < getting started with UI> -- learning common controls
[OC]-<UI入门>--常用控件的学习
使用latex导出IEEE文献格式
Implement window blocking on QWidget
什么是MySQL?MySql的学习之路是怎样的
Mise en œuvre de la quantification post - formation du bminf
LeetCode:34. 在排序数组中查找元素的第一个和最后一个位置