📜  测试示例

📅  最后修改于: 2021-01-08 01:41:29             🧑  作者: Mango

测试例

从上一节我们可以了解到,测试脚本是在发送请求后执行的,服务器已经收到响应。

在这里,我们将讨论一些测试示例。大多数示例都可以在邮递员的摘录中找到。我们可以为一个请求运行多个测试。

环境环境

设置环境变量

pm.environment.set("variable_key", "variable_value");

我们还可以将嵌套对象设置为环境变量:

var array = [1, 2, 3, 4];
pm.environment.set("array", JSON.stringify(array, null, 2));

var obj = { a: [1, 2, 3, 4], b: { c: 'val' } };
pm.environment.set("obj", JSON.stringify(obj));

获取环境变量

pm.environment.get("variable_key");

清除环境变量

pm.environment.unset("variable_key");

采集

设置集合变量

pm.collectionVariables.set(variableName:String, variableValue:String);

获取集合变量

pm.collectionVariables.get(variableName:String);

清除集合变量

pm.collectionVariables.unset(variableName:String);

全球

设置全局变量

pm.globals.set("variable_key", "variable_value");

获取全局变量

pm.globals.get("variable_key");

清除全局变量

pm.globals.unset("variable_key");

响应处理

在响应正文中搜索字符串

pm.test("Body Contains", function () {
    pm.expect(pm.response.text()).to.include("search_string");
});

检查响应主体是否等于字符串

pm.test("Body is correct", function () {
    pm.response.to.have.body("response_body_string");
});

检查JSON值

pm.test("Your test name", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.value).to.eql(100);
});

检查Content-Type标头是否存在

pm.test("Content-Type header is present", function () {
    pm.response.to.have.header("Content-Type");
});

响应时间小于200毫秒

pm.test("Response time is less than 200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});

状态码为200

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

代号名称包含一个字符串

pm.test("Status code name contains a string", function () {
    pm.response.to.have.status("Created");
});

成功的POST请求状态代码

pm.test("POST request Successful ", function () {
    pm.expect(pm.response.code).to.be.oneOf([201,202]);
});