Java 接口自动化系列--用例类之BaseCase 基础父类
接口自动化的思路步骤,所有的测试方法需要完成的事情
1、参数化替换
2、数据库前置查询结果(数据库断言 必须在接口执行前后都查询)
3、调用接口
4、断言响应结果
5、添加接口响应回写内容
6、数据库后置查询结果
7、数据库断言
8、添加断言回写内容
9、添加日志
10、报表断言
测试类都按照以上10个步骤完成所有的调用,接口自动化主要介绍三个接口,注册、登录和提现,其中提现需要登录后才可以操作
BaseCase主要封装三个接口都会用的公共部分,三个接口的测试用例类都继承该类
@step @Description 是报表插件Allure里的使用方法,用于描述方法,使报告更清晰
1、因为每个接口的每个用例都需要执行三遍(项目使用简体、繁体、英文三种语言),所以在父类里就封装好根据语言执行三遍,再在具体的测试类中去重写具体执行接口的方法
2、第三个步骤的调用接口方法call,用于读取接口地址、请求方式、请求类型、请求参数、接收响应数据
2、addWBD方法,添加回写对象到集合中
把行号、列号、响应内容获取后存到list集合里
3、assertResponse方法,响应内容断言
作为一个公共方法是为了方便断言时,可以加减断言的方式,这里只判断了两种,多字段并值匹配和单字段等值匹配
多字段断言时,需要在用例表格中添加一行,设计期望表达式的格式数组类型,然后采用jsonpath解析
4、replace方法,参数替换
该方法主要是在用例中使用参数化,所有的代码都是直接从用例中去读取,如果直接读取的话, 取出来的数据是变量,无法解析,这里需要另外写一个方法用于新的参数代替直接读取到的参数, 这里封装了两个方法
一个是通过读取配置的方式替换,这种方式还需要读取文件,关流,这种方式需要在项目初始化的时候去读取配置文件,一个是通过正则的方式替换,本项目采用了第二种方式
env是一个map集合,用于存储从用例表中读取到的参数集合
5、init方法 初始化
初始化方法用于读取在配置 文件中存放的参数,使用读取配置的方式就要初始化,否则不用
6、finish方法,接口执行完毕后,把执行结果写到用例表中