postman执行批量测试

1.背景

有许多的人常常需要使用第三方系统进行重复的数据查询,本文介绍使用PostMan的方式对数据进行批量的查询,减少重复的劳动。

2.工具下载

3.初入门

一、如图示进行点击,创建collection

二、输入对应的名称

三、创建Request并进行查询

四、录入对应的get请求

https://vue.ruoyi.vip/prod-api/system/user/list?pageNum=1\&pageSize=10

可以看到访问是有失败的,因为咱们没有传输对应的登录标识(token)。可以登录网址:(https://vue.ruoyi.vip/monitor/online),登录成功过之后,F12,再F5刷新,找到对应的请求上的token;

对应的PostMan上的设置则为在header上录入Authorization以及从F12拷贝看到的Authorization的值;再次点击即可查询成功。

注意:Authorization对应值如有回车需要对应删除。

查询成功的界面

4.设置变量

如下图示进行点击以及录入对应的参数;并进行保存

修改对应的Request的参数为变量;并点击send

批量测试

找到Runner

点击Run进行批量查询

批量查询结果

通过csv进行对应的查询

(1)文件准备

(2)程序请求

结果查看

可以看到对应参数有对应的进行变化了。

对应的集合名称.postman_collection.json文件可以通过拷贝以下代码直接进行导入即可。

bash 复制代码
{
	"info": {
		"_postman_id": "f6a88b1d-d969-4336-9dcc-14703a9d9a60",
		"name": "集合名称",
		"schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json",
		"_exporter_id": "31360463"
	},
	"item": [
		{
			"name": "New Request",
			"request": {
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImE2M2I3NDNhLThjMzYtNGFlYi04NWVhLTRkNGVkMDk4OGJkNiJ9.W6lcdFMSEHinLeVrcyhL2XidPkZnsjUT-jctJV8QL6TmCnCuDt1mYw75qpa-fhTa8A_bosk2QBCFf55M9aKKFg",
						"type": "text"
					}
				],
				"url": {
					"raw": "https://vue.ruoyi.vip/prod-api/system/user/list?pageNum={{pageNum}}&pageSize=1",
					"protocol": "https",
					"host": [
						"vue",
						"ruoyi",
						"vip"
					],
					"path": [
						"prod-api",
						"system",
						"user",
						"list"
					],
					"query": [
						{
							"key": "pageNum",
							"value": "{{pageNum}}"
						},
						{
							"key": "pageSize",
							"value": "1"
						}
					]
				}
			},
			"response": []
		}
	],
	"event": [
		{
			"listen": "prerequest",
			"script": {
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		},
		{
			"listen": "test",
			"script": {
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		}
	],
	"variable": [
		{
			"key": "pageNum",
			"value": "2",
			"type": "string"
		}
	]
}
bash 复制代码
{
	"info": {
		"_postman_id": "960a75d2-635e-4fef-9ec5-f80ebdb811aa",
		"name": "测试批量执行1",
		"schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json",
		"_exporter_id": "31360463"
	},
	"item": [
		{
			"name": "http://xxx/api_sys/xxx/clientFinancingOrder/orderCreditList",
			"event": [
				{
					"listen": "test",
					"script": {
						"exec": [
							"// responseBody\t\t//系统预设参数,接口返回体参数\r",
							"// var t = JSON.stringify(responseBody)\t\t//将responseBody转换成 JSON字符串形式,非必须,在返回内容是json格式的情况下不需要\r",
							"// var b = responseBody.substr(responseBody.indexOf(\"text\"), 10);  //截取responseBody第一个text文本的首字母下标后10个字符。\r",
							"// console.log(responseBody);\t//控制台返回responseBody的内容\r",
							"// console.log(b);\t//控制台返回b的内容\r",
							"// pm.test(\"截取的内容是:\" + b + \"返回体的内容是:\"+ responseBody, function () {//用例的返回内容+断言内容\r",
							"//     pm.expect(pm.response.text()).to.include(\"期望的返回内容\");\t//判断是否有期望的返回内容\r",
							"// })\r",
							"\r",
							" var t = JSON.stringify(responseBody)\r",
							" var result = JSON.parse(responseBody)\r",
							"\r",
							"console.log(pm.variables.get(\"pageNum\") , result.total)\r",
							"\r",
							"pm.test(\"\"+ pm.variables.get(\"pageNum\") + \",\" +  JSON.stringify(result.rows), function () {//用例的返回内容+断言内容\r",
							"    //pm.expect(pm.response.text()).to.include(\"期望的返回内容\");\t//判断是否有期望的返回内容\r",
							"})\r",
							""
						],
						"type": "text/javascript"
					}
				}
			],
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "Authorization",
						"value": "Bearer eyJhbGciOiJIUzUxMiJ9.eyJvcGVfbG9naW5fdXNlcl9rZXkiOiI2MmRhZDhlMC1mYWFhLTRmZWItYmE4YS01NmM5M2NiOGIzODgifQ.W2D5Aq1RTJ5cZbaqGkAmnT0qIcJ11ChngLMfymoz8tUL5cInL1FMIGmrRGsENJJ25kTPKw0F5jbjd_jwXkL15A",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\"pageNum\":{{pageNum}},\"pageSize\":10}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": "http://10.0.9.35:17090/api_sys/business/clientFinancingOrder/orderCreditList"
			},
			"response": []
		}
	],
	"event": [
		{
			"listen": "prerequest",
			"script": {
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		},
		{
			"listen": "test",
			"script": {
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		}
	],
	"variable": [
		{
			"key": "pageNum",
			"value": "1",
			"type": "string"
		},
		{
			"key": "Authorization",
			"value": "Bearer eyJhbGciOiJIUzUxMiJ9.eyJvcGVfbG9naW5fdXNlcl9rZXkiOiI2MmRhZDhlMC1mYWFhLTRmZWItYmE4YS01NmM5M2NiOGIzODgifQ.W2D5Aq1RTJ5cZbaqGkAmnT0qIcJ11ChngLMfymoz8tUL5cInL1FMIGmrRGsENJJ25kTPKw0F5jbjd_jwXkL15A\n",
			"type": "string"
		}
	]
}
相关推荐
JiNan.YouQuan.Soft17 小时前
Linux下编译Kratos
其他
Gemini19951 天前
职场 Death Note
其他
哲伦贼稳妥2 天前
一天认识一个硬件之显示器
经验分享·其他·计算机外设
hzmscut2 天前
create_generated_clock加-combinational
其他
深科信项目申报助手3 天前
2024年国家高新申报,警惕被退回的情况
大数据·经验分享·科技·其他
心忍3 天前
8.2 溪降技术:主点
其他
北京天拓四方3 天前
边缘计算智能网关的功能应用与优势-天拓四方
物联网·其他·边缘计算·iot
NullPointerZZZ3 天前
快速生成服务器响应json-server的安装和使用
其他
北京天拓四方4 天前
边缘计算网关:连接中心计算与边缘设备的重要桥梁-天拓四方
物联网·其他·边缘计算·iot
哲伦贼稳妥4 天前
一天认识一个硬件之摄像头
网络·人工智能·经验分享·其他