这是一个由Guillaume Laforge.他因对Apache Groovy项目,纪尧姆也是“产品忍者和倡导者”Restlet专注于Web api的公司:with本公司(API测试客户端),Restlet工作室(一个API设计师),APISpark(云中的API平台),以及Restlet框架用于开发api的开源项目。 |
现代的移动应用程序,单页面网站和应用程序,越来越依赖于web api,作为前端和后端服务之间交互的纽带。当您希望与他人共享您的服务时,或者当您需要使用现有的api以在他们的肩膀上构建您自己的解决方案时,Web api也是第三方集成的核心。
由于API是架构和大局的关键元素,因此通过适当的测试,评估这个API是否以它应该的方式运行显然很重要。您所选择的框架,无论所使用的技术堆栈或编程语言,都有望提供一些测试代码的工具,无论是以单元测试的形式,还是理想的集成测试形式。
正如我所说的,从代码的角度来看,大多数语言和框架都提供了测试用它们构建的api的方法。有一个我想特别强调一下,它是用DSL方法(领域特定语言)开发的,使用Apache Groovy编程语言,它是遭受沙尘暴.
GroovyDsl。使{请求{方法'帖子'urlPath ('/用户') {queryParameters{参数'限制':One hundred.参数'抵消':包含("1")参数'过滤器':"电子邮件"}} headers{标题'内容类型':'application / json'}的身体'''{"login": "john", "name": "john The Contract"}'''} response{状态200标题{头'位置':'/用户/约翰'}}}
注意,响应预期返回状态代码200 OK,以及指向的Location头/用户/约翰
.的确,这是一种非常可读的表达请求和响应的方式!
从工具的角度来看,有一些有趣的工具可以用于测试Web api,例如爪子(mac),先进的REST客户端,邮递员或失眠.
在这篇文章的最后,你应该能够在你的Jenkins仪表板上看到以下报告,当可视化结果API测试执行:必威国际有限公司
DHC是一个Chrome扩展,你可以从Chrome网络商店安装,在你的Chrome浏览器。还有一个在线服务可用,但有一些限制。出于本文的目的,我们将使用Chrome扩展。 在左侧窗格中,您可以查看请求历史记录,在云中创建和保存项目,或者设置上下文变量。 在测试Web API时,后者非常重要,因为您将能够插入变量,例如 在底部窗格中,您可以访问实际的原始HTTP交换,以及断言窗格。 同样,这是一个非常重要的窗格!使用断言,您将能够确保Web API按预期工作。例如,您可以通过使用JSON Path或XPath分别遍历JSON或XML有效负载,检查调用的状态代码,检查包含某个元素的有效负载。 现在事情变得更加有趣了,因为我们将继续使用Maven和Jenkins!必威国际有限公司俗话说,有一个Maven插件!在你的构建中运行那些Web API测试!即使您的Web API是用Java以外的其他技术开发的,您仍然可以仅为Web API测试创建一个小型Maven构建。更妙的是,当您配置Jenkins来运行这个构建时,由于插件输出JUnit友好的测试报告,您将必威国际有限公司能够看到成功测试和失败测试的细节,就像您看到JUnit的一样! 让我们简述一下Maven POM: 一旦你配置好Jenkins服务器,启动必威国际有限公司 接下来,当开发人员提交对API的更改时,您可以轻松地运行Web API测试,或者使用Jenkins安排定期构建以监视在线Web API。必威国际有限公司 要了解更多信息,请务必阅读教程用DHC测试Web api.还有更多的资源,比如截屏视频,以及用户指南如果你想了解更多的话。最重要的是,祝测试愉快!
介绍本公司
{localhost}
用于在您的机器上进行本地测试{分期}
和{prod}
在不同的环境中运行测试。
使用Maven运行Web API测试
<项目xmlns="https://maven.apache.org/POM/4.0.0"xmlns: xsi="http://www.w3.org/2001/XMLSchema-instance"xsi: schemaLocation="https://maven.apache.org/POM/4.0.0https://maven.apache.org/xsd/maven-4.0.0.xsd">< modelVersion >4.0.0< / modelVersion >< groupId >com.example< / groupId >< artifactId >my-first-api-test< / artifactId ><版本>1.2.3> < /版本构建> <<插件><插件>< groupId >com.restlet.dhc< / groupId >< artifactId >dhc-maven-plugin< / artifactId ><版本>1.1> < /版本<执行>执行< >< >阶段测试< / >阶段<目标><目标>测试> < /目标< /目标>< >配置<文件>companies-scenario.json> < /文件> < /配置执行< / >< /执行>< /插件>> < /插件< /构建>< pluginRepositories >< pluginRepository ><标识>restlet-maven< / id ><名称>Restlet公共Maven库发布库< /名称>< url >https://maven.restlet.com< / url >< / pluginRepository >< / pluginRepositories >> < /项目
在Jenkins中可视化Web API测试执行必威国际有限公司
测试
这个Maven项目的目标,您将能够看到Web API场景的漂亮测试报告,就像本文介绍中的截图一样!