接口自动化测试持续集成 Postman+Newman+Git+Jenkins+钉钉(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-13 23:41:22

点击下载

作者:Storm

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

接口自动化测试持续集成  Postman+Newman+Git+Jenkins+钉钉

接口自动化测试持续集成 Postman+Newman+Git+Jenkins+钉钉试读:

前言

软件测试是软件开发的重要组成部分,是贯穿整个软件生命周期,对软件产品进行验证和确认的活动过程,其目的是尽早发现软件产品中存在的各种问题,如与用户需求、预先定义不一致等问题。随着技术的发展,测试从手工向自动化转变,从用户界面(User Interface,UI)层测试向单元测试靠拢。接下来,先回顾几个概念。

单元测试:对软件中的最小可测试单元进行检查和验证。具体来说就是开发者编写一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。

集成测试:它是在单元测试的基础上,将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统,并测试该过程中各部分工作是否达到或实现相应技术指标及要求。也就是说,在集成测试之前,单元测试应该已经完成。这一点很重要,因为如果不经过单元测试,那么集成测试的效果将会受到很大影响,并且会大幅增加软件单元代码纠错的代价。

系统测试:将需测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素及环境结合在一起测试。系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方。

再来看看经典的测试分层金字塔图。

其中Unit代表单元测试,Service代表服务集成测试(或接口集成测试),UI代表页面系统测试。单元测试需要强大代码能力,很多测试人员还没有能力去执行,因此目前大多数公司还处于开发自测的阶段;随着开源UI自动化测试框架Selenium的发展,Web UI自动化测试近几年已趋于成熟(Appium是移动端UI自动化测试的代表框架),但其有3个明显的缺点:第一,UI测试介入测试时机较晚,修复发现的漏洞成本较大;第二,UI测试很难发现底层逻辑问题;第三,页面元素经常变换,导致自动化产出、投入比偏低;而这些恰恰是接口自动化测试所能解决的问题。关于接口自动化测试,目前在业内有两大类解决方案,一类是通过代码编写接口测试框架,实现接口自动化测试,其要求测试人员掌握扎实的编程基础;另一类是借助接口测试工具,配合Postman等集成工具实现接口自动化测试持续集成。前者更灵活,但后者的学习成本更低,适合新人上手。接口测试工具有很多,其中Postman安装简单、使用方便、功能强大,另外,这也是开发人员常用的接口调试工具,使用相同的工具测试出来的问题就更有说服力了。本书将借助该工具,带领大家了解接口测试持续集成的流程。

目前,很多项目都需要执行接口测试,很多读者也想了解接口测试方面的知识,但市面上与接口测试相关的书却很少,于是我根据自己的学习经验和工作积累写了这本书。

读者在了解了基本概念,理解了接口测试原理后,下载并安装Postman工具,跟随书中的示例进行练习,并把自己所学知识应用到目前从事的项目中。

由于本人水平有限,广大读者在学习过程中,如发现任何疑问,可发邮件至apitest100@163.com,期待得到你的真挚反馈,让我们在技术之路上共同进步。

感谢天怡和其他编辑老师的耐心指导;感谢读者的信任;感谢BestTest测试培训机构提供的接口项目示例;感谢安大叔的教导;感谢家人的大力支持。StormChapter1 接口测试基础知识越来越多的公司在招聘测试人员时,要求应聘的人员从事过接口测试相关工作。那么,什么是接口测试?为什么要进行接口测试?如何进行接口测试?本章将详细讲解接口测试基础知识,相信学完本章内容,读者将会得到这些问题的答案。1.1 接口测试背景

应用程序编程接口(Application Programming Interface,API)是近年来最流行的技术之一,强大的Web应用程序和领先的移动应用程序都离不开后端强大的API。API技术的应用给系统开发带来了便利,但也对测试人员提出了更高的要求,如何以一种有效的方式测试这些API,并且确保它们按照预期运行,是目前测试人员面临的主要问题。

大多数互联网公司和团队都在实施敏捷开发项目,在敏捷开发产品的生命周期中,测试人员需要一种简单、快捷的方法自动化测试API,甚至希望能够监控生产环境API(线上环境)的实时状况。

本书将介绍一套完整的接口自动化测试解决方案,帮助读者快速了解和掌握该方案,并顺利应用到实际项目中。

近年来项目开展接口测试的比例逐年上升,如图1-1所示。图1-1 受访者所在项目开展接口测试比例统计

图1-1反映出从事接口测试工作的人员越来越多,应用接口测试的项目也越来越多。1. 接口测试的必要性

目前,软件系统的复杂度不断上升,传统功能测试的片面性及滞后性导致测试成本急剧增加,且测试效率大幅度下降,仅靠功能测试已难以保证项目质量及进度。而接口测试的应用,恰好能使测试团队更早、更深入地介入项目,这样测试人员在项目初期就能发现系统深层次的问题,降低问题修复的时间成本。同时,由于接口的变更概率远远小于用户界面(User Interface,UI)的变更概率,因此,接口测试自动化维护成本比UI自动化维护成本更低,接口测试相对更容易实现自动化测试持续集成,且可以减少回归测试的人力与时间成本,缩短测试周期,满足后端快速发布版本的需求。持续集成是接口测试低成本、高收益的根源,是接口测试的灵魂。2. 接口测试的原理

测试人员借助工具模拟客户端向服务器端发送请求报文,服务器端接收请求报文后,对相应的报文做出处理并向客户端返回应答,工具模拟客户端接收应答,然后测试人员检查应答是否准确,这就是接口测试的原理。3. 接口测试的范围

关于接口测试的范围,主要从以下两方面进行介绍。(1)是否所有的接口都需要测试?

随着系统复杂度越来越高,接口越来越多,想完全覆盖所有接口是一件很困难的事情。通常情况下,主要测试最外层的两类接口:数据进入系统的接口(调用外部系统的参数为本系统使用)和数据流出系统的接口(验证系统处理后的数据是否正常)。(2)被测接口需要测试哪些方面?

测试人员需要关注被测接口的功能是否实现、性能是否达标、安全性是否满足,重点关注数据的交换、传递、处理次数以及控制管理过程。1.2 接口基础知识

进行接口测试,首先需要了解什么是接口,下面将详细讲解接口的基础知识。1.2.1 接口的定义

两个不同的系统或者一个系统中两个不同的功能,它们之间相互连接的部分称为接口。

在软件测试中,常说的接口一般有两种:图形用户接口(Graphical User Interface,GUI),它是人与程序的接口;应用程序编程接口(Application Programma Interface,API),本书中提到的接口特指API。

API是一组定义、程序及协议的集合,API可实现计算机软件之间的相互通信。API的一个主要功能是提供通用功能集。程序员通过使用API函数开发应用程序,从而可以避免编写无用程序,减轻编程任务。很多公司将开发岗位分为前端工程师和后端工程师,他们之间相互配合完成工作。一般来说,他们会协商接口的定义方式,其中一方定义接口(一般由后端工程师定义接口),另一方来调用接口,以实现预期功能。

前后端分离是近年来Web应用开发的一个发展趋势。这种模式具有以下优势。

① 后端工程师不用精通前端技术(如HTML、JavaScript或CSS),只专注于数据的处理,对外提供API即可。

② 前端工程师的专业性越来越强,其通过API获取数据,并专注于页面设计。

③ 前后端分离可扩大接口的应用范围,开发的接口可以应用到Web页面上,也可以应用到App上。1.2.2 接口的分类

依据所遵循协议的不同,常见接口可以分为以下3类。(1)HTTP接口,它是基于超文本传输协议(HyperText Transfer Protocol,HTTP)开发的接口,但并不能排除没有使用其他协议。(2)Web Service接口,它是系统对外的接口,比如你要从别的网站或服务器上获取资源,一般来说,别人不会把数据库共享给你,他们会提供一个他们写好的方法,让你用来获取数据,你使用他们写好的方法就能引用他们提供的接口,从而达到同步数据的目的。(3)RESTful接口,简称为REST,其描述了一个架构样式的网络系统,核心是面向资源。REST专门针对网络应用设计和开发方式,降低开发的复杂性,提高系统的可伸缩性。

基于浏览器/服务器模式(Brower/Server,B/S)的软件系统接口大多数为HTTP接口,因此,本书将重点介绍HTTP接口的测试方法。要测试HTTP接口,首先需要了解HTTP、HTTP请求和响应的相关知识。1.2.3 HTTP

HTTP是应用最为广泛的网络协议之一,所有的万维网文件都必须遵守这个标准。设计HTTP的目的是为了提供一种发布和接收HTML页面的方法。1960年德特·纳尔逊(Ted Nelson)构思了一种通过计算机处理文本信息的方法,并称之为超文本(HyperText),这成为HTTP标准架构的发展根基。Ted Nelson组织协调万维网联盟(World Wide Web Consortium,W3C)和互联网工程任务组(The Internet Engineering Task Force,IETF)共同合作研究,最终发布了一系列请求评议(Request For Comments,RFC),其中著名的RFC 2616定义了HTTP 1.1。

HTTP的主要特点可概括为如下几点。(1)支持客户端/服务器模式。客户端向服务器请求服务时,只需传送请求方法和路径。常用的请求方法有GET、POST。每种方法规定的客户端与服务器联系的类型不同。(2)简单。由于HTTP简单,服务器的程序规模小,因而通信速度比较快。(3)灵活。HTTP允许传输任意类型的数据对象。正在传输的类型由ContentType加以标记。(4)无连接。限制每次连接,使其只处理一个请求。服务器处理完客户端的请求,并收到客户端的应答后,即断开连接。采用这种方式可以节省传输时间。(5)无状态。HTTP是无状态协议,无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则必须重新上传,这样可能导致每次连接传送的数据量增大,如果服务器不需要前面的信息,则应答就会比较快。1.2.4 HTTP请求

HTTP请求包含4个部分,分别是统一资源定位符、方法(Method)、头(Headers)和体(Body)。1. 统一资源定位符

统一资源定位符(Uniform Resource Locator,URL)是用于完整地描述互联网上网页和其他资源地址的一种标识方法。URL给资源的位置提供一种抽象的表示方法,并用这种方法给资源定位。只要能够对资源定位,用户就可以对资源进行各种操作,如存取、更新、替换和查看属性等。这里的“资源”是指在互联网上可以被访问的任何对象,包括目录、文件、图像、声音等,URL相当于文件名在网络范围的扩展。由于访问不同资源所使用的协议不同,所以URL还给出了访问某个资源时所使用的协议。URL的一般形式为“<协议>://<主机>:<端口>/<路径>/<文件名>”。

其中,“<协议>”指出获取该互联网资源所使用的协议,HTTP请求使用的是HTTP,除此之外,还有文件传输协议(File Transfer Protocol,FTP);在“<协议>”后面必须写上“://”,不能省略;“<主机>”指出万维网文档是在哪一个主机上,可以给出域名,也可以给出IP地址;“<端口>”为服务器监听的端口,HTTP默认为80端口,FTP默认为21端口;“<路径>”和“<文件名>”进一步给出资源在服务器上的位置,但是它们的名称是虚拟的,和服务器上的物理名称可能不同。

对于动态网页,用户通常还需要给服务器提供访问动态网页的参数。因此,URL后面还可以跟上一个英文问号,问号的后面以“参数名称=参数值”的形式给出多组参数,每组之间用符号“&”分隔,称之为查询串(Query String)。具体形式为“<协议>://<主机>:<端口>/<路径>/<文件名>?<参数1>=<值1>&<参数2>=<值2>”,如https://www.baidu.com/s?×××=top1000&wd=postman&rsv_idx=2(虚拟地址)。

打开百度浏览器,在搜索框中输入“Postman”,搜索后的界面如图1-2所示。此界面地址栏中的内容与上述虚拟地址相似。图1-2 接口请求结果2. Method

HTTP定义了与服务器交互的不同方法(Method),基本方法有4种,分别是GET、POST、PUT和DELETE。可以这样理解:URL地址用于描述一个网络上的资源,而HTTP中的GET、POST、PUT和DELETE方法对应着这个资源的“查”“改”“增”“删”操作,即GET一般用于获取、查询资源信息,而POST一般用于更新资源信息等。

除了上面介绍的4种方法,HTTP请求还包含PATCH、COPY、HEAD、OPTIONS、LINK、UNLINK、PURGE、LOCK、UNLOCK、PROPFIND、VIEW等方法,至于这些方法的具体含义,读者可自行查阅相关资料,因为在进行接口测试的时候,遇到这些接口方法的概率非常小,而且即便遇到了,也可以借助Postman工具(后面章节将详细介绍)构造出相应请求。

关于HTTP请求,GET方式和POST方式有什么区别呢?这一点在面试中也经常会遇到,具体如下。(1)提交数据的方式不同

① GET。请求的数据会附在URL之后(即把数据放置在HTTP协议头<requestline>中),以“?”(英文问号)分隔URL和传输数据,多个参数用“&”连接,如login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0 %E5%A5%BD(某个URL的其中一部分)。如果数据是英文字母、数字,则直接发送;如果是空格,则转换为“+”后发送;如果是中文、其他字符,则会用Base64加密字符串,得出“%E4%BD%A0%E5%A5%BD”后发送。

② POST。把提交的数据放置在HTTP包的请求体<request-body>中。

因此,使用GET方式提交的数据会在地址栏中显示出来,而使用POST方式提交的数据不会在地址栏中显示。(2)传输数据的大小不同

虽然HTTP没有对传输的数据大小进行限制,HTTP规范也没有对URL的长度进行限制,但是在实际开发中还会存在一些限制。

① GET。特定浏览器和服务器对URL的长度有限制,如IE对URL长度的限制是2 083Byte。其他浏览器,如FireFox,其限制取决于操作系统。因此,使用GET方式提交时,传输的数据就会受到URL长度的限制。

② POST。此方式由于不是通过URL传值,理论上数据不受限制。但实际上,各个Web服务器会规定对使用POST方式提交的数据大小进行限制,Apache、IIS 6.0都有各自的配置。(3)安全性不同

POST方式比GET方式的安全性更高。例如,通过GET方式提交数据,用户名和密码将以明文的形式出现在URL上,由于登录页面有可能被浏览器缓存,因此,其他人通过查看浏览器的历史记录,就可能知道你的账号和密码。3. Headers和Body

HTTP报文是面向文本的,报文中的每一个字段都是ASCII码串,各个字段的长度是不确定的。HTTP请求报文由请求行、头、空行和请求数据4个部分组成,请求报文的一般格式如下。  <request-line>  <headers>  <blank line>  [<request-body>]1.2.5 HTTP响应

将HTTP请求发送到服务器后,服务器会给出相应的应答,服务器返回的应答消息称为HTTP响应。1. HTTP响应报文

HTTP响应报文由3个部分组成,分别是状态行、消息报头和响应正文。HTTP响应的格式与请求的格式十分类似,具体格式如下。  <status-line>  <headers>  <blank line>  [<response-body>]

响应报文和请求报文的区别在于第一行中用状态信息代替了请求信息。状态行通过提供一个状态码来说明所请求的资源情况。

状态行格式为HTTP-Version Status-Code Reason-Phrase CRLF。其中,HTTPVersion表示服务器HTTP的版本;Status-Code表示服务器返回的响应状态代码;Reason-Phrase表示状态代码的文本描述;CRLF表示一个回车符和一个换行符。状态代码由3位数字组成,第一个数字定义了响应的类别,它有如下5种取值可能。

1××:指示信息,表示请求已接收,继续处理。

2××:成功,表示请求已被成功接收、理解和接受。

3××:重定向,要完成请求必须进行更进一步的操作。

4××:客户端错误,请求有语法错误或请求无法实现。

5××:服务器错误,服务器未能实现合法的请求。

以下对常见状态代码和状态描述进行说明。

200 OK:客户端请求成功。

400 Bad Request:客户端请求有语法错误,不能被服务器所理解。

401 Unauthorized:请求未经授权。

403 Forbidden:服务器收到请求,但是拒绝提供服务。

404 Not Found:请求资源不存在,如输入了错误的URL。

500 Internal Server Error:服务器发生不可预期的错误。

503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

图1-3为一个HTTP响应报文示例。图1-3 响应报文2. JSON(1)JS对象标记的定义

JS对象标记(JavaScript Object Notation, JSON)是一种轻量级的数据交换格式。它基于ECMAScript(W3C制定的JavaScript规范)的子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言,其易于阅读和编写,同时也易于机器解析和生成,并能有效地提升网络传输效率。因此,HTTP接口响应一般为JSON格式。(2)JSON语法规则

JSON语法规则包括用大括号保存对象、用键值对表示对象、用逗号分隔每个对象、用中括号保存数组。(3)JSON示例  {"name": "storm", "age": "32", "sex": "male"}1.3 接口测试流程

接口测试一般遵循如下流程,细节部分可根据实际项目情况进行调整。1. 编写接口测试计划

接口测试计划和功能测试计划的目标一致,都是为了确认需求、确定测试环境及测试方法,为设计测试用例做准备,初步制定接口测试进度方案。一般来说,接口测试计划包含概述、测试资源、测试功能及重点、测试策略、测试风险、测试标准。2. 编写、评审接口测试用例

和功能测试类似,在开始接口测试前,需要根据需求文档、接口文档等项目相关文档编写并评审接口测试用例。接口测试思路如图1-4所示。图1-4 接口测试思路3. 执行接口测试

依据编写的接口测试用例,借助测试工具(如Postman、JMeter、SoapUI等)执行接口测试,上报发现的问题。4. 接口自动化测试持续集成要点

进行项目测试时,接口会增加、减少或变更,测试用例也会相应更新,因此需要借助工具(如GitHub等)来维护测试用例进行持续集成,通过自动化测试实时监控项目接口运行情况。对接口测试而言,持续集成是核心内容,通过自动化的手段才能做到低成本、高收益。接口自动化测试持续集成主要包括以下内容。

① 流程方面。在回归阶段加强接口异常场景的覆盖,并逐步向系统测试、冒烟测试阶段延伸,最终达到全流程自动化。

② 结果展示。更加丰富的结果展示、趋势分析、质量统计和分析等。

③ 问题定位。报错信息、日志更精准,方便问题复现与定位。

④ 结果校验。加强自动化校验能力,如数据库信息校验。

⑤ 代码覆盖率。不断尝试由目前的黑盒向白盒下探,提高代码覆盖率。

⑥ 性能需求。完善性能测试体系,通过自动化的手段监控接口性能指标是否正常。1.4 接口文档系统

功能测试的依据有产品需求文档、开发设计文档等,而接口测试的主要依据是接口测试文档。由于前后端分离,用传统的Word文件来维护接口文档的方式已经不合时宜,现在,越来越多的团队采用API文档工具来维护接口信息。本节将详细介绍一个维护接口文档的在线系统。1.4.1 ShowDoc简介

目前,有很多维护API文档的工具,本书选择ShowDoc,主要因为ShowDoc有以下特点。

① ShowDoc是一个开源、免费的工具。

② ShowDoc是一个非常适合IT团队的在线API文档、技术文档工具,它可实现实时同步,用户无须花费过多的精力维护文档。

③ 借助ShowDoc可以方便、快速地编写出美观的API文档,并且还可以用它编辑数据字典、说明书和一些技术规范说明文档供团队查阅。

④ ShowDoc提供免费在线文档托管服务,用户可以通过ShowDoc官网创建自己的项目,并将其保存在云端,也可以选择将ShowDoc部署到本地服务器。1.4.2 ShowDoc部署

既然ShowDoc已经提供了在线文档托管服务,为什么还要搭建本地服务呢?这主要是从安全角度进行考虑,毕竟接口文档不适合暴露在“众目睽睽之下”,下面主要讲解如何在本地服务器上部署ShowDoc。

ShowDoc有很多种部署方式,下面以在Docker中部署为例。

这里假设服务器操作系统为CentOS 7。(1)安装Docker

登录本地服务器,切换到root用户,使用以下命令进行安装。  yum install docker(2)启动Docker服务

启动命令如下所示。  service docker start(3)设置Docker服务为开机启动

设置命令如下所示。  chkconfig docker on(4)借助yum命令,安装git

安装命令如下所示。  yum install git(5)安装ShowDoc

从GitHub上复制代码到本地某个目录,这里进入根目录下的test文件夹。  cd /test  git clone -o gitbug https://github.com/star7th/showdoc(6)进入ShowDoc目录开始安装  cd showdoc/  docker build -t showdoc ./  docker run -d --name showdoc -p 4999:80 showdoc注意 ► 如果想在不同端口启动,请修改4999为其他端口。(7)访问ShowDoc

在浏览器中输入网址http://192.168.132.132:4999/install/,打开如图1-5所示的页面(注意将IP地址及端口号替换成用户自己服务器的IP地址及步骤(6)中设置的端口号)。图1-5 ShowDoc install页面

选择语言(默认为中文),单击“OK”按钮,弹出安装成功提示框,如图1-6所示。图1-6 安装成功

然后按照提示信息删除/install目录,使用如下命令进行删除(其中的XXX为install路径)。  rm -rf XXX/install(8)备份

API文档是非常重要的文档,需定期备份。/XXX/showdoc/Sqlite下面有个showdoc.db.php文件,定期备份该文件即可。

用户可以采用手动命令备份,使用如下mv命令。  e.g. mv /XXX/showdoc/Sqlite/showdoc.db.php /test/showdoc.db.php.bak

上面示例将showdoc.db.php文件重命名为showdoc.db.php.bak文件保存在/test目录下,也可以编写自动化备份脚本定期备份,此处不做过多介绍。

注:Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用及依赖包到一个可移植的容器中,然后发布到Linux系统上,也可以实现虚拟化。容器完全使用沙箱机制,相互之间不会有任何接口。1.4.3 接口测试文档示例

目前,有的公司可能没有接口文档,或者测试人员没有查看接口文档的权限,读者可以通过本书的项目接口文档进行了解(见图1-7~图1-9)。图1-7 接口文档示例(一)图1-8 接口文档示例(二)图1-9 接口文档示例(三)

从图1-7~图1-9可以看出,一个完整的API文档应该包含以下几部分。

① 接口名称。

② 简要描述。

③ 请求的URL。

④ 请求方式(GET / POST等)。

⑤ 请求参数(参数名、是否必选、参数类型、说明)。

⑥ 返回示例。

⑦ 返回参数说明(参数名、类型、说明)。

⑧ 备注及责任人。Chapter2 初识Postman工具第1章讲解了接口测试的相关背景及接口测试的流程,本章讲解如何选择一款工具进行接口测试,正所谓“工欲善其事,必先利其器。”接口测试工具有很多,本书为什么要选择Postman呢?因为它简单、便于测试人员快速上手、能覆盖绝大多数HTTP接口测试场景,堪称“性价比”之王。从本章开始,将带领读者认识Postman这一接口测试“利器”。2.1 安装Postman

Postman分为本地应用版和Chrome浏览器插件版,下面分别介绍如何安装。1. Postman本地应用

Postman可以作为Mac OS、Windows和Linux系统的本地应用。要安装Postman,请访问Postman官网,并根据操作平台下载对应版本,如图2-1所示。图2-1 不同平台应用下载

① Mac OS安装。下载应用程序,把文件剪切到“应用”文件夹,双击Postman打开应用程序即可。

② Windows安装。下载安装文件,运行安装程序,根据提示信息安装即可。

③ Linux安装。

a. 下载Postman-linux-x64-5.5.2.tar.gz文件,上传至Linux服务器。

b. 使用gunzip Postman-linux-x64-5.5.2.tar.gz命令解压gzip包。

c. 使用tar -xvf Postman-linux-x64-5.5.2.tar命令解压tar包,即可完成安装。2. Chrome浏览器的Postman插件

Postman也可以作为Chrome浏览器插件使用。既然是Chrome浏览器的一个插件,那么如果想使用它,需要先安装Chrome浏览器。(1)方法一

① 打开Chrome浏览器,单击右上角“自定义及控制”按钮,选择“更多工具”→“扩展程序”,如图2-2所示。图2-2 打开扩展程序

② 打开“扩展程序”页面,单击“获取更多扩展程序”链接,如图2-3所示。图2-3 扩展程序页

③ 在左上角搜索框输入关键字“postman”,搜索扩展插件,单击“ADD TO CHROME”按钮安装,如图2-4所示。图2-4 搜索Postman插件

④ 单击图2-5中的“添加扩展程序”按钮,完成安装。插件安装成功后在Chrome浏览器右上角可以看到圆形橙色图标,如图2-6所示。图2-5 添加扩展程序图2-6 插件安装成功

⑤ 单击该圆形橙色图标,在弹出的窗口中单击“Postman Chrome app”链接,打开新的页面。

⑥ 在打开页面单击“ADD TO CHROME”按钮,弹出添加应用确认窗口,如图2-7和图2-8所示。图2-7 Postman插件图2-8 确认添加应用

⑦ 单击“添加应用”按钮,返回应用程序页面,即可看到Postman已经成功添加到插件列表,并可以在不同位置创建打开的快捷方式,如图2-9所示。图2-9 插件应用

注:如果网络无法访问Chrome Web Store,请使用方法二。(2)方法二

从本书配套资源中下载“Postman-chrome_5.3.0.zip”压缩包(配套资源可通过扫封底二维码,回复关键字后获得),手动解压,然后将文件夹拖曳到“扩展程序”窗口,即可完成安装,如图2-10所示。图2-10 拖放安装3. Postman本地应用版和Chrome浏览器插件版的区别

Postman的本地应用程序是建立在Electron(一种框架)上的,并克服了Chrome浏览器平台的一些限制。这里列出了一些本地应用的特性。(1)Cookies

本机应用程序可以直接使用Cookies。而Chrome浏览器的Postman插件则需要借助Interceptor插件。(2)内置代理

本地应用程序自带一个内置代理,可以使用它来捕获网络流量。(3)菜单栏

本地应用程序不受Chrome浏览器标准菜单栏的限制。使用本地应用程序,可以创建集合、切换到历史请求等。(4)受限制的headers

最新版本的本地应用程序可以发送像origin和user-agent这样的headers信息。这些在Chrome浏览器的Postman插件中是受限制的。(5)不遵循重定向选项

该选项存在于本地应用程序中,以防止返回300系列响应的请求自动跟随重定向。之前,用户需要在Chrome浏览器中借助拦截器扩展。(6)Postman的控制台

本机应用程序的最新版本有一个内置的控制台,它允许查看API调用的网络请求细节。

总之,Postman本地应用版支持一些Chrome浏览器插件版没有的功能,因此推荐安装Postman本地应用版,接下来也会使用本地应用版进行接口测试讲解。2.2 Postman工具简介

Postman提供了一个多窗口和多选项卡页面用于发送和接收接口请求(见图2-11)。Postman努力保持清洁和灵活,提供尽可能多的空间,以满足用户的需要。图2-11 Postman窗口1. 侧边栏

Postman的侧边栏(sidebar)可进行查找、管理请求和集合操作。侧边栏包括两个选项卡,分别是“History”(历史)和“Collections”(集合)选项卡。

可以拖动右边的边框来调整侧边栏的宽度,也可以单击页面左下角的图标来隐藏或显示侧边栏,如图2-12所示。图2-12 侧边栏(1)“History”选项卡“History”选项卡用来展示发送过的请求,通过Postman应用程序发送的每个请求都保存在History选项卡中。(2)“Collections”选项卡“Collections”选项卡用来创建和管理集合。一般来说,我们会将一组“关系密切”的请求放到一个集合中进行统一管理,类似于将接口测试相关文档放到一个名为“接口测试”的文件夹中,将性能测试相关文档放到名为“性能测试”的文件夹中。2. 工具栏

Postman的顶部工具栏(见图2-13)包含菜单栏及以下功能快捷方式选项。图2-13 工具栏

① “New”(新建)按钮,用于新建请求、集合、环境等。

② “Import”(导入)按钮,用于导入Postman文件、文件夹、form link等。

③ “Runner”(运行器)按钮,用于打开集合运行页面。

④ 新窗口图标,用于打开一个新的Tab页、新的窗口或一个新的runner。

⑤ “Builder”(构建器)/“Team Library”(团队库)选项卡,在请求构建器和Team Library视图之间切换。

⑥ 抓取API请求图标。使用Postman抓取API请求。

⑦ 同步状态图标。用于标示API请求同步状态的图标。

⑧ 公共API库。单击打开一个网址。

⑨ 设置图标。Postman应用程序设置相关内容。

⑩ 通知图标。接收通知或广播。

⑪ 联系图标。用于联系Postman。

⑫ 账号。登录、退出和管理Postman账号。3. 构建器

Postman的构建器(Builder)是一种选项卡布局模式,用户可以在构建器中发送和管理API请求。上半部分是请求构建器,下半部分是响应查看器,如图2-14所示。图2-14 构建器

① Cookies。单击图2-14中的“Cookies”链接,打开“MANAGE COOKIES”(管理Cookies)窗口(见图2-15),在这里可以管理与请求相关的Cookies。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载