RestAssured接口自动化从入门到框架搭建-1-REST和RestAssured简介

这个系列有一个前提基础,就是HTTP协议基础,有了HTTP协议基础,再来学习这个内容。本内容主要是介绍使用Java语言,利用RestAssured这个框架,到达进行接口自动化测试的目标。本篇主要来了解下什么是REST或者RESTFUL,然后了解框架RestAssured是什么,能做些什么。

 

1.REST或者RESTFUL

REST是一种软件架构风格,其实就是这么一个特点就行。全称是Representational State Transfer,翻译过来叫 表属性状态传递。很绕口,看不懂什么意思对不对。

表述性状态转移是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful。需要注意的是,REST是设计风格而不是标准。

所以,REST就是WEB产品设计中一种软件架构风格,有自己的原则和约束条件,但不是强制性。了解这么多就行了,主要是现在很多WEB产品都是这种设计,既能满足PC 浏览器以及手机的访问,所以我们才需要学习这种风格的软件的接口测试。

想要了解更多,请看百度百科词条:https://baike.baidu.com/item/rest/6330506?fr=aladdin

 

2.RESTFUL架构具有功能

每个系统都使用资源。 这些资源可以是图片,视频文件,网页,商业信息或可以在基于计算机的系统中表示的任何内容。 服务的目的是为其客户提供一个窗口,以便他们可以访问这些资源。 服务架构师和开发人员希望此服务易于实现,可维护,可扩展和可伸缩。 通常,RESTful服务应具有以下属性和功能:

  • Representations
  • Messages
  • URIs
  • Uniform interface
  • Stateless
  • Links between resources
  • Caching

Representations,表述性

RESTful服务的重点是资源以及如何提供对这些资源的访问。 资源可以很容易地被视为OOP中的对象。 资源可以包含其他资源。 在设计系统时,首先要确定资源并确定它们之间的相互关系。 这类似于设计数据库的第一步:识别实体和关系。

一旦我们确定了我们的资源,我们需要的下一件事就是找到一种在我们的系统中表示这些资源的方法。 您可以使用任何格式来表示资源,因为REST不会对表示的格式施加限制。所以,千万不要以为REST风格的设计,就一定采用JSON进行数据交换,在REST中也可以使用XML存储和数据交换,这个没有强制规定。只不过,我们在工作中,看到的设计,绝大部分都是采用JSON格式来进行数据交换。

Messages, 消息

客户端和服务通过消息相互通信。 客户端向服务器发送请求,服务器回复响应。 除实际数据外,这些消息还包含有关消息的一些元数据。这个HTTP消息,在我文章开头说的前提系列中有,详情去看:https://blog.csdn.net/u011541946/article/details/96130797

简单来说,一个消息包含以下部分

URIs 统一资源标识符,这个在HTTP协议基础也有介绍,这里不再重复。

Uniform interface 统一接口

统一的接口就是,不管是浏览器还是移动app,都是同一个接口请求。主要是GET POST PUT DELETE这几个方法。

Stateless 无状态的意思

RESTful服务是无状态的,不会为任何客户端维护应用程序状态。 请求不能依赖于过去的请求,并且服务会独立地处理每个请求。这个无状态通信是REST的一个设计原则。服务器除了当前请求之外,它不知道客户端什么状态,不会纪录和本次请求之外的其他数据。

Links between resources 资源之间的联系

资源表示可以包含指向其他资源的链接,例如HTML页面包含指向其他页面的链接。 服务返回的表示应该像网站一样驱动流程。 当您访问任何网站时,您将看到一个索引页面。 单击其中一个链接并移至另一个页面,依此类推。所以,在设计之前,考虑好对象之间的关系很重要。

Caching 高速缓存

缓存是存储生成的结果并使用存储的结果的概念,而不是在相同的请求在不久的将来到达时重复生成它们。 这可以在客户端,服务器或它们之间的任何其他组件上完成,例如代理服务器。 缓存是提高服务性能的好方法,但如果管理不当,可能会导致客户端被提供过时的结果。

缓存是可以通过HTTP 中头部的 Cache-Control 这个字段来控制。

以上就是REST风格的架构具备的一些特点或者功能,了解一下就好。

 

3.RestAssured简介

REST Assured 是由 Johan Haleby开发和维护,当然这些年有很多人往这个github贡献过代码,使得这么这个工具越来越流行。

这个框架使java语言写接口测试用例变成和ruby和groovy语言一样容易和简单。

官方网站是:http://rest-assured.io/

官方文档:http://rest-assured.io/#docs

github项目地址:https://github.com/rest-assured/rest-assured

这个是这个框架的Logo, 下一篇我们创建一个maven项目,然后引用Rest-Assured框架。

  • 9
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
TestNG 是一种流行的测试框架,它提供了丰富的功能来进行单元测试、集成测试和端到端测试。TestNG 结合 TestAssured 可以进行接口自动化测试,以下是 TestNG TestAssured 接口自动化测试框架的优点: 1. 简单易用:TestNG TestAssured 框架易于学习和使用。TestNG 的注解可以方便地对测试用例进行分组、依赖、优先级等操作,而 TestAssured 提供了直观的 API,可以轻松地完成接口测试。 2. 支持多种验证方式:TestAssured 提供了多种验证方式,如 body、header、cookie、statusCode、responseTime 等,可以全面地验证接口的正确性。 3. 支持数据驱动:TestNG TestAssured 框架可以通过数据驱动的方式进行接口测试,可以通过 Excel、CSV、JSON 等数据源进行参数化测试,提高了测试效率和覆盖率。 4. 支持并发测试:TestNG TestAssured 框架支持并发测试,可以提高测试效率。可以通过 TestNG 的 parallel 属性来设置并发线程数,也可以通过 TestAssured 的 RestAssured.config() 方法来设置并发连接数。 5. 集成度高:TestNG TestAssured 框架可以与其他测试工具和框架集成,如 Maven、Jenkins、ExtentReports 等,可以方便地进行持续集成和测试报告生成。 总之,TestNG TestAssured 接口自动化测试框架具有易用性高、多种验证方式、数据驱动、并发测试、集成度高等优点,是进行接口自动化测试的不二选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值