介绍
什么是接口测试
基于HTTP协议,通过代码或者工具模拟请求,检查服务器返回的响应结果是否符合接口说明文档的描述
接口测试的分类
系统对外的接口测试:比如你要从别人的网站或者服务器获取资源或者信息,别人肯定不会把数据库共享给你。他只能写一个方法,提供一个接口,我们通过接口访问他写好的方法,最终达到数据共享的目的系统内部的接口测试:前端显示的数据都是来自服务器,前端发送请求给服务器,服务器通过接口获取前端发送的请求,并返回响应数据
接口测试的意义
接口测试测的是服务端,检查服务器端是否做校验,保存服务器的安全性和稳定性接口测试属于集成测试阶段,介入时间早,更早发现bug,bug修复成本低接口测试的执行效率比较高接口测试比UI自动化测试更稳定,更适合做回归测试,满足后端快速发版的需求,实现持续集成,缩短项目周期
如何做接口测试
找开发要接口说明文档设计测试用例通过代码或者工具模拟请求
接口测试开发环境搭建
JDK、maven、IDEA
maven:找到maven安装路径,找到conf,找到settings.xml,在159行添加代码
nexus-aliyun
*
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
打开IDEA,新建项目,点击左侧maven,点击从原型创建,选择quickstart,下一步
给项目取名
选择对应版本新建包名
点击poxml,下载代码库
org.apache.httpcomponents
httpclient
4.5.13
org.testng
testng
6.8.8
test
代码实现
手工操作思路:打开浏览器→输入网址→敲回车→检查响应结果是否正确
代码思路:创建一个支持HTTP协议的客户端
可以理解为这是一种特殊的浏览器
构造网址
网址分为五部分:协议scheme、域名host、端口号port、路径path、参数parameter
创建请求
请求分为三部分:请求行、信息头、消息体
通过客户端把请求发送给服务器,最后从服务器获取响应结果
检查响应结果是否符合接口说明文档
代码实现
以微信公众平台测试账号为例
登录账号,可以获得自己的appID和appsecret
下方有可以体验的接口权限表
点击第一个获取access_token,查看接口说明文档,会有请求方式、参数说明以及返回码说明
打开IDEA,创建accesstokejava
构造网址
URI uri = new URIBuilder()
.setScheme('协议')
.setHost('域名')
.setPort(端口号)
.setPath('路径')
.setParameter('键','值')
.setParameter('键','值')
....
.build();
根据网址的五部分,带入到代码中
底部代码异常,点击添加异常到方法签名】
创建请求
通过client发送请求,获取响应结果
检查响应结果
状态行
信息头
消息体
测试结果
代码整合
文章为作者独立观点,不代表股票交易接口观点