做接口测试过程中,有时候会遇到接口关联的问题,比如接口请求必须用到上一个接口的响应,如果要做接口关联,可以再添加一个请求,把响应的结果提取出来生成变量的方式,当然还可以使用另一种方式,直接在请求的Pre-request Script使用Send a request发送请求,这种方法不需要单独写一个接口,直接在当前的接口执行前发送请求。发送请求的时候会涉及传参和不传参的情况,接下来看一下如何使用。
一、请求前发送的get请求不传参数
访问qq的网站之前我想先访问百度
- 在发送的请求下选择Pre-request Script选项,选择Send a request用来发送请求
代码如下
// get请求不带参数,填写请求的地址
pm.sendRequest("https://www.baidu.com", function (err, response) {
if(err){// if表示判断如果是错误,err对应function中的err
console.log(err);// 在console的log中打印err
}else{// else表示判断如果不是错误
console.log(response);// 在console的log中打印响应response,response对应function中的response
}
});
执行结果如下
二、请求前发送get请求带参数
代码如下
// get请求带参数,填写请求的地址后面拼接请求的参数,参数名=值,多个参数之间以&拼接
pm.sendRequest("https://www.baidu.com?name=lucy&age=1", function (err, response) {
if(err){// if表示判断如果是错误,err对应function中的err
console.log(err);// 在console的log中打印err
}else{// else表示判断如果不是错误
console.log(response);// 在console的log中打印响应response,response对应function中的response
}
});
执行结果如下
三、请求前发送post请求参数传递x-www-form-urlencoded
post请求中的x-www-form-urlencoded参数传递的方式实际也是拼接在请求的url中
代码如下
// post请求传递参数application/x-www-form-urlencoded,填写请求的地址后面拼接请求的参数,参数名=值,多个参数之间以&拼接
var re = {// 定义re变量用来存放请求相关的数据,请求url,method,header
url:"http://www.ndtester.com:8084/loginApi?userName=andy&password=123456",// 请求的地址
method:"post",// 请求的方法
header:{"Content-Type": "application/x-www-form-urlencoded"}// 请求的头部(包含了传递参数的方式)
}
// 在发送请求的pm.sendRequest中的re表示上方定义的请求
pm.sendRequest(re, function (err, response) {
if(err){// if表示判断如果是错误,err对应function中的err
console.log(err);// 在console的log中打印err
}else{// else表示判断如果不是错误
console.log(response.json());
// 在console的log中打印响应response.json(),response.json()表示打印响应的JSON数据,返回的是JSON可使用此方法
}
});
执行结果如下
四、请求前发送post请求参数传递application/json
传递的数据格式是application/json格式
代码如下
// post请求传递参数application/json,传递的数据是json格式的
var re = {// 定义re变量用来存放请求相关的数据,请求url,method,header,body
url:"http://127.0.0.1:9090/login",// 请求的地址
method:"post",// 请求的方法
header:{"Content-Type": "application/json"},// 请求的头部(声明传递参数的方式是application/json)
body:{// 请求的正文部分
mode: 'raw',// 声明传递的数据是以raw格式
raw: JSON.stringify({"username": "admin","password": "123456"})// 传递的JSON数据写到JSON.stringify()的方法中
} //JSON.stringify() 方法是将一个JavaScript值(对象或者数组)转换为一个JSON字符串
}
// 在发送请求的pm.sendRequest中的re表示上方定义的请求
pm.sendRequest(re, function (err, response) {
if(err){// if表示判断如果是错误,err对应function中的err
console.log(err);// 在console的log中打印err
}else{// else表示判断如果不是错误
console.log(response.json());
// 在console的log中打印响应response.json(),response.json()表示打印响应的JSON数据,仅返回的是JSON使用此方法
}
});
执行结果如下 标签:console,请求,err,发送,json,log,response,postman From: https://www.cnblogs.com/lc-blogs/p/17008396.html