软件测试Postman中文文档自动化测试

2022-05-06 - Postman测试脚本入门の一

2022-05-06  本文已影响0人  耑意儿
目录:
1、概述
2、单条脚本代码阅读
3、Response\Status code相关脚本代码
4、请求类型详解
5、生成测试报告
image.png

一、概述

本次测试基于查询Ip的接口http://apis.juhe.cn/ip/ipNew
详情可前往FreeApi查看。(如果公司有现成的接口就不必费这个事啦,直接用公司的就好。)
接口请求类型为:GET请求
请求参数包含keyip,key到FreeApi去根据引导获取,每日有上限,我下面的Demo就是超过请求次数了的【苦涩】,无妨,不影响学习。

请求地址、参数、响应体

根据Postman提供的脚本片段入手进行测试脚本学习:


Tests栏

二、单条脚本代码阅读

先取一段脚本代码进行阅读:

pm.test("响应体中包含字符串:resultcode", function () {
    pm.expect(pm.response.text()).to.include("resultcode");
});

上述代码为一段包含两个参数的函数,函数为pm类下的 test函数,

test函数第一个参数的用途

三、Response\Status code相关脚本代码

对Response\Status code进行测试:

// 检测响应体中是否包含特定的字符串,这个响应体信息我们在postman最下方窗口的Body标签可以直接查看
pm.test("响应体中包含字符串:resultcode", function () {
    pm.expect(pm.response.text()).to.include("resultcode");
});
// 检测响应状态码是否为200,响应状态码在postman最下方窗口的标题栏右侧可看
pm.test("状态码为200", function () {
    pm.response.to.have.status(200);
});
// 检测响应体Json中的error_code字段的值是否等于10012
pm.test("error_code的值为10012", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.error_code).to.eql(10012);
});
// 检测响应体完整的内容是否完全等同于期望的内容
pm.test("响应体内容与预期完全一致", function () {
    pm.response.to.have.body({"resultcode":"112","reason":"超过每日可允许请求次数!","result":null,"error_code":10012});
});
// 检测请求头是否带了date信息,也可以检查是否包含Content-Type、Transfer-Encoding、Connection、Etag等,这个请求头信息我们在postman窗口中TestResult旁边的标签可以直接查看
pm.test("header中包含date日期", function () {
    pm.response.to.have.header("date");
});
// 响应时间在postman最下方窗口的标题栏右侧可看
pm.test("响应时间少于200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});
// 响应状态码在postman最下方窗口的标题栏右侧可看
pm.test("响应码为201或202或200", function () {
    pm.expect(pm.response.code).to.be.oneOf([201, 202,200]);
});
// 响应状态码名称在postman最下方窗口的标题栏右侧可看
pm.test("状态码名称为OK", function () {
    pm.response.to.have.status("OK");
});

四、八种请求类型介绍

后四种不常用

五、生成测试报告(mac电脑)

参考文档:postman中做完测试后如何自生成测试报告

接口测试报告 search_ip.html
上一篇 下一篇

猜你喜欢

热点阅读