Postman的简单参数化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Postman的简单参数化相关的知识,希望对你有一定的参考价值。
参考技术A 将数据存放在csv格式文件中,注意将第一行设置为列名。如下示例(空格可用引号括起):如要放在JSON格式中,可以直接从csv格式转化【在线工具: http://www.bejson.com/json/col2json/ 】,注意转化后要进行格式化校验,查看是否有误【在线工具: https://qqe2.com/ 】
在请求的pre-request脚本中按列名获取文件数据,并将数据设置为环境变量或全局变量
举例:
在GUI使用全局或环境变量时,可用 var名 格式引用。
在脚本中使用时,需要先get为新的变量,再使用
举例:
Postman参数化
文章目录
一、没有使用参数化
请求url:
https://postman-echo.com/post
json请求体:
"user":"admin",
"pwd":"abc1234"
断言代码:
pm.test("用户名密码正常,登陆成功", function ()
var jsonData = pm.response.json();
pm.expect(jsonData.data.user).to.eql("admin");
pm.expect(jsonData.data.pwd).to.eql("abc1234");
);
- 没有参数化,如果有多个用例,即需在postman设置多个请求,重复率高
二、参数化
-
参数化支持的文件格式:json、csv
-
这里以json格式举例
-
注意:
- 保存为UTF-8编码格式
- 一个测试用例一条数据
- 一条数据内容一般包含
- 用例名称
- 测试数据
- 预期结果
1. 测试数据部分字段参数化
1.1 参数化文件login1.json内容如下:
[
"case_name": "用户名密码正常,登陆成功",
"username": "admin",
"password": "abc1234",
"expect_user": "admin",
"expect_pwd": "abc1234"
,
"case_name": "用户名错误,登陆失败",
"username": "adminxxx",
"password": "abc1234",
"expect_user": "adminxxx",
"expect_pwd": "abc1234"
,
"case_name": "密码错误,登陆失败",
"username": "admin",
"password": "abc1234mike",
"expect_user": "admin",
"expect_pwd": "abc1234mike"
]
1.2 Postman设置
json请求体:
"user":"username",
"pwd":"password"
断言代码:
pm.test(data.case_name, function ()
var jsonData = pm.response.json();
pm.expect(jsonData.data.user).to.eql(data.expect_user);
pm.expect(jsonData.data.pwd).to.eql(data.expect_pwd);
);
1.3 关联文件,发送请求
-
注意:引用参数化文件不能直接点send按钮发送请求
-
需通过批量运行run按钮选择文件,再运行
2. 请求体参数化:请求体作为字符串处理
-
处理方式
-
最外层加上双引号
-
里面本身的双引号左边加上反斜杠\\
-
2.1 参数化文件login2.json内容如下:
[
"case_name": "用户名密码正常,登陆成功",
"body": "\\"user\\": \\"admin\\", \\"pwd\\": \\"abc1234\\"",
"expect_user": "admin",
"expect_pwd": "abc1234"
,
"case_name": "用户名错误,登陆失败",
"body": "\\"user\\": \\"adminxxx\\", \\"pwd\\": \\"abc1234\\"",
"expect_user": "adminxxx",
"expect_pwd": "abc1234"
,
"case_name": "密码错误,登陆失败",
"body": "\\"user\\": \\"admin\\", \\"pwd\\": \\"abc1234mike\\"",
"expect_user": "admin",
"expect_pwd": "abc1234mike"
]
2.2 Postman设置
json请求体:
body
- 断言设置,关联文件,发送请求,和上面一样,这里不再重复截图
- 断言设置,关联文件,发送请求,和上面一样,这里不再重复截图
3. 请求体参数化:通过Pre-request Scrip预处理
3.1 参数化文件login3.json内容如下
[
"case_name": "用户名密码正常,登陆成功",
"body": "user": "admin", "pwd": "abc1234",
"expect_user": "admin",
"expect_pwd": "abc1234"
,
"case_name": "用户名错误,登陆失败",
"body": "user": "adminxxx", "pwd": "abc1234",
"expect_user": "adminxxx",
"expect_pwd": "abc1234"
,
"case_name": "密码错误,登陆失败",
"body": "user": "admin", "pwd": "abc1234mike",
"expect_user": "admin",
"expect_pwd": "abc1234mike"
]
3.2 Pre-request Scrip预处理
// json转string
body_value = JSON.stringify(data.body);
// 设置全局变量
pm.globals.set("body_value", body_value);
3.3 json请求体处理
json请求体:
body_value
- 断言设置,关联文件,发送请求,和上面一样,这里不再重复截图
- 断言设置,关联文件,发送请求,和上面一样,这里不再重复截图
以上是关于Postman的简单参数化的主要内容,如果未能解决你的问题,请参考以下文章