5分钟入门自动化测试——你应该学会的Postman用法(2)
前言
之前的一篇文章《你应该学会的Postman用法》,主要介绍了postman的一些高级的用法,便于日常开发和调试使用,本文的基础是对postman的基本使用以及一些高级用法有一定的了解,如对此不太了解的同学,建议移步:【这里】 了解。
背景
随着公司微服务体系服务越来越多,业务增长越来越迅速,版本迭代越来越快,而且对系统的可用性要求越来越高,传统的手工发布系统的方式已经完全无法满足日常运维的需求了,自动化构建发布的需求越来越强烈,但是自动化发布有个基础的环境,自动化测试,鉴于团队规模不大,测试人员的能力参差不齐,自动化测试我们选择了以开发测试一起搭建的方式,通过轻量级的工具postman进行自动化测试。
测试文件共享
postman可以将测试的接口进行collections分组,分组后的一组接口可以进行导出,如图:
导出后的文件,可以作为测试脚本共享,使用的人员只要导入,即可使用。
这样,就可以在不同人员间,共享一个测试的文件。当然,如果能升级到高级版,可以直接通过不同的账号在云端共享测试文件,更加方便。
脚本测试
一直以来,我们都是介绍通过postman 的UI进行测试的,但是,实际做自动化测试的时候,我们更多是使用脚本,特别是在生产环境,通过脚本进行测试,就是必然了。postman为我提供了一个测试的工具——newman,基于node.js的一个脚本测试工具。
安装
先安装node.js,这里不赘述了,开发人员必备工具。
在安装newman:
npm install -g newman
初步使用
记得前面介绍的,我们导出的测试文件吧,那个文件除了分享给别人,也是我们用来测试的文件。
newman run 11.json
11.json 就是我刚才导出的文件,使用脚本文件类型必须是json。
这时候看看我们测试发生了什么?
貌似,失败了。提示我们循环,执行了一次,6个请求,但是全面部失败了。看到错误的信息发现URI不正确,因为我用到postman了环境变量,但是导出的结果里没有环境变量。这时候我们需要调整一下执行的脚本。
newman run 11.json -e url.json
url.json 实际是我们需要当前执行的环境变量,文件从就是如图方式导出的:
导出后,我们也是将文件命名为json类型的文件。这样我看下我们执行的结果。
全部执行成功了。就是这么简单。一个命令配上我们开发时候就需要用到的测试文件,就可以了,无需另外的测试脚本,用一个shell脚本即可完成结果的测试。
参数详解
newman是个非常轻量级的命令,参数很少,这里我们列出常用的几个参数:
参数 | 详细说明 |
---|---|
-e | 环境变量(environment)文件路径或者url,json文件 |
-g | 全部配置(Global)文件路径或url,json文件 |
-d | 测试数据文件路径,cvs文件 |
-n | 循环测试次数 |
--delay-request | 延迟执行时间 |
--timeout-request | 请求超时时间 |
--bail | 其中一个接口失败后,是否继续执行 |
详细参数,可以参考:【这里】
总结
这样一个非常轻量级的自动化测试脚本就做好了,当然,这是我们做自动化构建发布一个前提,postman的优势是将日常开发中需要用的测试工具做成通过shell就能执行的工具,比专门花时间了编写soapui这样的脚本来说,更加轻量级,更加友好,当集成了shell的相关功能后,对于开发人员来说,可扩展性就变得非常容易了,后面的文章我将会介绍如何结合postman,再整合其他构建发布工具,来对我们的微服务进行发布,真正做到了自动化的发布、测试,而且能做到不停机、不影响用户使用情况下完成系统的发布。
5分钟入门自动化测试——你应该学会的Postman用法(2)的更多相关文章
- 你应该学会的Postman用法
postman这个神器相信大家都用过,程序员作为非专业的测试人员,非常需要这么一款简单轻量级的restful测试工具,但是不知道你是否知道,postman的强大之处不只是测试一下接口,还有其他非常赞的 ...
- Shell脚本编程30分钟入门
Shell脚本编程30分钟入门 转载地址: Shell脚本编程30分钟入门 什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_t ...
- Objective-C 30分钟入门教程
Objective-C 30分钟入门教程 我第一次看OC觉得这个语言的语法有些怪异,为什么充满了@符号,[]符号,函数调用没有()这个,但是面向对象的高级语言也不外乎类,接口,多态,封装,继承等概念. ...
- Apache Shiro系列三,概述 —— 10分钟入门
一.介绍 看完这个10分钟入门之后,你就知道如何在你的应用程序中引入和使用Shiro.以后你再在自己的应用程序中使用Shiro,也应该可以在10分钟内搞定. 二.概述 关于Shiro的废话就不多说了 ...
- JavaScript 10分钟入门
JavaScript 10分钟入门 随着公司内部技术分享(JS进阶)投票的失利,先译一篇不错的JS入门博文,方便不太了解JS的童鞋快速学习和掌握这门神奇的语言. 以下为译文,原文地址:http://w ...
- 十分钟入门less(翻译自:Learn lESS in 10 Minutes(or less))
十分钟入门less(翻译自:Learn lESS in 10 Minutes(or less)) 注:本文为翻译文章,因翻译水平有限,难免有缺漏不足之处,可查看原文. 我们知道写css代码是非常枯燥的 ...
- 30分钟入门Java8之方法引用
30分钟入门Java8之方法引用 前言 之前两篇文章分别介绍了Java8的lambda表达式和默认方法和静态接口方法.今天我们继续学习Java8的新语言特性--方法引用(Method Referenc ...
- 30分钟入门Java8之默认方法和静态接口方法
30分钟入门Java8之默认方法和静态接口方法 前言 上一篇文章30分钟入门Java8之lambda表达式,我们学习了lambda表达式.现在继续Java8新语言特性的学习,今天,我们要学习的是默认方 ...
- 【原创】30分钟入门 github
很久没更新了,这篇文章重点在github的入门使用,读者可以下载github for windows shell,边看边操作,加深印象. 好了,30分钟的愉快之旅开始吧: 一.github使用的注意事 ...
随机推荐
- 关于web优化(一)
我们所说的web,无非就是html,css(web font, image),JavaScript. HTML优化建议: 1. 尽量不要用table进行布局. 2. 尽量用最新的带有语义的h5标签,这 ...
- python第九十五天--js正则
定义正则表达式 /.../ 用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m 表示多行匹配 JS正则匹配时本身就是支持多行,此处多行匹配只是影响正则表达式^ ...
- BootStrap DateTimePicker的使用
使用方法 1. 添加资源 2. 编写代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Conte ...
- MySQL之慢查询日志分析
在MySQL命令行中查看慢查询日志是否打开了: mysql> show variables like '%slow_query%'; +---------------------------+- ...
- 实验吧web题(26/26)全writeup!超详细:)
#简单的SQL注入 http://www.shiyanbar.com/ctf/1875 1)试着在?id=1,没有错误 2)试着?id=1',出错了,有回显,说明有注入点: You have an e ...
- 6.2Python文件的操作(二)
目录 目录 前言 (一)文件的定位 (二)文件的读操作 ==1.read()方法== ==2.readline()方法== ==3.readlines()方法== ==4.文件的遍历读法== (三)文 ...
- 解决win10系统dpi放大后,部分网页文字颜色很浅的问题
前段时间,换了个27寸的4k显示器.原始分辨率下文字太小,眼睛估计得看瞎 放大dpi后,这问题,那问题,好多 百度知道,淘宝,这网页文字颜色也非常的浅,看着眼睛很累人 看了半天是字体若的祸 暂时发现A ...
- February 4th, 2018 Week 6th Sunday
Hope clouds observation. 心怀希望会蒙蔽双眼,影响判断. Almost every of us thinks we would be the master of our liv ...
- Windows和Mac浏览器启动本地程序
前言 这几天有个需求,需要在IE上启动本地程序,就如下面一样. 一开始,我还以为IE有提供特殊的接口,类似上图中的“RunExe”,可以找了大半天觉得不对经(找不到该方法). 后来想想不对,这种方式是 ...
- 使用 React-Sketchapp 管理你的设计资产
首发:https://www.yuque.com/jingwhale/blog/do37mc 最近在整理设计规范的过程中,尝试使用了 Airbnb 公司发布的 react-sketchapp 工具.从 ...