必威国际有限公司
  • 提供什么? 必威国际有限公司詹金斯X Tekton 大三角帆
  • 博客
  • 用户指南 ——安装詹金斯必威国际有限公司 - 必威国际有限公司- - - - -詹金斯管道 ——管理詹金斯必威国际有限公司 ——确保詹金斯必威国际有限公司 58必威网 58必威网站 88必威 2018必威体育下载 ——导游 2018必威体育下载 58必威 贡献者指南
  • 插件
  • 概述 满足 2020刀塔必威赛事 论坛 问题跟踪器 路线图 特殊利益集团 -宣传和外展 ——中国本地化 ——原生云 ——文档 谷歌代码之夏 365必威 ——管道创作 ——平台 ——用户体验
  • 概述 常绿 谷歌詹金斯的代码之夏必威国际有限公司 基础设施 CI/CD和Jenk必威国际有限公司ins区域聚会 必威国际有限公司Jenkins配置代码 必威国际有限公司詹金斯运营商 必威国际有限公司詹金斯远程 记录下詹金斯和库伯必威国际有限公司内特的关系
  • 路线图 安全 新闻 奖 行为 艺术作品
  • 中中国文
  • 下载

推特

发布于2016-04-11Guillaume Laforge
  • 发展
  • webapi
  • 测试
这是一个由Guillaume Laforge.他因对Apache Groovy项目,纪尧姆也是“产品忍者和倡导者”Restlet专注于Web api的公司:with本公司(API测试客户端),Restlet工作室(一个API设计师),APISpark(云中的API平台),以及Restlet框架用于开发api的开源项目。

现代的移动应用程序,单页面网站和应用程序,越来越依赖于web api,作为前端和后端服务之间交互的纽带。当您希望与他人共享您的服务时,或者当您需要使用现有的api以在他们的肩膀上构建您自己的解决方案时,Web api也是第三方集成的核心。

由于API是架构和大局的关键元素,因此通过适当的测试,评估这个API是否以它应该的方式运行显然很重要。您所选择的框架,无论所使用的技术堆栈或编程语言,都有望提供一些测试代码的工具,无论是以单元测试的形式,还是理想的集成测试形式。

编写Web API测试

正如我所说的,从代码的角度来看,大多数语言和框架都提供了测试用它们构建的api的方法。有一个我想特别强调一下,它是用DSL方法(领域特定语言)开发的,使用Apache Groovy编程语言,它是遭受沙尘暴.

首先,你可以看看介绍,使用指南。如果你使用合同DSL,您将能够编写希望针对API发出的请求的高可读性示例,以及希望从该调用获得响应时为真的断言。以下是文档中的一个具体示例:

GroovyDsl。使{请求{方法'帖子'urlPath ('/用户') {queryParameters{参数'限制':One hundred.参数'抵消':包含("1")参数'过滤器':"电子邮件"}} headers{标题'内容类型':'application / json'}的身体'''{"login": "john", "name": "john The Contract"}'''} response{状态200标题{头'位置':'/用户/约翰'}}}

注意,响应预期返回状态代码200 OK,以及指向的Location头/用户/约翰.的确,这是一种非常可读的表达请求和响应的方式!

测试api的工具

从工具的角度来看,有一些有趣的工具可以用于测试Web api,例如爪子(mac),先进的REST客户端,邮递员或失眠.

但在本文中,我将简要介绍一下本公司,这是一个方便的可视化工具,您可以手动使用它来制作测试和断言,并可以导出它的测试场景并将其集成到构建和持续集成管道中Maven和詹金斯必威国际有限公司。

在这篇文章的最后,你应该能够在你的Jenkins仪表板上看到以下报告,当可视化结果API测试执行:必威国际有限公司

出口一个场景"></a></span></p>
       </div>
      </div>
     </div>
     <div class=

介绍本公司

DHC是一个Chrome扩展,你可以从Chrome网络商店安装,在你的Chrome浏览器。还有一个在线服务可用,但有一些限制。出于本文的目的,我们将使用Chrome扩展。

本接口"></a></span></p>
       </div>
       <div class=

在主区域中,您可以创建请求、定义要调用的URL、指定各种请求头或参数、选择要使用的方法,然后单击send按钮发出请求。

在左侧窗格中,您可以查看请求历史记录,在云中创建和保存项目,或者设置上下文变量。

在测试Web API时,后者非常重要,因为您将能够插入变量,例如{localhost}用于在您的机器上进行本地测试{分期}和{prod}在不同的环境中运行测试。

在底部窗格中,您可以访问实际的原始HTTP交换,以及断言窗格。

同样,这是一个非常重要的窗格!使用断言,您将能够确保Web API按预期工作。例如,您可以通过使用JSON Path或XPath分别遍历JSON或XML有效负载,检查调用的状态代码,检查包含某个元素的有效负载。

本接口"></a></span></p>
       </div>
       <div class=

除了断言之外,有趣的是您可以将请求链接在一起。调用请求可以依赖于前一个请求的结果!例如,在一个新的请求中,您可以传递一个查询参数,该参数的值将是先前执行的请求的JSON有效负载的某个元素的值。通过将断言、链接请求和上下文变量组合在一起,您可以创建完整的测试场景,然后可以将其保存在云中,也可以将其导出为JSON文件。

运行测试场景"></a></span></p>
       </div>
       <div class=

要导出测试场景,你可以点击左下角的小导出图标,然后你就可以选择你想要导出的内容了:

出口一个场景"></a></span></p>
       </div>
      </div>
     </div>
     <div class=

使用Maven运行Web API测试

现在事情变得更加有趣了,因为我们将继续使用Maven和Jenkins!必威国际有限公司俗话说,有一个Maven插件!在你的构建中运行那些Web API测试!即使您的Web API是用Java以外的其他技术开发的,您仍然可以仅为Web API测试创建一个小型Maven构建。更妙的是,当您配置Jenkins来运行这个构建时,由于插件输出JUnit友好的测试报告,您将必威国际有限公司能够看到成功测试和失败测试的细节,就像您看到JUnit的一样!

让我们简述一下Maven POM:

<项目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测试执行必威国际有限公司

一旦你配置好Jenkins服务器,启动必威国际有限公司测试这个Maven项目的目标,您将能够看到Web API场景的漂亮测试报告,就像本文介绍中的截图一样!

接下来,当开发人员提交对API的更改时,您可以轻松地运行Web API测试,或者使用Jenkins安排定期构建以监视在线Web API。必威国际有限公司

要了解更多信息,请务必阅读教程用DHC测试Web api.还有更多的资源,比如截屏视频,以及用户指南如果你想了解更多的话。最重要的是,祝测试愉快!

关于作者
Guillaume Laforge"class= Guillaume Laforge

这位作者没有传记。请看下面的社交媒体链接。

  • GitHub
  • 推特
  • 博客

编辑/博客/ 2016/2016-04-11-run-your-api-tests-continuously-with-jenk必威国际有限公司ins-and-dhc。adoc GitHub上一起"class=betway必威足彩报告问题

知识共享署名-相似共享许可"src=

驱动本网站的内容是在知识共享署名-共享相似4.0许可下许可的。

资源
  • 下载
  • 博客
  • 文档
  • 插件
  • 安全
  • 贡献
项目
  • 结构和治理
  • 问题跟踪器
  • 路线图
  • GitHub
  • 必威国际有限公司詹金斯在詹金斯
社区
  • 论坛
  • 2020刀塔必威赛事
  • 邮件列表
  • 聊天
  • 特殊利益集团
  • 推特
  • Reddit
其他
  • 的行为准则
  • 新闻信息
  • 商品
  • 艺术作品
  • 奖