postman是做什么的_Postman +Newman+Jenkins+钉钉实现持续集成的接口自动化

news/2024/7/8 7:20:15

50552415c0ec8e464f8d31d649657fcb.png

一、为什么选用postman工具做接口自动化测试

postman调试工具无论对于开发和测试小白,还是技术大牛来说应该都耳熟能详,在过去的几年里大家对这款工具应用最广的用途是把当作接口调试的测试工具,它能发送几乎所有类型的HTTP请求,操作界面非常简洁美观(大家来欣赏下图),支持抓包,保存历史记录,有用户组管理机制,方便多端同步用例等等。最主要的是各位小伙伴已经对它用于接口调试的功能非常熟悉,已经为我们接下来使用它做持续集成的接口自动化打下了良好的基础。

8c499658c70f06f3dd657f52b1b28827.png

二、postman 基础知识

相信大家使用postman来调试接口应该是相当熟悉了,所以还不懂使用的同学可以在网上找到相关的资料(非常多),或者直接查阅官网,我建议大家还是要学会看官方文档,度娘很多教程可能会不全或者已经过时了,官网是最新最全的学习文档,不懂就慢慢看,这篇文章只能带着大家入门,修行只能靠自己(微笑)。

官方文档:https://learning.getpostman.com/docs/postman/launching_postman/

1、postman版本选择

postman分为chrome插件版和native版本,插件版的有很多功能都受限制,比如:必须要安装扩展才可以操作cookie,headers设置受限制,没有native版本的Postman console,非常不方便调试等,不方便我们后续做接口自动化,所以版本必须选择native版,版本号用最新的就可以。

工具下载:https://www.getpostman.com/downloads/

2、postman代理抓包

由于postman不是类似fiddle这种专门用于抓包的软件,fiddler软件安装后默认打开抓包功能,默认端口是8888,但是postman需要自己手动打开代理设置。设置方法如下:

①点击右上角的拦截图标,打开【Capture requests】,设置好Port和Target

注意Capture requests按钮一定是要处于on的状态;

Port:就是端口,只要不设置系统和浏览器的冲突端口就可以,比如9999;

Target:就是抓到的HTTP包存放的目标地,我一般选择放在history,方便查看。

668895cfb5c8187ea0d24b0d37e7412e.png

②打开浏览器的代理设置,设置相同端口

打开浏览器,找到代理服务器,将地址修改为本地机器的ip地址,端口设置为第①步设置的端口号,点击确定即可。

我们演示的这个设置方法是以PC端为例子,有些同学需要抓APP端的包。设置方法原理也大概相同,大家可以参看官网文档中的设置方法即可。

移动端设置方法:

799733787a3eeb146b1be501f8c2cd2e.png

3、Postman调试控制台

打开左下角打开【Postman console】控制台,当我们某个测试用例跑不通的时候需要调试,可以打开这个Postman的控制台方便查看接口调试的打印信息,当然我们后续用js写的脚本可以在控制台中看到输出信息。

bdd474cb3db60cabe2b45bbaa7b1c73f.png

4、Postman发送请求

发送请求是Postman最核心的功能,如下图选择好请求方式及接口地址、相应参数,点击发送即可。有两个地方强调下:

①需要发送上传文件的请求,在body中选择选择form-data,选择File选项后即可选择文件

②可以将请求头统一管理,打开任意一个请求tab,点击Headers->Presets->ManagePresets可以设置好请求头信息,下一个请求再需要相同的请求头便可以从这里读取。

c3ae9ffaaf84816ea1722cf7ffb72cde.png

2146f327ed36072cc454a4453e02c336.png

三、Postman变量与集合

1、什么是变量?

首先我们来思考一个问题,为什么要使用变量,如果某个参数值只需要在某个独立接口的使用一次,那么我们可以不使用变量,但是如果变量需要在多个位置重复使用,或者发生接口传递(即前一个接口的返回值用于下一个接口的请求参数),那么借助变量,Postman就可以实现业务逻辑与测试数据分离,帮助我们建立健壮的测试用例。

……

※※因原作者要求,文章仅显示其中一部分,原文章阅读可直接私信知乎。

推荐阅读:

面试官:“就这么简单的9道题,我刷掉了90%的测试员。”​mp.weixin.qq.com

http://www.niftyadmin.cn/n/3661253.html

相关文章

基于DSL的组织机构模型 之一:预告

2007年05月31日 21:07:00 最近我对组织机构领域模型的ruby实现很是着迷。本来,已经知道今天下午要考IBM SOA Test 665,可是我昨天下午就已经开始开小差了,昨天晚上更是在几张白纸上写写画画的,搞到凌晨2点才算完,早晨起…

浏览器打印不居中_页面布局——绘图区域、文档类型和打印

2.1 绘图区域(The Drawing Area)文档窗口的大小可能与页面的绘图区域不同。文档窗口只能显示页面绘图区域的一部分。可以使用以下选项来设置绘图区域在屏幕上的显示:⑴Document Settings和 Page Setup可以设置页面大小和方向、页边距、页眉、…

arial字体可以商用吗_别人的PPT那些好看的字体哪里找的?免费可商用,都给你准备好了...

今天和大家说说在制作PPT时,应该如何快速替换字体,别人那些漂亮的字体,又是在哪里找到的?马上为大家揭晓!一、怎么快速更换PPT字体?1、自定义字体平时经常需要用到PPT制作的朋友,就可以自己预设…

放弃完美的需求管理

2007年05月24日 22:41:00 我当然晓得需求管理是怎么回事,我当然知道需求管理要做什么,我当然知道Telelogic的Doors比IBM的requisitepro的功能要强大,我当然知道在IBM和Telelogic的pk中,cc/cq的扩展功能要synergy/CM 和synergy / c…

python语言的内置对象类型_Python内置对象类型

核心数字类型:数字:int,long,float,complex,bool字符:str,unicode列表:list字典:dict元组:tuple文件:file其他类型:集合(s…

施密特正交化计算器_线性代数20——格拉姆-施密特正交化

标准正交向量有一堆向量, ,它们两两正交,这意味着这些向量满足:一个向量没法和自己正交,在i j时,让 ,这相当于 模长等于1:向量的转置乘以自身等于1,意味着这个向量是单位…

学习Extjs与RoR的集成有感

2007年05月10日 22:25:00 今天除了跟两个项目的负责人讨论他们的开发过程改进外,其余时间就是在学习Extjs,对我来讲,最好的办法,就是在PPA系统中中应用它们,幸好,Extjs现在已经可以与RoR应用集成在一起了。…

python中int的作用_python中int的功能介绍

int的功能介绍 1. 绝对值 x.__abs__()等同于abs(x) 2. 加法 x.__add__(y)等同于xy 3. 与运算 x.__and__(y)等同于x&y 4. 布尔运算 x.__bool__() 5. 商和余数 x.__divmod__(y)等同于divmod(x,y) 6. 等于 x.__eq__(y)等同于xy 7. 整数转为为浮点数 x.__float__()等同于float(…