链接:https://blog.51cto.com/u_15057832/3590595
项目说明:Python+pytest+requests+allure+jenkins而设计的数据驱动+关键字驱动的接口自动化测试框架
技术栈:Python、pytest、requests、pactverity、Excel、json、mysql、yaml、logbook、Git、Jenkins
项目功能介绍:实现Excel、yaml、json维护测试用例、支持数据库操作,利用封装的请求基类调取相应的测试用例接口,获取配置文件中的环境地址和环境变量,结合pytest进行单元测试,根据测试的范围,使用logbook进行记录日志,并生成allure测试报告,最好进行Jenkins集成项目实现集成部署,并发送测试报告邮件。
工具类封装
log日志:方便测试开发调试时进行排错纠正或修复优化,日志可选择是否打印在屏幕上,日志格式可调整
日志时间、日志等级、文件名、函数名、行号、日志内容、日志存放地址
运行项目后,会在项目文件log中自动生成一个以当天日期命令的log文件,可查看日志详情,运行时所记录的日志或报错日志。
配置文件:username、password、环境变量,获取配置值,通过key与value的定义来获取值
Api接口请求:获取相关测试用例及接口用例配置,记录请求相关参数的日志,定义allure测试报告的步骤
Excel数据处理:类定义如何获取Excel中的相关数据
xlrd.open_workbook(self.file_name)
Json数据处理:获取json文件中具体字段的值
with open() as f: data = json.load(f)
yaml数据处理:获取yaml文件中的值
基类封装
请求基类封装:GET、POST等,requests请求来实现接口的调用与返回(接口地址、请求参数、cookie参数、header参数)
接口测试用例编写
接口测试用例
allure2测试报告
运行时生成json文件,转化成html形式:allure命令:allure generate report -o allure_result/
数据驱动(ddt): 从数据文件读取输入数据,而后将测试数据传入测试脚本,不同数据对应不同测试用例,达到数据和脚本分离的效果
数据源:数据集合、csv文件、excel文件、json文件、yaml文件、数据库
优点:提高测试脚本灵活性,增加测试覆盖面,提高应对测试对象的变更能力,更新测试用例增删改查,变量的参数化不同数据文件对应不同测 试用例
使用:parameterized
包含装饰器:
页面对象模型(POM)
1、pytest框架
2、selenium框架
3、关键字驱动、数据驱动
4、持续集成
5、装饰器、前后接口关联
6、封装
7、Excel
优点
用例设计、接口关联、
8、yaml
优点
用例设计、接口关联
持续集成Jenkins (Linux环境):
步骤:
面试题:https://www.cnblogs.com/Mrsun123/articles/15221914.html