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

目录:
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函数,

  • 第一个参数是一个字符串(测试脚本执行后这串文字会在TestResult中打印出来,如下图);
  • 第二个参数是一个匿名函数,匿名函数体中调用了pm的expect函数,expect包含一个参数:pm.response.text(),这个参数是通过pm获取到响应体并转换成文本,再通过.to.include来跟期望的字符串resultcode进行比对。判断响应体文本中是否包含resultcode这个字符串。
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");
});

四、八种请求类型介绍

后四种不常用

  • POST 增
  • DELETE 删
  • PUT 改
  • GET 查
  • TRACE 跟踪
  • HEAD 跟GET类型,但只返回头部,不返回响应体
  • OPTIONS 返回服务器针对特定资源所支持的HTTP请求方法
  • CONNECT 用于建立一个网络连接,HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器

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

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

  • 下载安装node.js 并配置环境变量
  • 安装newman
    以管理员身份打开terminal ( sudo su ,然后输入密码)
    安装命令:mpn install -g newman
    检验:newman -v
  • 安装newman-reporter-html
    npm install -g newman-reporter-html
  • 在postman里导出测试集
    search.pm_collection.json
    search.pm_collection_envir.json
  • terminal 执行以下命令,生成测试报告
    newman run search.pm_collection.json -e search.pm_collection_envir.json -r html --reporter-html-export search_ip.html
接口测试报告 search_ip.html

你可能感兴趣的:(2022-05-06 - Postman测试脚本入门の一)