|
|
|
|
挪动端

14个实用于REST和SOAP效劳的开源API测试东西

随着我们向更矫捷的左移软件开辟进程(如继续集成和交付)迈进,疾速向开辟职员提供测试反应的需求正在添加。UI测试的一个缺乏之处是它们的速率很慢,假如开辟者的代码毁坏了最新的构建,它们很难让开辟者疾速地晓得。另一方面,API测试每每比UI测试更快,而且也愈加牢靠。

作者:佚名泉源:测试窝|2018-01-09 11:09

开辟者盛宴来袭!7月28日51CTO首届开辟者大赛决赛带来技能创新分享

随着我们向更矫捷的左移软件开辟进程(如继续集成和交付)迈进,疾速向开辟职员提供测试反应的需求正在添加。UI测试的一个缺乏之处是它们的速率很慢,假如开辟者的代码毁坏了最新的构建,它们很难让开辟者疾速地晓得。另一方面,API测试每每比UI测试更快,而且也愈加牢靠。

在细心研讨API测试东西之前,我们需求确保我们对API有着异样的了解。

什么是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和通博8888的原生版本。你可以运用Postman发送一个post恳求给web效劳器,而且它会剖析效劳器前往的呼应。它容许你构建你的API所需求的一切header和cookie并可以反省效劳端前往的呼应。它有如下的特点:

1:可以被用来做主动化测试,也可以被用来展开探究式的测试

2:可以运转在Mac,通博8888,通博8888官网以及Chrome App上

3:有很多集成,比方支持Swagger和RAML款式

4:有运转,测试,文档化和监控等功用

5:不需求学习一门新的言语

Karate DSL

Karate容许你创立一个可以挪用任何范例网络效劳的测试,而且可以将失掉的呼应和希冀值停止比拟。它有如下的特点:

1:树立在 Cucumber-JVM根底上

2:可以像规范的Java工程一样运转测试而且发生陈诉

3:测试代码的开辟不需求掌握任何的Java知识

4:即便对非编程职员,测试代码也很容易编写

这里有一个复杂的例子可以让你疾速地理解Karate

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,通博8888 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 通博8888, GNU/通博8888官网, BSD, Solaris, MAC OS

PyRestTest

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

1:可以在YAML或Json设置装备摆设文件中编写测试用例,不需求代码

2:会前往失败时所挪用的代码

3:只能运转在Mac和通博8888官网情况中

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:可以记载并反省客户端下一步伐用

以上我所提到的都是一些盛行的API测试东西,但实践上API测试东西到处可见,因而在之后的工夫中我有能够会持续扩大以上的内容。

【编辑引荐】

  1. 2017 年,最热开源静态网站天生器 TOP 20 发表!
  2. 开源巨献:Google最抢手60款开源项目
  3. 可放慢使用开辟进度的十大GitHub开源iOS库
  4. 剖析师:开源更有能够处理电信行业的题目
  5. 开源和规范化孰轻孰重?完成恰如其分的规范化
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
各人都在看
猜你喜好

读 书 +更多

Ubuntu 通博8888官网入门到通晓

本书片面引见了Ubuntu 通博8888官网的相干知识,内容详确,阐述明晰。次要内容包罗Ubuntu引见、文件零碎办理、历程办理、紧缩与盘问零碎、Shel...

订阅51CTO邮刊

点击这里检查样刊

订阅51CTO邮刊