每天进步一点点,关注我们哦,每天分享测试技术文章
本文章出自【码同学软件测试】
码同学公众号:自动化软件测试,领取资料可加:magetest
码同学抖音号:小码哥聊软件测试
现在,越来越多的 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创建maven项目
1.1 打开idea创建项目,选择maven相关设置点击下一步
1.2 输入包名及项目名称点击下一步
1.3 选择maven相关信息,点击下一步
1.4 项目名称和项目位置,一般默认就可以,点击完成
2配置Rest-Assured相关依赖
免费领取码同学软件测试课程笔记+超多学习资料+完整视频+面试题,可加微信:magetest
在项目的pom.xml中增加Rest-Assured的依赖包
3Rest-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首页的这句话的含义。
本系列将会连载哦,请持续关注
免费领取码同学软件测试课程笔记+超多学习资料+学习完整视频 ☞ 可加:magetest/关注码同学公众号:自动化软件测试
本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。