1. 预请求(Pre-request)
当请求体(body)中有需要外界输入且调整(csv)的内容时,需要用到Pre-request,因为它不同于Tests,是在发送请求体之前就执行完成的。而Tests是只会在发送请求体之后才会执行,所以可以分析响应结果(Response)。
在Pre-request中,要想使用CSV里的数据。必须使用命名为data的csv文件(data.csv)!!文件名必须是data!!!!!csv文件的第一行写上变量名称。
预请求中可以读取state列:
var oppo_state = data.state;
var oppo_precent = data.state+'%';
要想看是否有正确读取数据以及数据的类型(typeof),debug可以这么输出:
console.log(typeof(oppo_state));
console.log(oppo_state);
可以使用csv读取来的数据,对请求体中的环境变量赋值。
if (oppo_state == 25) {
postman.setEnvironmentVariable("state_name", "S1了解客户-25%");
postman.setEnvironmentVariable("state_process", "101010");
}
else if (oppo_state == 50) {
postman.setEnvironmentVariable("state_name", "S3客户预算确认-50%");
postman.setEnvironmentVariable("state_process", "101030");
}
else if (oppo_state == 75) {
postman.setEnvironmentVariable("state_name", "S7已下单/合同签署-75%");
postman.setEnvironmentVariable("state_process", "101070");
}
else if (oppo_state == 100) {
postman.setEnvironmentVariable("state_name", "S9产品型已开票-100%");
postman.setEnvironmentVariable("state_process", "101090");
}
else{
postman.setEnvironmentVariable("state_process", 0);
}
2.Tests中获取数据
(1)获取请求体(Request Body)内数据
var reqdata = JSON.parse(request.data)
(2)获取响应体(Response Body)内数据
var resdata = JSON.parse(responseBody);
(3)获取环境变量
var state = pm.environment.get("state_process");
3.大错误警告
csv中的名字和环境变量的名字不要重复!!!!!