自动化测试框架-项目
2022/4/27 23:12:41
本文主要是介绍自动化测试框架-项目,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
自动化测试
链接: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
包含装饰器:
-
-
- 类装饰器
- ddt这个类必须装饰在TestCase的子类上
- 方法装饰器
- data:直接提供测试数据
- file_data:从json、yaml文件中加载测试数据 使用yaml文件必须使用@needs_yaml装饰器
- 测试数据通过data或file_data装饰器传输给测试方法
- 一组测试数据有有个参数,则需@uppack装饰你的测试方法
-
页面对象模型(POM)
1、pytest框架
2、selenium框架
3、关键字驱动、数据驱动
4、持续集成
5、装饰器、前后接口关联
6、封装
7、Excel
优点
用例设计、接口关联、
8、yaml
优点
用例设计、接口关联
持续集成Jenkins (Linux环境):
步骤:
- 将代码上传到公司git
- 找Linux机器,在Linux下安装Jenkins(tomcat)、python3、pytest、allure、openyxl
- 启动Linux下的Tomact,然后在网页打开Jenkins服务地址
- 创建一个job,job需要填写
- 选择丢弃旧的构建,天数自己设定、
- 限制项目运行节点、
- git上代码拉下来、
- 执行shell(一般在root/.jenkins里),最好chmod修改整个工程目录权限
- 构建后操作:需要安装allure 才能看到allure report (json文件、html文件)
- 立即构建并查看报告,job执行后,点击allure report查看最终报告
面试题:https://www.cnblogs.com/Mrsun123/articles/15221914.html
这篇关于自动化测试框架-项目的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南