接口自动化设计

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集成

以上是关于接口自动化设计的主要内容,如果未能解决你的问题,请参考以下文章

1-1 接口自动化测试框架从设计到开发

【python接口自动化】在业务流程特别长的情况下,如何设计接口自动化?

接口自动化的设计

分布式接口自动化测试平台

python接口自动化-有token的接口项目使用unittest框架设计

最全面的Java接口自动化测试实战