一、被测产品

PetStore宠物商城:

一个在线的小型的商城。

主要提供了增删查改等操作接口。

结合Swagger实现了接口的管理。

二、需求说明

完成宠物商城宠物查询功能接口自动化测试。

编写自动化测试脚本。

完成断言。

三、相关知识点

形式

章节

描述

知识点

接口请求方法

http接口请求方法构造

知识点

接口请求参数

http接口请求参数构造

知识点

接口请求体-json

http接口请求体为json格式

知识点

接口响应断言

http接口响应状态码断言

四、接口自动化测试实战

五、宠物商店需求分析

被测产品:宠物商店系统-查询宠物信息

宠物商店接口文档:

六、接口测试用例设计

宠物查询单接口用例:

七、编写接口自动化测试脚本思路

查询宠物信息:

八、编写自动化测试脚本

1、基础脚本

classTestPetstorePetsearch:defsetup_class(self):查询接口请求参数params={"status":"available"}状态断言_code==200配置日志获取当前工具文件所在的路径root_path=((__file__))创建日志记录器,指明日志保存路径,每个日志的大小,保存日志的上限file_log_handler=RotatingFileHandler(([log_dir_path,'']),maxBytes=1024*1024,backupCount=10)日志输出到控制台的句柄stream_handler=()为全局的日志工具对象添加日志记录器设置日志输出级别(level=)

3、脚本参数化

使用pytestparametrize装饰器,实现宠物状态的参数化。

@("status",["available","ping","sold"])

4、生成测试报告

安装allure相关依赖。

生成报告在线服务,查看报告allureserve./report/
九、总结

通过swagger文档获取接口信息;

使用Requests发出携带请求参数的GET请求;

断言响应是否符合预期;

添加Log日志;

使用参数化方法实现一条用例可执行多个测试数据;

生成Allure测试报告。