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的优点
- 开源,免费
- 相比Http Client,REST Assured所需代码量更少
- 发起一个HTTP 请求,前期准备步骤更简单直接
- 更容易解析响应中的JSON或XML
- 提取字段和断言更简单利用内置的hamcrest Matchers
- 自2.0版本后,支持BDD 关键字如given(), when(), then() 使得代码可读,干净
- 丰富的语法
- 非常丰富的现成的断言
- 快速的断言状态码和响应时间
- 运行中验证Headers, cookies, Content-Type等
- 强大的日志机制
- 非常容易集成其它java类库,如TestNG,Junit作为测试框架和其它扩展的Report插件
- 支持不同的身份验证机制
- 可以集成Selenium-Java实现端到端的UI automation
- 内置支持JsonPath和XmlPath用来解析响应中的JSON,XML格式消息。
- 可以用来验证JSON Schema利用JSON Schema Validation库
- 也包括 XML schema 验证
- 可以集成Maven和CICD
- REST Assured 4.1.2 支持 Java 13.
- 支持 multi-part 形式数据
- 支持Spring Mock Mvc, Spring Web Test Client, Scala and Kotlin.
REST Assured的缺点
- 不显示支持测试SOAP APIs
- 需要java编程能力
- 没有内置的reporting,BDD是一个比较好的选择
REST Assured 1 - REST Assured 介绍相关推荐
- 用Rest assured作API自动化集成测试
文章目录 用Rest assured作API自动化集成测试 前言 文档 环境 Rest assured依赖 测试示例 HTTP基础 测试GET方法 打印HTTP response 测试路径参数(Pat ...
- airbnb房东_麻烦找房东侵入式监视筛查方法可能是罪魁祸首
airbnb房东 技术监控 (Technology Surveillance) Public social media information seemingly isn't enough for t ...
- ChatGPT解开了我一直以来对自动化测试的疑惑
目录 前言 与ChatGPT的对话 什么是自动化测试,我该如何做到自动化测试,或者说需要借助什么工具可以做到自动化测试? 自动化测试如何确保数据的准确性 自动化测试是怎么去验证数据的 如何通过断言验证 ...
- Cucumber+Rest Assured快速搭建api自动化测试平台
转载:http://www.jianshu.com/p/6249f9a9e9c4 什么是Cucumber?什么是BDD?这里不细讲,不懂的直接查看官方:https://cucumber.io/ 什么是 ...
- 利器 | Java 接口自动化测试首选方案:REST Assured 实践 (一)
在 REST Assured 的官方 GitHub 上有这样一句简短的描述: Java DSL for easy testing of REST services 简约的 REST 服务测试 Java ...
- REST Assured 2 - 用IDEA创建一个基本的REST Assured Maven项目
REST Assured 系列汇总 之 REST Assured 2 - 用IDEA创建一个基本的REST Assured Maven项目 Maven是一个自动化构建 Java项目的工具,主要用户管理 ...
- REST Assured 17 - 设置默认的RequestSpecification
REST Assured 系列汇总 之 REST Assured 17 - 设置默认的RequestSpecification 我们可以根据需要创建多个Request Specification,Re ...
- fileinputstream自定义类序列化和反序列化_Rest Assured篇:Java中的序列化和反序列化...
点击上方蓝字设为星标 每天傍晚伴你一起成长! Java 中的序列化和反序列化是一个重要的编程概念.它适用于所有主要的编程语言.在本章中,我们将尝试在Java语言的上下文中理解此概念.在本章的最后,我们 ...
- RFC 2597(assured forwarding PHB Group)
RFC 2597(保证转发每一跳行为组) PHB:Per-hop Behavior 路由器作用于数据流的行为. PHB的四种标准: 1)类选择码 CS,对应DSCP为XXX000 2)加速转发 EF ...
- elixir开发的项目_我对Elixir的介绍:学习另一种编程语言如何使您成为更好的开发人员...
elixir开发的项目 by Nikolas O'Donnell 由Nikolas O'Donnell 我对Elixir的介绍:学习另一种编程语言如何使您成为更好的开发人员 (My intro to ...
最新文章
- 使用编码的 UI 测试来测试 Windows 应用商店应用
- mysql隔离级别 简书_数据库事务和四种隔离级别
- Elasticsearch对地理数据查询(一)
- Spark 1.1.1 Submitting Applications
- 数据库表设计索引外键设计_关于索引的设计决策 数据库管理系统
- ddt-TypeError: test_add_department_1() missing 3 required positional arguments
- Android Studio connot resolve symbol XXX 无法解析的符号
- Unity 导航网格的使用
- 三菱FX3UFX2NFX1N PLC 模拟器模拟通信功能,模拟PLC实体
- 人机大战简史(第二版)
- 024 幂函数、指数函数、对数函数导数公式推导
- 锐道发布Dorado Dorado7标准件 -1.0.24 beta版
- Pandas知识点-绘制统计图
- 解决 xftp 远程目录显示乱码
- MaNGOS开源魔兽世界服务端
- 什么无线耳机音质最好,无线耳机品牌排行榜
- 计算机博士5篇sci,研究员送5篇SCI论文给女博士 SCI论文到底是啥
- USRP工作流程及各部分功能
- mysql数据库BKA算法详解
- “记忆力争夺战”走向尾声,“潜意识记忆营销”将成破局利器
热门文章
- 浪潮服务器如何安装win7系统,WIN7旗舰版操作系统中浪潮ERP-GS5.2安装说明.doc
- UG自定义工程图模板(一)
- 大数据可视化工程师岗位要求包括哪些?
- WordPiece、BPE详解及代码
- 接口限流算法(关于临界点处理)
- android京东源码下载,京东商城APP - 源码下载|通讯/手机编程|android开发|源代码 - 源码中国...
- 打造有身体的 AI丨记青源Workshop具身智能与机器人研讨会(2022年第8期)
- 注意力机制-CA注意力-Coordinate attention
- 简易数据分析 04 | Web Scraper 初尝--抓取豆瓣高分电影
- 用友u8服务器修改ipv4,用友U8-OA11.1 用友U8加密狗更换服务器了-用友U8