接口测试——postman的基本运用(2)
1、接口的环境变量
(1)设置{{}} 定义变量

(2)添加环境变量

(3)查看环境变量

(4)选择环境,执行

2、依赖接口
先登录接口成功,生成cookie值,才能让后面接口依赖
cookie值是保持会话


3、关联接口
上一个接口响应参数,作为下一个接口请求参数
省份接口:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportProvince

城市接口:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportCity

- test中将响应体的内容转换成json格式:

- 设置成环境变量

- var jsonObject = xml2Json(responseBody);
- 将省份接口转换成json格式
- js=jsonObject.ArrayOfString.string
- 将json格式中的string设置变量
- postman.setEnvironmentVariable("cs", js[3]);
- 添加到环境变量中,可以让后面城市接口引用
-postman——断言-
1、test中的断言
- #状态码是否等于200
tests["Status code is 200"] = responseCode.code === 200;
- #断言响应时间小于200ms
tests["Response time is less than 200ms"] = responseTime < 200;
- #断言响应体包含内容
tests["Body matches string"] = responseBody.has("string_you_want_to_search");

(1)查看断言结果

(2)如果不断言,只能说明接口是通的,不能说明响应体是正确的

2、test中的功能

postman.clearGlobalVariable("variable_key");
postman.clearEnvironmentVariable("variable_key");
tests["Body matches string"] = responseBody.has("string_you_want_to_search");
var jsonObject = xml2Json(responseBody);
tests["Body is correct"] = responseBody === "response_body_string";
var jsonData = JSON.parse(responseBody);
tests["Your test name"] = jsonData.value === 100;
tests["Content-Type is present"] = postman.getResponseHeader("Content-Type");
tests["Response time is less than 200ms"] = responseTime < 200;
postman.setGlobalVariable("variable_key", "variable_value");
postman.setEnvironmentVariable("variable_key", "variable_value");
tests["Status code is 200"] = responseCode.code === 200;
tests["Status code name has string"] = responseCode.name.has("Created");
tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;
var schema = {"items": {"type": "boolean"}};
var data1 = [true, false];
var data2 = [true, 123];
tests["Valid Data1"] = tv4.validate(data1, schema);
tests["Valid Data2"] = tv4.validate(data2, schema);
console.log("Validation failed: ", tv4.error);

浙公网安备 33010602011771号