rest接口自动化测试

尽管我是Java和Scala开发人员,但我仍然对软件测试充满热情。 如果更精确-Web应用程序。 开发Web应用程序并确保应用程序具有良好的质量真的很有趣。

当我开始职业生涯时,最流行的Web架构是MVC(模型视图控件),并且非常简单。 当您开发一些业务逻辑时,您必须编写一些单元测试来检查内部控制器功能的功能,这就足够了。 当时,集成测试是更为复杂的任务,因为这种测试意味着使用了一些模拟框架。

但是时间到了。 而且,旧的MVC架构已不足以满足众多客户端类型的需求,例如智能手机,平板电脑,浏览器。 REST体系结构开始替代MVC。 越来越多的应用开始使用一种API通过HTTP与不同的客户端进行通信。 这种情况再创新。 因为所有与数据和数据处理相关的业务逻辑都集中在服务器上,而客户端负责数据的表示和其他额外的操作。
您可能已经猜到了,我刚刚描述了单页应用程序方法(SPA)中使用的原理。 通过这种方式,构建了许多现代应用程序Facebook,Instagram,Twitter。

开发人员更改了他们的应用程序后,测试方法也发生了变化。 结果出现了一个新的层,在该层上测试不仅适用,而且非常有效。 我完全在谈论API层。 由于API是由不同的客户端(智能手机,台式机等)使用的,因此有必要收集一组测试,以检查所有类型客户端的通用逻辑,并突出显示特定于客户端的测试方案,以专注于特定于客户端的逻辑。 该逻辑适用于已经在API层中测试过的数据。

这种方法为我们提供了一种了不起的测试策略。 测试人员可以节省时间,因为他们不需要通过与已经测试的数据集进行交互来在不同的客户端上重复测试。 他们只需要关注UI和一些特定功能。

REST服务的自动化测试

以我自己的经验,我通过编写自动化测试脚本来执行REST API层的测试。 为此,我使用JayWay公司开发的REST保证库。 这个Java库确实是自动测试REST服务的强大武器。

这样的测试代码看起来非常不错:

@Testpublic void getLandLaordTest() {given().contentType(ContentType.JSON).pathParam("id", "DoYlvMXN").when().get("/landlords/{id}").then().statusCode(200).body("firstName", equalTo("Sam")).body("trusted", equalTo(false));}

这很简洁,一点也不冗长。 在Java项目中使用REST保证使用的另一个优势是它的简单性。 我可以教我团队中的任何成员在3-4个小时内开发此类测试。 它也可以与最流行的Java测试框架(如TestNG,JUnit和Hamcrest)配合使用。

摘要

我建议测试您编写的代码,因为它可以使您的软件开发能力更上一层楼。 工作自动化是成功和节省时间投资的关键。

翻译自: https://www.javacodegeeks.com/2015/04/automated-testing-of-rest-services.html

rest接口自动化测试

rest接口自动化测试_REST服务的自动化测试相关推荐

  1. REST服务的自动化测试

    尽管我是Java和Scala开发人员,但我仍然对软件测试充满热情. 如果更精确-Web应用程序. 开发Web应用程序并确保应用程序具有良好的质量真的很有趣. 当我开始职业生涯时,最受欢迎的Web架构是 ...

  2. 基于airtest+poco微信服务号自动化测试NO1

    基于airtest微信服务号自动化测试NO1 1. 项目背景 1.1 框架选择airtest+模拟器 1.2 软件安装 1.2.1 mumu模拟器 1.2.2 airtest安装 1.2.3 调试工具 ...

  3. python自动化测试常用库_Python自动化测试常用库整理

    今天花了一些时间,过了一下这几年自己用Python开发的自动化测试框架,然后将其中常用到Python库抽出来,简单整理了一下它们的用处.我觉得,只要掌握了这些常用的Python库,足以应对大多数自动化 ...

  4. selenium自动化测试_使用Selenium自动化测试处理多个浏览器选项卡

    selenium自动化测试 使用Selenium进行自动化测试一直是将萌芽的自动化测试人员培养为专业人员的生命线. Selenium是开源的,在全球范围内被广泛采用. 结果,您会得到社区的大力支持. ...

  5. 【自动化测试】在做自动化测试之前你需要知道的

    什么是自动化测? 做测试好几年了,真正学习和实践自动化测试一年,自我感觉这一个年中收获许多.一直想动笔写一篇文章分享自动化测试实践中的一些经验.终于决定花点时间来做这件事儿. 首先理清自动化测试的概念 ...

  6. 2021年最全的自动化测试面试题及答案--看完后吊打面试官!自动化测试是什么?自动化测试学什么?

    一.前言 最近有童鞋和我抱怨,说网上很难搜到那些全面又合适的自动化测试面试题,这里根据我个人的经验以及收集整理的: 你没看错,不慌,慢慢来. 先从什么是自动化测试开始说起哈! 二.什么是自动化测试? ...

  7. 华为python自动化测试框架_10个自动化测试框架,测试工程师用起来

    摘要:快速实现质量是必要的,因此质量保证得到了很多关注.为了满足卓越的质量和更快的上市时间的需求,自动化测试将被优先考虑.对于微型.小型和中型企业(SMEs)来说,自动化自身的测试过程是非常必要的,而 ...

  8. 如何做自动化测试?什么是自动化测试?

    自动化测试究竟能给我们带来什么好处?更节省成本?测试更快?彻底取代手工测试?带着这些问题,我们一起来学习自动化测试怎么做. 什么是自动化测试?自动化测试,是指软件测试的自动化,软件测试就是在预设条件下 ...

  9. 什么是自动化测试?如何开展自动化测试你需要知道这些点

    目录 前言 什么是自动化测? 分层的自动化测试 我为什么要做自动化测试? 什么项目适合做自动化测试? 选择什么工具进行自动化测试 selenium 用前须知 selenium IDE selenium ...

最新文章

  1. linux时间配置文件,linux系统下的时间配置综述
  2. python处理netcdf_在python中高效读取netcdf变量
  3. Intel Media SDK H264 encoder GOP setting
  4. 七. 多线程编程11.线程的挂起、恢复和终止
  5. matlab中设置拟合初值,如何确定自定义函数拟合时的参数初值?
  6. 区块链第三方支付已登陆菲律宾
  7. 系统架构设计理论与原则、负载均衡及高可用系统设计速记
  8. java服务器向客户端发消息_socket 服务器向指定的客户端发消息
  9. Linux 中文文件名乱码解决 FTP文件名乱码
  10. java中前加加++和后加加++的详解
  11. 软件测试技术——安全性测试
  12. 债券价格和到期收益率的关系_债券市场价格与到期收益率
  13. [深入研究4G/5G/6G专题-57]: L3信令控制-6-什么是无线承载DRB Profile
  14. 微信小程序:热门表情包+头像+壁纸自动采集多分类微信小程序
  15. 大数据算法MOOC笔记1:大数据定义、特点、应用
  16. Linux下无法使用v-2-ray
  17. VisualVM 启动报错Error Starting VisualVM:You are running VisualVM using Java Runtime Environment(JRE)
  18. PCM开发板模块实验指导--有刷直流马达速度位置控制实验
  19. linux查看服务器电源风扇,nagios监控vsphere ESXi主机硬件状态(CPU风扇、电源模块、硬盘、温度)...
  20. Lync Server 2010拓扑图规划详解

热门文章

  1. P3889-[GDOI2014]吃【线段树】
  2. jzoj3736-[NOI2014模拟7.11]数学题(math)【计算几何】
  3. 【KMP】重复子串(ybtoj KMP-2)
  4. 40、使用javassit操作运行时字节码文件
  5. Spring Boot 发布 jar 包转为 war 包秘籍。
  6. Redis入门(一)之安装
  7. 09-一对多关系建表
  8. java面向对象高级分层实例_实体类
  9. MySQL中的+作用,进行字符串的拼接用concat
  10. 2015蓝桥杯省赛---java---B---2(立方变自身)