淄博建设工程学校官方网站,wordpress文件调用,机票酒店 网站建设,seo站内优化和站外优化目录#xff1a;导读
背景介绍
名词解析
使用说明
执行 API 测试
集成 CI 实现 API 自动化测试
写在最后 背景介绍
相信大部分开发人员和测试人员对 postman 都十分熟悉#xff0c;对于开发人员和测试人员而言#xff0c;使用 postman 来编写和保存测试用例会是一种比…目录导读
背景介绍
名词解析
使用说明
执行 API 测试
集成 CI 实现 API 自动化测试
写在最后 背景介绍
相信大部分开发人员和测试人员对 postman 都十分熟悉对于开发人员和测试人员而言使用 postman 来编写和保存测试用例会是一种比较方便和熟悉的方式。但 postman 本身是一个图形化软件相对较难或较麻烦如使用 RPA实现自动化测试。幸运的是postman 还提供了一个命令行工具 newman我们可以借助 postman newman 来实现 API 自动化测试。
名词解析
1. Collection
Collection 是一组保存的请求postman 中发送的每个请求都会显示在侧栏的 ”历史记录“ 选项卡下。请求数量比较少的时候通过历史记录来重用请求会比较方便。随着请求量的增长在历史记录中查找特定请求可能会非常耗时。此时你可以将所有请求保存为一个 collection以便于访问。
2. Environment
Environment 是一组可以在 postman 请求中使用的变量。你可以根据不同的环境如 dev、test、prod 等把一组相关的变量放到不同的 environment 文件中来对不同的环境进行 API 自动化测试。
使用说明
我们以测试百度的 https://www.baidu.com/sugrec 这个 API 作为示例。
1. 创建 Collection
新建 collection 新建请求 测试请求状态码返回 200 编写测试断言并验证断言
pm.test(Return 200, function() {pm.response.to.have.status(200)
}) 2. 创建 Environment
新建 environment 填写参数信息这里简单使用 host 作为参数 在 collection 的请求中使用 host 参数并进行测试 3. 导出 Collection 和 Environment
导出 collection 为 collection.json 导出 environment 为 environment.json 执行 API 测试
我们只需要基于导出的 collection.json 和 environment.json 执行一条 docker 指令即可完成 API 测试
docker run --rm -i -v /root/postman:/etc/newman \--entrypoint sh postman/newman:alpine -c \npm i -g newman-reporter-html; \newman run collection.json \--suppress-exit-code 1 \--color off \--reporters cli,html\--reporter-html-export api_report.html \--environmentenvironment.json
指令解析
项目说明docker run启动 docker 容器--rm 退出容器时销毁容器-i交互模式-v /root/postman:/etc/newman目录挂载--entrypoint sh postman/newman:alpine -c容器执行指令npm i -g newman-reporter-html安装 html 报告插件newman run collection.json指定测试 collection.json--suppress-exit-code 1 指定错误状态码为 1--color off 关闭颜色--reporters cli,html输出命令行和 html 报告--reporter-html-export api_report.html设置输出 html 文件名--environmentenvironment.json指定 environment.json 文件
执行结果 查看 html 报告 集成 CI 实现 API 自动化测试
你只需要针对你的代码项目准备好 collection.json 和 environment.json把它们存放到代码中的某个目录然后在 jenkins 或 gitlab-ci 中添加执行上面介绍的 docker 指令即可。
写在最后 如果你觉得文章还不错请大家 点赞、分享、留言 下因为这将是我持续输出更多优质文章的最强动力 看到这篇文章的人有觉得我的理解有误的地方也欢迎评论和探讨 你也可以加入下方的的群聊去和同行大神交流切磋