REST Assured 1 - REST Assured 介绍

REST Assured 系列汇总 之 REST Assured 1 - REST Assured 介绍

REST Assured是什么?

REST-assured是一个开源的Java 库,用来测试和验证REST APIs。动态语言如Groovy,Ruby执行API测试非常有益和简单,而对Java来说就有点费力了。但REST Assured使得用Java语言测试API跟使用Ruby和Groovy一样简单。

REST Assured 是一种JAVA DSL(Domain Specific Language)领域特定语言 [ 通常被定义为一种特别针对某类特殊问题的计算机语言,它不打算解决其领域外的问题。],用来简化测试REST Services,它简化HTTP Builder顶层。REST Assured支持发起任意HTTP请求POST, GET, PUT, DELETE, OPTIONS, PATCH和HEAD, 包括详述清单,比如:参数,头部,cookie和实体。它可以用来验证这些请求的响应。

REST Assured基于Apache Http Client(提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议)之上,那为啥不直接用HTTP Client呢?下面的截图可以给出答案。

REST Assured 由Johan Haleby开发和维护. 他于2010年工作于Jayway开始启动项目,现在由Parkster赞助。

REST Assured的版本

当你在Maven Central Repo搜索Rest Assured依赖是,你会发现有两个不同的group ids。初学者可能会有疑惑,我们还是用最新的那个版本。

com.jayway.restassured – 这个是停产的

io.rest-assured – 这个是最新的

REST Assured的优点

  1. 开源,免费
  2. 相比Http Client,REST Assured所需代码量更少
  3. 发起一个HTTP 请求,前期准备步骤更简单直接
  4. 更容易解析响应中的JSON或XML
  5. 提取字段和断言更简单利用内置的hamcrest Matchers
  6. 自2.0版本后,支持BDD 关键字如given(), when(), then() 使得代码可读,干净
  7. 丰富的语法
  8. 非常丰富的现成的断言
  9. 快速的断言状态码和响应时间
  10. 运行中验证Headers, cookies, Content-Type等
  11. 强大的日志机制
  12. 非常容易集成其它java类库,如TestNG,Junit作为测试框架和其它扩展的Report插件
  13. 支持不同的身份验证机制
  14. 可以集成Selenium-Java实现端到端的UI automation
  15. 内置支持JsonPath和XmlPath用来解析响应中的JSON,XML格式消息。
  16. 可以用来验证JSON Schema利用JSON Schema Validation库
  17. 也包括 XML schema 验证
  18. 可以集成Maven和CICD
  19. REST Assured 4.1.2 支持 Java 13.
  20. 支持 multi-part 形式数据
  21. 支持Spring Mock Mvc, Spring Web Test Client, Scala and Kotlin.

REST Assured的缺点

  1. 不显示支持测试SOAP APIs
  2. 需要java编程能力
  3. 没有内置的reporting,BDD是一个比较好的选择 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RestAssured是一个流行的Java自动化测试框架,用于编写和执行RESTful API测试。它可以通过简单的API来处理HTTP请求和响应,并且可以轻松地将请求和响应转换为可读性强的代码。RestAssured还可以使用Gherkin语言编写BDD测试,并且支持与JUnit和TestNG等测试框架集成。 使用RestAssured可以快速编写和执行HTTP请求,验证响应状态码、响应头、响应体等细节,并且可以使用各种验证方式进行验证,如JSON Schema验证、XPath验证、正则表达式验证等等。同时,RestAssured还支持多种HTTP身份验证方式,包括基本身份验证、摘要身份验证、OAuth等。 使用RestAssured编写自动化测试用例的步骤如下: 1. 引入RestAssured依赖。 2. 编写测试用例,包括HTTP请求和验证响应的代码。 3. 运行测试用例并查看测试结果。 下面是一个使用RestAssured编写的示例测试用例: ```java import io.restassured.RestAssured; import org.junit.Test; import static io.restassured.RestAssured.given; public class RestAssuredTest { @Test public void testGet() { // 发送GET请求 given() .get("https://jsonplaceholder.typicode.com/posts/1") // 验证响应状态码和响应体 .then() .statusCode(200) .body("title", equalTo("sunt aut facere repellat provident occaecati excepturi optio reprehenderit")); } } ``` 上面的示例测试用例发送了一个GET请求,验证了响应状态码和响应体。使用RestAssured,可以非常方便地编写和执行各种HTTP请求和自动化测试用例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值