用于API测试的工具有哪些?

2020-04-22 09:29发布

3条回答
挺好的
1楼 · 2020-04-22 09:48.采纳回答

什么是API?

Application Programming Interfaces(API)是软件组件之间的接口规范。大多数的功能测试包含了Web页面测试或.net表单类的用户界面测试,而API测试绕过了用户界面通过调用API接口与应用程序直接进行通信。


API测试允许你测试像JMS HTTP,数据和web服务之类的无头技术。API测试有时也被称为“无头”测试。大多数的无头测试技术都包含了“绕过UI操作,直接发送请求给应用的后端或服务并接收响应,同时检验响应是否正确来保证系统按照我们预期的那样工作”。


一个简单的例子就是客户端与服务器之间的通信。客户端针对某一资源发出请求,该请求被发送到服务器并找到可以响应该请求的服务器。服务器查找客户端所请求的资源并将响应发送回客户端。


可以使用什么工具来自动化地进行API测试?

Selenium是一个基于浏览器的测试工具,你也许想要知道有什么工具可以开展基于REST或SOAP的服务的测试。下面将介绍几个流行的API测试工具,可以用来测试符合REST和SOAP规范的web服务。


Postman

Postman是一个REST客户端,起初作为Chrome浏览器的插件而运行,但最近推出了Mac和Windows的原生版本。你可以使用Postman发送一个post请求给web服务器,并且它会解析服务器返回的响应。它允许你构建你的API所需要的所有header和cookie并能够检查服务端返回的响应。它有如下的特点:

1、可以被用来做自动化测试,也可以被用来开展探索式的测试;

2、可以运行在Mac,Windows,Linux以及Chrome App上;

3、有许多集成,例如支持Swagger和RAML格式;

4、有运行,测试,文档化和监控等功能;

5、不需要学习一门新的语言。


Karate DSL

Karate允许你创建一个可以调用任何类型网络服务的测试,并且能够将得到的响应和期望值进行比较。它有如下的特点:

1、建立在Cucumber-JVM基础上;

2、可以像标准的Java工程一样运行测试并且产生报告;

3、测试代码的开发不需要掌握任何的Java知识;

4、即使对非编程人员,测试代码也很容易编写。


SoapUI

SoapUI是由SmartBear公司开发的一款功能测试工具。它有两个版本:免费的开源版本和专业版本。免费的版本是完全开源的,因此你可以根据需要对源代码进行修改。专业版本更容易使用,并且有更多的功能包括表单编辑器,Xpath形式的断言向导和SQL查询生成器。而免费版本所具有的功能特点有:

1、可以使用Groovy轻松创建自定义代码;

2、拖放式的测试创建;

3、可以创建复杂场景的测试;

4、异步测试;

5、SoapUI的mock服务允许在Web服务实现之前模拟Web服务。


HttpMaster Express

HttpMaster声称自己作为一个web开发和测试工具可以自动化地测试web站点和服务。它可以被用来测试具有REST风格的web服务和API应用程序。同时HttpMaster允许你监视API响应。通常它具有如下特点:

1、HttpMaster提供了全局选项来自定义你的API请求;

2、参数功能允许你在请求中包含动态的数据;

3、你可以使用请求链功能使请求中可以包含来自之前请求的一些数据,并提供数据给后续的请求。


Rest- Assured

Rest- Assured是一个开源的Java域特定语言(DSL),它能够使REST服务测试变得简单。它尽量不使用样板代码来测试和验证复杂响应,从而简化对REST服务的测试。它也支持XML和JSON格式的请求和响应。它具有如下的特点:

1、不需要创建与REST服务进行交互的样板代码;

2、支持BDD Given/When/Then语法;

3、与Java项目能够无缝集成。


RestSharp

RestSharp是一个简单的适用于.net应用的具有REST风格的HTTP客户端。它具有如下的特点:

1、支持.NET 3.5+,Silverlight 5,Windows Phone 8,Mono,MonoTouch,Mono for Android;

2、对大多数支持.net的平台,可以使用NuGet来轻松地安装RestSharp;

3、支持GET,POST,PUT,PATCH,HEAD,OPTIONS,DELETE等请求方法。


Rest Console

Rest Console是一个HTTP请求可视化和构造工具,可帮助开发人员构建,调试和测试RESTful API。它具有如下特点:

1、请求参数很容易构建;

2、具有语法高亮功能;

3、支持身份验证:普通,基本和Oauth+自定义。


RoboHydra Server

RoboHydra是一个适用于基于HTTP的客户端(即发出HTTP请求的软件)的测试工具。在测试时,待测试的客户端不是连接到真正的服务器,而是连接到RoboHydra,RoboHydra将响应每个请求所需的任何数据。它具有如下特点:

1、你可以测试许多类型的客户端;

2、RoboHydra是用Javascript开发的,运行在Node环境下。


Hippie-Swagger

Hippie-Swagger是一个测试RESTful API的工具,它也是一个带有自动化的swagger断言的API测试工具。除了能够验证API的行为,当swagger文档丢失或不准确时它将会运行失败。它具有如下特点:

1、可以验证swagger文件的所有方面:参数,请求/响应主体,路径等;

2、具有准确的,可读的断言信息。


Weblnject

Weblnject是一个针对自动化测试web应用和web服务的解决方案。它可以被用来测试单独的具有Http接口(如JSP, ASP, CGI, PHP, AJAX, Servlets, HTML Forms, XML/SOAP Web Services, REST等)的系统组件。它具有如下特点:

1、是一个基于命令行的工具;

2、是用Perl语言开发的,可以被安装在MS Windows, GNU/Linux, BSD, Solaris, MAC OS。


PyRestTest

PyRestTest是一个基于python的REST API测试工具。它具有如下特点:

1、可以在YAML或Json配置文件中编写测试用例,不需要代码;

2、会返回失败时所调用的代码;

3、只能运行在Mac和Linux环境中。


Airborne

Airborne是一个基于Ruby及RSpec驱动的API测试框架。它具有如下特点:

1、适用于像Sinatra和Grape类的Rack应用;

2、适用于使用Rails编写的API。


Unirest

Unirest是一个轻量的HTTP请求库,由Unmesh Gundecha推荐。可以和xUnit结合,BDD开发者可以把它作为一个测试工具。


Mockbin

Mockbin由Augusto Marietti推荐。Mockbin允许你生成自定义端点来测试,模拟和跟踪库,套接字和API之间的HTTP请求和响应。它具有如下特点:

1、可以模拟客户端;

2、能够创造客户端HTTP方法;

3、能够记录并检查客户端下一步调用。


cccc
2楼 · 2020-04-22 09:34

还是挺多的

cc收获啦
3楼 · 2020-04-22 09:50

Selenium是一个基于浏览器的测试工具,你也许想要知道有什么工具可以开展基于REST或SOAP的服务的测试。下面将介绍几个流行的API测试工具,可以用来测试符合REST和SOAP规范的web服务。

相关问题推荐

  • 回答 157

    虽然从事开发行业的女生越来越多,但女生的比例还是远比不上男生。软件测试的男女生比例则基本相当,软件测试要求细心、耐心,大部分女生也是比较适合学的。而且软件测试课程分为手工测试和自动化测试,手工测试分为功能测试、性能测试、接口测试。自动化测试...

  • 回答 121

    需要。很多人当初抱着测试不需要懂代码,才选择了这个行业,这个就要看对自己的职业定位了,是止步于月薪过万就可以了,还是往20k、30k去突破,如果这样的话,是肯定要会接口、会自动化,就必然要涉及到代码。如果真的看不懂代码,实际的测试后期的工作会出现...

  • 回答 91

    在我看来游戏开发挺难的,尤其像手游一类的还有网游,里面有很多的程序代码而且伤神又费力,不过也有女生在这方面做的很好的,如果你感兴趣,非常想学,可以试试

  • 回答 80

    软件测试专业现在很火热,很缺少人才,25岁学软件测试能学会,就业薪资也高,工作也相对轻松

  • 回答 11
    已采纳

    测试类型有:功能测试,性能测试,界面测试。功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用...

  • 回答 15
    已采纳

    这个其实和接口测试的场景密不可分的,比如说:外部接口测试:    必须先接口测试通过了,才能执行功能测试子系统或者各个模块之间的联调测试:    必须各子系统后台代码完成,并提供接口才可以完成测试,一般来说都要求各子系统功能测试通过后再进行...

  • 回答 6
    已采纳

    这个是会因为公司的架构不同而不同的,并不是固定的,但是一般是会有专门的测试部门,或者叫质量保证部,也有可能是叫别的名字。

  • 回答 43
    已采纳

    移动端测试,包括App兼容性测dao试,7*24小时稳定性测试,功耗性能测试,UI测试,交互测试等,课程主要学习的内容有:1、功能测试主要包括计算机基础、软件测试核心理论、Linux、数据库,学习目标是掌握软件测试核心理论,结合Linux、数据库等可实现移动端、w...

  • 回答 1

    标题  1. 首先要做一个标题党(此标题党非彼标题党)。标题一定要清晰简洁易理解,不应该臃长  2. 尽量前缀要规范,例如模板: [Product][Version]_[Feature]_[Title],这样描述会很清晰,也方便查找  3. 缺陷的标题一定要描述在什么情况下发生了什么问...

  • 回答 1

    1、 缺陷报告可以记录缺陷2、可以对缺陷进行跟踪管理3、可以对缺陷报告进行分类 总结 统计

  • 回答 1

    1、缺陷编号(Defect ID),提交BUG的顺序。2、缺陷标题(summary),简明扼要的说明一下这个BUG。3、缺陷的发现者(DetectedBy) ,一般是自己。4、发现缺陷的日期(Detected on date),一般是当天。5、缺陷所属的模块(subject), 在测试哪个模块的时候发现的BUG...

  • 回答 1

    缺陷标题好的缺陷标题需要让相关人员一目了然,一般建议的格式是条件+失败。缺陷类型缺陷类型也是根据具体的项目而定的。但一般情况下分为功能、界面、建议。重现步骤重现步骤的编写规则可以参考测试用例中的操作步骤 ,一定要足够详细、说明清楚问题的操作顺...

  • 回答 1

    工具:NoSQLUnitJsTestDriverQTRunnerVenusFluintBuster.JSSQLUnitECUTQTestlibUnitilsgreatestDbUnitAbbotGoogleTest框架:JUnitMoqJSCaptureMockCUnitPyUnitCppUTestCppUnitzCUTcipra

  • 回答 1

    JunitTestNGGoogleTestpytestunittestJmockitJaCoCogcov、lcov、gcovrCoverage.pyEvoSuiteDiffblue Cover

  • 回答 1

      React Hooks测试库( Testing Library)是一个简单而完整的React Hooks测试工具。  React Hooks测试库让用户可以为React钩子创建简单的测试工具,自定义钩子的输入和检索输出,以处理在功能组件体内运行的情况。  使用React Hooks,用户不必为了测试而去担...

  • 回答 1

    1、单元测试注重代码逻辑,接口测试注重业务逻辑;2、单元测试的粒度最小,是测试最小独立的单元模块(不依赖其他模块);接口测试不是,会覆盖很多;3、单元测试是白盒测试,接口测试是黑盒测试;4、单元测试关注的是代码的实现和逻辑,测试范围较小,保证实...

没有解决我的问题,去提问