当前位置:网站首页>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 .
边栏推荐
- LeetCode:673. Number of longest increasing subsequences
- Pytest's collection use case rules and running specified use cases
- LeetCode:劍指 Offer 42. 連續子數組的最大和
- LeetCode:387. The first unique character in the string
- Advanced Computer Network Review(3)——BBR
- MongoDB 的安装和基本操作
- 自定义卷积注意力算子的CUDA实现
- To effectively improve the quality of software products, find a third-party software evaluation organization
- Revit secondary development Hof method calls transaction
- LeetCode:236. The nearest common ancestor of binary tree
猜你喜欢
Export IEEE document format using latex
LeetCode:498. Diagonal traversal
LeetCode:124. Maximum path sum in binary tree
In depth analysis and encapsulation call of requests
Ijcai2022 collection of papers (continuously updated)
使用latex导出IEEE文献格式
Chapter 1 :Application of Artificial intelligence in Drug Design:Opportunity and Challenges
甘肃旅游产品预订增四倍:“绿马”走红,甘肃博物馆周边民宿一房难求
MySQL uninstallation and installation methods
Intel distiller Toolkit - Quantitative implementation 1
随机推荐
LeetCode:394. String decoding
Advance Computer Network Review(1)——FatTree
【shell脚本】使用菜单命令构建在集群内创建文件夹的脚本
BN折叠及其量化
LeetCode:498. 对角线遍历
Nacos 的安装与服务的注册
使用标签模板解决用户恶意输入的问题
一篇文章带你了解-selenium工作原理详解
A convolution substitution of attention mechanism
Leetcode: Sword Finger offer 42. Somme maximale des sous - tableaux consécutifs
Simple use of promise in uniapp
I-BERT
LeetCode:162. Looking for peak
[OC foundation framework] - string and date and time >
LeetCode:剑指 Offer 03. 数组中重复的数字
[oc foundation framework] - < copy object copy >
不同的数据驱动代码执行相同的测试场景
Export IEEE document format using latex
TDengine 社区问题双周精选 | 第三期
[OC-Foundation框架]---【集合数组】