课堂 ppt
PPT地址
实战内容
接口自动化测试实战
单接口校验
- 调通正向用例
- 通过参数化的方式实现不同参数组合的测试
业务场景校验
- 把几个接口组成业务场景
- 对每个接口的响应字段正确性进行断言
- 对业务场景的实现进行断言(可以通过接口调用或者数据库查询)
ApiObject
日志设置
# 设置 loging
# 指定 log 日志的存放位置(需要先创建目录,否则会报错)
# 指定日志的编码格式
fileHandler = logging.FileHandler(filename="../logs/apitest.log", encoding="utf-8")
# 设置日志的等级
logging.getLogger().setLevel(0)
# 设置日志的内容格式
formatter = logging.Formatter('%(asctime)s %(name)s %(levelname)s %(module)s:%(lineno)d %(message)s')
fileHandler.setFormatter(formatter)
# 设置生效
logging.getLogger().addHandler(fileHandler)
jsonpath
- 官网:https://github.com/json-path/JsonPath
- jsonpath 在线测试:JSONPath解析器 - 一个工具箱 - 好用的在线工具都在这里!
常用表达式
- $ 根节点
- . 子节点
- … 深层扫描
- [?(@.xxx)] 过滤表达式
框架封装思路
- apis:接口描述
- base_api:和业务无关,底层通用技术
- wework:和业务强相关,进行 token 获取
- departments:具体的业务接口的描述,描述了接口的请求参数,请求方法等等
- testcase:测试用例以及辅助方法
- test_department:测试用例,包括具体的数据准备、接口调用,断言
- utils:公共方法,比如 yaml 读取,断言方法
- data:存放数据
- conf.yaml 存放配置数据
- logs:存放日志