接口测试框架Rest-assured搭建与实战【附源码】
现在,越来越多的 Web 应用转向了 RESTful 的架构,很多产品和应用暴露给用户的往往就是一组 REST API,这样有一个好处,用户可以根据需要,调用不同的 API,整合出自己的应用出来。从这个角度来讲,Web 开发的成本会越来越低,人们不必再维护自己的信息孤岛,而是使用 REST API 互联互通。那么,如何确保 API 的稳定性与正确性呢?全面系统的测试是必不可少的,除了常见的postman、jmeter等接口测试工具外,今天给大家介绍一款非常火爆的接口测试框架Rest-Assured。
Rest-Assured 是一套由 Java 实现的 REST API 测试框架,它是一个轻量级的 REST API 客户端,可以直接编写代码向服务器端发起 HTTP 请求,并验证返回结果;它的语法非常简洁,是一种专为测试 REST API 而设计的 DSL。使用 Rest-Assured 测试 REST API,就和真正的用户使用 REST API 一样,只不过 Rest-Assured 让这一切变得自动化了。
官网地址: http://rest-assured.io/
官方文档: https://rest-assured.io/#docs
github项目地址: https://github.com/rest-assured/rest-assured
一、Rest-Assured框架搭建步骤
1.1 打开idea创建项目,选择maven相关设置点击下一步
1.2 输入包名及项目名称点击下一步
1.3 选择maven相关信息,点击下一步
1.4 项目名称和项目位置,一般默认就可以,点击完成
在项目的pom.xml中增加Rest-Assured的依赖包
3.1 接口业务介绍
案例我们将采用码同学全栈接口项目来进行实战操作
图示中的四个接口分别表示的业务是:
Get接口:根据id获取手机信息
POST接口:增加一个手机信息
3.2 测试代码
在src/test/java下创建一个包,起名叫phone,在该包下创建一个PhoneApiTests类
,代码如下:
执行结果如下:
3.3 代码解释
l given() 是RestAssured类下一个方法,所以官方文档强烈推荐我们使用静态导入语句;网络请求所需要的条件都写在这里,头信息、请求参数
l get方法,里面参数是url,用来发送请求
l post方法,里面参数也是url,用来发送请求
l then() 又是一个方法,可以理解成执行请求后要做什么事情
l statusCode(200) 这个方法名称就看得出来,是判断响应状态码是不是等于200
整个代码的意思我们可以连起来,以其中的post接口为例:
发起一个post请求,他的content-type是json,参数是xx,执行后针对响应状态码做断言
现在讨论下这种写法的好处,什么写法,就是一个方法后面利用点串联起来,形成一个像自然语言的句子一样。这种特点,有点像lambda表达语法效果。除了这个,也有一点像groovy这种胶水语言。通过这个例子,我明白了Rest Assured首页的这句话的含义。
二、使用rest-assured框架优雅实现接口测试断言
Appium移动端自动化测试--基础预热 Appium移动端自动化测试--搭建测试环境 Appium移动端自动化测试--录制测试用例并运行 Appium移动端自动化测试--使用IDE编辑并强化脚本 Appium移动端自动化测试--控件定位方法 Appium移动端自动化测试--元素操作与触摸动作 Appium移动端自动化测试--搭建模拟器和真机环境 Appium移动端自动化测试--测试用例改造 Appium移动端自动化测试--capability使用和常用设备交互命令
软件自动化测试交流群已创建,公号回复入群即可获取入群二维码。