接口测试工具_接口测试工具postman面试点 - CSDN
精华内容
参与话题
  • 一、基本概念 1.什么是接口测试接口测试是测试系统...接口测试相对于UI来说,更加稳定,也可以说接口测试是一种特殊的单元测试,当一个系统提供了大量的后台服务,有较少或者基本没有页面操作,比较适合开展...

    一、基本概念
    1.什么是接口测试:
    接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
    2.为什么要做接口测试:
    接口测试相对于UI来说,更加稳定,也可以说接口测试是一种特殊的单元测试,当一个系统提供了大量的后台服务,有较少或者基本没有页面操作,比较适合开展接口测试。例如某个系统大概有100多对外的接口,每次上线,测试人员不得不一个个验证,此时如果开展自动化,将大大提高回归的效率和测试的效率。
    二、接口测试流程
    其实流程和测试流程大概相似。
    1.与产品、开发一起梳理需求,确定实现哪些接口和功能;
    2.编写测试计划(开发人员开发预估时间、风险预估及解决时间,测试人员用例准备、数据准备、环境准备、与开发产品等协调测试等时间)
    3.测试计划review
    4.编写测试用例及自动化脚本
    5.测试用例review
    6.执行测试用例,提交bug,验证bug
    7.测试总结(包括测试过程、开发过程遇到的问题,解决的问题,小组内讨论以后遇到同样问题如何更快解决)
    三、接口测试常用工具

    1. Postman
      Postman是一个 Chrome 扩展,能提供强大的 Web API & HTTP 请求调试功能。Postman能够发送任何类型的http请求,支持GET/PUT/POST/DELETE等,请求头中可以附带任何数量的headers信息。
      Postman支持不同的认证机制(basic,digest,OAuth)
      Postman非常简单易用,通过填写URL、header、body等就可以发送一个请求,这对于我们平时做一些简单的测试是够用的。
      Postman有一个“集合”功能,用于存储所有请求相同的API/域,这个功能能方便我们重新发送请求。
    2. Fiddler
      Fiddler是一个HTTP/HTTPS协议调试代理工具, 它能够记录客户端和服务器之间的所有 HTTP/请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试WEB应用、修改请求的数据、修改服务器返回的数据。当浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过系统HTTP代理发送到服务器,Fiddler工作于七层中的应用层默认端口为8888,可以访问 http://127.0.0.1:8888 会显示Fiddler的页面。
      但一般fiddler是用来抓包的,可以用来抓取请求和返回的数据,查看内容,postman是模拟请求和返回的工具,填写对应的地址、参数和数据,就可以向服务器发送请求,查看返回值。
      3.postman的使用
      1)HTTP的五种请求方法:GET, POST ,HEAD,OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
          GET请求:请求指定的页面信息,并返回实体主体。(通常用来接收数据)。
          POST请求:向指定资源提交数据进行处理请求,数据被包含在请求体中。POST请求可能会导致新的资源的建立、已有资源的修改。(通常用来发送数据)。
          HEAD请求:类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头。
          PUT请求:从客户端向服务器传送的数据取代指定的文档的内容。
          DELETE请求:请求服务器删除指定的页面。
          CONNECT请求:能够将连接改为管道方式的代理服务器。
          OPTIONS请求:允许客户端查看服务器的性能。
          TRACE请求:显示服务器收到的请求,主要用于测试或诊断。
      2)接口调用传参方式:key-value参数形式,Json串传参形式。
          key-value参数:把参数拼接在url的后面由?相连,多个参数之间用&相连。
          Json串传参:需要在请求的body写中,入Json格式参数。
      3)Postman接口操作
      1.GET请求操作:
      在这里插入图片描述
      2.GET请求操作结果:
      在这里插入图片描述 
      3.POST请求操作:
      在这里插入图片描述
      4.POST请求操作结果:
      在这里插入图片描述
      5.fiddler的使用
      Fiddler4主界面
      在这里插入图片描述
      注:通过主界面左下方的“web browser”按钮打开目标浏览器,这样就能监控到该浏览器所有的HTTP请求了。
      下面开始分析主界面的功能区:
      1、Fiddler菜单栏,上图黑色部分,包括捕获http请求,停止捕获请求,保存http请求,载入本地session、设置捕获规则等功能。
      2、Fiddler的工具栏,上图黄色部分,包括Fiddler针对当前view的操作(暂停,清除session,decode模式、清除缓存等)。
      3、Web Session面板,上图红色部分,主要是Fiddler抓取到的每条http请求(每一条称为一个session),主要包含了请求的url,协议,状态码,body等信息,详细的字段含义如下图所示:
      在这里插入图片描述
      #:顺序号,按照抓包的顺序从1递增
      Result:HTTP状态码      
      Protocol:请求使用的协议,如HTTP/HTTPS/FTP等
      HOST:请求地址的主机名或域名
      URL:请求资源的位置
      Body:请求大小
      Caching:请求的缓存过期时间或者缓存控制值
      Content-Type:请求响应的类型
      Process:发送此请求的进程ID
      Comments:备注
      Custom:自定义值

    另外,注意请求的host字段。可以看到有来自多个www.csdn.net的子域名的响应,说明在大型网站的架构中,大多需要多个子域名,这些子域名可能是单独用于缓存静态资源的,也可能是专门负责媒体资源的,或者是专门负责数据统计的(如pingback)
    右键单击其中的一条请求。可以选择的操作有:save(保存请求的报文信息,可以是请求报文,可以是响应报文),将整条会话作为txt保存到桌面,当然你可以保存为zip。
    4、详情和数据统计板,针对每条http请求的具体统计(例如发送/接受字节数,发送/接收时间,还有粗略统计世界各地访问该服务器所花费的时间)和数据包分析。如inspector面板下,提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息:
    在这里插入图片描述
    5、详情和数据统计板
    (1)、inspector面板
    提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息,分为上下两个部分,上半部分是请求头部分,下半部分是响应头部分。对于每一部分,提供了多种不同格式查看每个请求和响应的内容。
    a、TextView 标签
    HTML/JS/CSS 使用 TextView 可以看到响应的内容。选择一条Content-Type是text/html的回话,点击TextView
    b、Raw标签
    Raw标签可以查看响应报文和响应正文,但是不包含请求报文
    c、Auth标签
    Auth则可以查看授权Proxy-Authorization 和 Authorization的相关信息
    d、Cookies标签
    Cookies标签可以看到请求的cookie和响应的set-cookie头信息。
    (2)、AutoResponder标签
    Fiddler比较重要且比较强大的功能之一。可用于拦截某一请求,并重定向到本地的资源,或者使用Fiddler的内置响应。可用于调试服务器端代码而无需修改服务器端的代码和配置,因为拦截和重定向后,实际上访问的是本地的文件或者得到的是Fiddler的内置响应。当勾选allow autoresponser 并设置相应的规则后(本例中的规则是将http://blog.csdn.net/aaa的请求拦截到本地的文件http://localhost:54321/WebForm1.aspx),如下图所示
    在这里插入图片描述
    (3)、Statistics面板
    HTTP请求的性能和其他数据分析
    我们可以从中看出一些基本性能数据:如DNS解析的时间消耗是8ms,建立TCP/IP连接的时间消耗是8ms等等信息。
    (4)、composer面板
    可以模拟向相应的服务器发送数据的过程(不错,这就是灌水机器人的基本原理,也可以是部分http flood的一种方式)。
    (5)、Filters面板
    Filter标签则可以设置Fiddler的过滤规则,来达到过滤http请求的目的。最简单如:过滤内网http请求而只抓取internet的http请求,或则过滤相应域名的http请求。Fiddler的过滤器非常强大,可以过滤特定http状态码的请求,可以过滤特定请求类型的http请求(如css请求,image请求,js请求等),可以过滤请求报文大于或则小于指定大小(byte)的请求
    四、接口测试用例编写
    1)接口测试用例编写要点
    a)测试每个参数类型不合法的情况(类型不合法容易遗漏掉NULL型)
    b)测试每个参数取值范围不合法的情况
    c)测试参数为空的情况
    d)测试参数前后台定义的一致性
    e)测试每个参数的上下限(这里容易出致命的BUG,如果程序处理不当,可能导致崩溃)
    f)测试每个参数取值不合理的情况(包括取的值不属于自己,取值在这阶段不会出现,取值超过了自己所拥有的数量或者范围)
    g)如果两个请求有严格的先后顺序,需要测试调转顺序的情况
    2)接口测试常见问题
    a)可重复请求成功数据
    b)可修改请求状态并正常完成请求
    c)修改用户ID为其他用户ID,查看各显示项是否正常或异常的处理
    d)用户车系、车型字段为负数,添加之后显示等
    e)并发请求某个链接
    五、接口测试质量评估标准:
      a) 业务功能覆盖是否完整
      b) 业务规则覆盖是否完整
      c) 参数验证是否达到要求(边界、业务规则)
      d) 接口异常场景覆盖是否完整
      e) 接口覆盖率是否达到要求
      f) 代码覆盖率是否达到要求
      g) 性能指标是否满足要求
      h) 安全指标是否满足要求

    展开全文
  • 本报告从多个方面对接口测试的三款常用工具进行比较分析,以便于在特定的情况下选择最合适的工具,或者使用自己编写的工具。(不同工具定位不同,我们只是主要从接口功能测试的角度进行分析)


    前段时间忙于接口测试,也看了几款接口测试工具,简单从几个角度做了个比较,拿出来与诸位分享一下吧。各位如果要转载,请一定注明来源,最好在评论中告知博主一声,感谢。本报告从多个方面对接口测试的三款常用工具进行比较分析,以便于在特定的情况下选择最合适的工具,或者使用自己编写的工具。(不同工具定位不同,我们只是主要从接口功能测试的角度进行分析)。博主对这几款工具也仅仅是浅尝辄止,并未做太过深入的应用,报告中如果有哪些不合适的地方,欢迎指正。

     

    1.  用例组织方式

    首先是用例组织方式的不同,不同的目录结构与组织方式代表不同工具的测试思想,学习一个测试工具应该首先了解其组织方式。

    SoapUI的组织方式如下图,最上层是WorkSpace,每个窗口只可以打开一个WorkSpace(这是一个xml文件),每个Project也是一个单独的xml文件(为了协同工作,也可以通过设置将其转化为一堆文件集合),所以每个WorkSpace中可以打开多个Project,一个Project也可以在不同的WorkSpace中。

    Project对应我们的测试项目,其中可添加WSDL、WADL资源、TestSuite以及MockService。

    TestSuite对应我们的测试模块,比如商户中心,其中可以添加TestCase,TestCase对应我们对某个模块的不同接口,比如订单管理接口。而一个接口可以能需要多个Step完成,变量、数据源、请求等都是一个Step。


    Jmeter的组织方式相对比较扁平,它首先没有WorkSpace的概念,直接是TestPlan,等价于SoapUI中的Project,TestPlan下创建的Threads Group就相当于TestCase,并没有TestSuite的层级。

    TheadsGroup中的Sampler、管理器等均相当于SoapUI中的一个Step,如下图:


    Postman功能上更简单,组织方式也更轻量级,它主要针对的就是单个的HTTP请求。Collection就相当于是Project,而Collection中可以创建不定层级的Folders,可以自己组织TestSuite。每个Request可以当做是一个TestCase或者Step:


     

    2.  支持的接口类型与测试类型

    从功能上Jmeter最为强大,可以测试各种类型的接口,不支持的也可以通过网上或自己编写的插件进行扩展。SoapUI专门针对HTTP类型的两种接口,其初衷更是专门测试Soap类型接口,对于其他协议的接口不支持。Postman更是轻量级,定位也不同,可用来测试Rest接口。

     

    工具

    接口类型

    测试类型

    SoapUI

    Soap、Rest

    功能、压力、安全

    Jmeter

    Rest、Soap等

    可扩展WebSocket、socket

    功能、压力

    Postman

    Rest

    功能

     

    3.  配置不同接口类型

    SoapUI可以创建Soap Project或者Rest Project(但Project中添加什么类型的Step则不受影响),可添加wsdl、wadl资源,并能在TestCase里添加Rest或Soap的Step。

    Jmeter可以在线程组里添加HTTP、TCP或WebSocket的Sampler。

    Postman仅支持Rest接口。

     

    4.  自定义变量以及变量的作用域

    除以下表格中所列的变量之外,每个工具都有系统变量,未列在内。

     

    工具

    变量类型

    作用域

    SoapUI

    Project、TestSuite、TestCase的Properties以及Custom Properties

    各自以内的范围内

    TestCase里的Properties

    在整个TestCase内

    TestCase里的Data Source、DataGen等

    在整个TestCase内

    Groovy脚本定义

    看定义方式

    Jmeter

    TestPlan中用户定义的变量

    所有Threads Group

    配置元件 - 用户定义的变量

    根据元件位置而定

    CSV data set、random variable等

    根据元件位置而定

    前置、后置处理器

    当前Threads Group

    Postman

    Environment Variable

    当前环境的Collection

    Global Variable

    所有Collections

    CSV/JSON datafile

    Runner当前的Collection

     

    5.  数据源、生成器,进行参数化

     

    工具

    数据源

    生成器

    循环

    SoapUI

    DataSource,数据可来源于文件、目录、数据库、Excel、Grid等

    DataGen

    DataSource Loop

    Jmeter

    CSV Data Set Config读取csv文件

    Random Variable

    计数器

    ForEach控制器

    循环控制器

    While控制器

    Postman

    Runner中运行时,可加载CSV/JSON文件

    无(只能通过脚本)

    Runner中的Iteration

     

    6.  流程控制

    SoapUI:由Conditioinal Goto控制流程,以及Groovy脚本

    Jmeter:由Switch控制器、If控制器、随机控制器等一系列控制器实现流程控制,以及Beanshell脚本

    Postman:通过JavaScript脚本控制

     

    7.  结果解析、展示

     

    工具

    结果

    日志

    报告

    SoapUI

    Project-OverView、TestSuites

    TestSuite-TestCases

    TestCase-TestSteps

    SoapUI全局多种log

    TestSuite log

    TestCase log

    Request log

    Project report

    TestSuite report

    TestCase report

    (PDF/HTML/XML/CSV)

    Jmeter

    各种监听器

    统一的Jmeter log

    监听器可导出到文件

    并可导出JTL、CSV文件、通过插件可导出HTML(Jmeter3自带)

    Postman

    Send可查看Request的Response

    Runner可查看运行的Result

    Postman console

    Chrome DevTools

    Request的Response以及Runner的Result均可导出json

     

    8.  断言

    SoapUI:每个Request可添加Assertion

    Jmeter:TestPlan、Threads Group、Sampler均可添加断言

    Postman:请求的Tests中可添加断言

     

    9.  脚本扩展能力

    SoapUI:Groovy脚本

    Jmeter:Bean shell(Java)

    Postman:JavaScript

     

    10. 团队协作

    SoapUI:本身一个project是一个xml文件,但是可以通过配置变成一系列文件夹,每个Case、每个Suite均是独立的文件,这样可通过svn/git进行团队协作。支持性较好。

    Jmeter:一个TestPlan也是一个jmx(xml)文件,无法分割,但Jmeter有一个合并的功能,允许将多个文件合并在一起。只能每个团队成员自己建立一个TestPlan,分功能块进行测试。最后整理合并。

    Postman:有团队协作的功能,需要付费。


    欢迎指正,更多文章,请关注本人博客——灰蓝的博客


     

    展开全文
  • 接口测试及常用接口测试工具

    万次阅读 2018-12-14 16:16:21
    https://www.cnblogs.com/feng0815/p/7509541.html  
    展开全文
  • 对于http接口测试工具也是多重多样,今天主要对比市面上常用的几种工具,分析各种的优劣势。postman,jmeter,java。 postman:Google推出的http协议模拟发送工具,用户仅需要根据http api协议标准填充字段,并选择...

    目前市面上用的最多的接口当属http接口,大到世界天气预报,小到手机归属地,几乎无处不在。对于http接口测试工具也是多重多样,今天主要对比市面上常用的几种工具,分析各种的优劣势。postman,jmeter,java。

    postman:Google推出的http协议模拟发送工具,用户仅需要根据http api协议标准填充字段,并选择发送方式:Get or post即可。可以非常方便快速的对http接口进行校验。postman的优势显而易见,可以根据接口的定义快速的校验和测试。但是,其劣势也是非常明显的,每次接口测试时都要手工填入测试字段,结果也需要人工校验,无法全自动无人工干扰的进行测试,也无法集成至持续集成系统。更致命的弱点是在接口的依赖性上非常麻烦,很多接口是一套接口,而并不是单个接口独立存在。而且接口之间还有相互依赖性。比如最常见的购物接口,首先需要使用用户名和密码进行登录,然后服务器验证登录后会返回一个token,这个token通常是放在http的response里面。接下来的添加购物车,提交订单也都要用到这个token作为身份认证标识。那么,对于这套接口测试起来就很麻烦,首先执行登录接口获取token,在测试后面的接口时都要加上token。注意token还有时效性,20分钟没有动作自动失效。那么,这套用例就无法保存在postman中,每次都要重新获取token。

    为了解决接口依赖问题,jmeter是一个不错的选择,通过’正则表达式提取器’就可以自动获取前一个response中的token,然后作为参数传给本次http请求。当然这个token可以保存在全局变量中,以供后面的接口使用。使用jmeter可以灵活的动态获取token,而不像postman每次需要手动获取。而且jmeter还可以做压测,但是登录的用户需要参数化,每次使用不同的用户。jmeter看似完美,但是jmeter毕竟是性能工具,在报告的显示上以及返回值的校验上无法细化。以及在集成至持续集成也不是很方便。

    最后java+testng 通过编程的方式实现接口测试,当然是最灵活的,无论是request还是response都可以通过程序非常灵活的取得。而且对结果的判断和展示都可以比jmeter做的更好,并且也更易整合至持续集成系统。但是使用该种方式开发成本比较大,前期需要投入更多的时间和精力,无法快速的对接口进行校验。

    所以在接口测试的快速校验和前期项目时间比较紧张的情况下可以选择postman和jmeter,在项目稳定后可以搭建起testng+java的方式合入持续集成系统,每天定时执行做回归测试

    在这里插入图片描述

    展开全文
  • 推荐3款接口测试工具

    千次阅读 2017-11-06 17:37:56
    基于postman是Chrome的接口测试工具,应用商店打不开...不知道怎么安装 于是找了下面这三款工具,来先看看长什么样 1、poster(推荐:界面简洁,功能齐全) 2、restclient(推荐:界面简洁,功能齐全,响应结果可以...
  • HTTP接口测试工具

    2020-07-30 23:30:21
    简单轻便的 HTTP get post 请求离线小工具
  • 接口测试工具Postman接口测试图文教程

    万次阅读 多人点赞 2018-07-11 13:16:18
    Postman接口测试工具使用一、前言 在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性。而这要求前端开发进度和后端进度保持基本一致,任何一方的...
  • 接口测试工具和使用

    2020-10-27 10:52:12
    一、接口 接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式。...3.接口测试工具使用对比 jmeter 是一款1
  • 软件接口测试工具篇(一)

    千次阅读 2018-09-05 17:15:08
    软件接口测试工具篇  - Python requests -   在软件测试领域中,如果按照软件研发周期维度给测试分类的话,集成测试是一种重要的测试手段,它在单元测试和系统测试之间能够起到桥梁的作用,而接口测试又恰恰是...
  • 接口测试工具Postman

    万次阅读 2019-03-24 12:25:32
    一、接口定义 软件不同部分之间的交互接口。通常就是所谓的API――应用程序编程接口,其表现的形式是源代码。 —— [ 百度百科 ] 我们常说的接口一般指两种: (1)API:应用程序编程接口。程序间的接口 (2)GUI:...
  • 接口测试工具Postman使用实践

    万次阅读 多人点赞 2020-08-12 08:28:07
    接口测试工具Postman使用实践本次chat内容包括: 接口的定义 接口的分类 为何要进行接口测试 接口文档示例 Postman工具简介 借助Postman完成HTTP请求接口测试 Postman + Newman + Jenkins 实现接口自动化测试 一、...
  • Http接口测试工具HttpTestTool

    千次下载 热门讨论 2020-07-30 23:32:28
    项目需要测试http接口,网络上已有的工具,像fiddle、开源小工具这些,都不符合我快速测试要求,于是仿照当时在华为做外包时的一个工具,写了一个简洁版的。 工具支持测试get、post消息,自定义http header,没有...
  • 接口测试工具实现

    千次阅读 2013-03-22 12:36:03
    平台服务器的接口测试用例及测试数据准备完毕后,接下来的工作就是如何去进行接口功能测试了,如果使用客户端来进行平台服务器的接口测试,不但某些测试用例无法进行覆盖(例如上传不合法的版本号),而且有的输入值...
  • 接口测试工具全对比

    千次阅读 2019-06-12 15:26:03
    今天就继续跟大家讲一下接口测试的工具,因为常常被大家问到接口测试工具该如何选择,谁才是接口测试最好用的工具,哪种工具是必须要学习的,以及测试工具该如何学习”。 Fiddler: Fiddler被称为抓包神器,它是...
  • 接口测试类型及接口测试工具

    万次阅读 2015-11-14 23:35:19
    文中所列举的测试工具,对开发测试都有极大的帮助,可以提升工作效率,不信的话可以尝试一下 1接口类型: 1.1 Java web的接口包含webservice接口、HTTP接口、JavaScript接口、服务端jar包接口、hessian,jms...
  • 接口测试基础-3-接口测试工具介绍

    万次阅读 多人点赞 2017-09-01 13:47:19
    目前,市场上有很多支持接口测试工具。利用工具进行接口测试,能够提供测试效率。例如,加入让你一天完成100个接口测试任务,你觉得你加班能否完成。如果有工具,但是不是所有工具都能够支持你完成这个任务。下面...
  • (下文照搬@Storm啊老师博文,留下记录为了方便学习和理解。...以后有机会自己也写一篇类似的,感谢@Storm啊老师) ...3. 为何要进行接口测试 4. 接口文档示例 5. Postman工具简介 6. 借助Postman完...
  • 在线接口测试工具 :http://www.36nu.com/apiTest/index.html 网站建设,网站制作,网站设计,找广州当富网络,一家专业的网站建设公司
  • 一般还要写《接口测试用例》和《接口性能测试用例》。同样,也分接口测试报告和接口性能测试报告。 接口的本质及其工作原理 接口你可以简单的理解他就是URL,工作原理就会说URL通过get或者post请求像服务器发送一些...
  • API接口测试及常用de接口测试工具

    千次阅读 2020-07-28 16:35:24
    首先,什么是接口呢? 接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。 系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们...
1 2 3 4 5 ... 20
收藏数 481,329
精华内容 192,531
关键字:

接口测试工具