接口自动化设计
Posted 思佳丽
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口自动化设计相关的知识,希望对你有一定的参考价值。
一.引入依赖
1.fastjson:用来将表格里的json格式转化为map格式;
2.testng:自动化框架;
3.rest-assured:接口请求;
4.easypoi-annotation,easypoi-base:读取excel表格的用例数据;
5.commons-dbutils:连接数据库;
6.mysql-connector-java:数据库驱动;
7.allure-testng:生成测试报告
二.excel测试用例表格
表格内容:序号,接口模块,用例标题,请求头,请求方式,接口地址,参数输入,期望返回结果,提取返回数据,数据库校验。
1.接口模块:在接口请求中可以加入接口模块打印出日志,更清晰明了;
2.请求头:
(1)请求头里面的token需要前面的接口传入,需要先把前面接口得到的token数据存入全局环境变量中,再通过正则表达式把环境变量的token值传给请求头接口的token值;
(2)因为不同的Content-Type在请求的given()里传入的格式不同,请求头里的Content-Type要根据值的结果分情况处理
1)application/json;charset=UTF-8:given().body(resinputparams)
2)multipart/form-data:given().multiPart(photofile)
3.请求方法:因为不同的请求方式的请求内容不同,所以请求方法要根据方法不同分情况处理。
4.接口地址:excel里的接口地址为baseUrl后面的地址,baseUrl写在beforetest里
RestAssured.baseURI = "http://api.lemonban.com/futureloan";
5.参数输入
(1)传入自定义参数或随机参数:先把参数存入全局环境变量中,用正则表达式传入参数;
(2)上一个结果的参数:先把上一个结果的参数存入全局变量中,用正则表达式传入
6.期望返回数据
(1)传入自定义参数或随机参数:先把参数存入全局环境变量中,用正则表达式传入参数;
(2)上一个结果的参数:先把上一个结果的参数存入全局变量中,用正则表达式传入;
(3)json格式里的key为response的gpath
7.提取返回数据
如果这个接口有返回数据,则在返回数据中写入要提取的数据,在通过二次封装的方法存入环境变量中
(1)提取返回数据的key为存入环境变量的key;
(2)提取返回数据的value为response的gpath
8.数据库校验
如果要进行数据库断言,则在数据库校验中填写SQL语句和期望结果
三.PO分层设计
1.pom.xml文件:添加框架和依赖
2.读取数据的类
用easypoi依赖映射表格
3.存放数据的类
(1)存放直接写入的数据;
(2)存放定义的变量;
(3)存放代码生成的数据;
(4)存放接口响应的数据
4.存放公共方法的类
把在用例中要使用的操作进行二次封装,存放在一个base类里。
5.用例类
继承base类。一个类存放一个接口的正常和异常用例,如果一个接口的用例需要依赖上一个接口的响应数据,则需要把上一个接口作为前置条件,然后把上一个接口的响应数据传给下一个接口。
四.集成
1.log4j
2.allure报告
3.Jenkins集成
以上是关于接口自动化设计的主要内容,如果未能解决你的问题,请参考以下文章
【python接口自动化】在业务流程特别长的情况下,如何设计接口自动化?