pytest+allure+django测试框架设计思路【持续更新】_tester_孙大壮的博客-爱代码爱编程
测试工作中常常会python开发一些小工具加快测试速度,但是工具多了之后发现工具之间有一大部分耦合的部分,不如直接开发出一个框架,可以减小开发成本。一开始开发中只想到用django便于后期向平台化拓展,但是考虑到报表等问题,加入了pytest+allure.
整体结构大概如下
django project
这里是django的公共配置,使用命令django-admin start project后会自动生成该配置
util
这里是一些公共的配置,涉及到几个常用的工具用到面向对象的概念
db util
因为可能涉及到不同数据库的操作,文件中包含多个类,其中不同数据库为不同的类,类进行初始化时建立DB连接,重写__del__,当类进行销毁时关闭连接,select写成对象中的一个方法,需要获取读取的结果,delete,update,insert等写成一类方法,当执行改类操作失败时,需要回滚。另外实例化不同数据库写到一个类的不同方法中,同时根据配置信息实例化类。
config util
类进行初始化时对文件进行读,获取不同的配置信息封装在一个方法中。
request util
将send request根据项目的需求,封装成一个方法,分别进行get post put delete等操作,涉及到session将session当作类变量,当类进行不同的实例化时,session不会根据实例化而改变,将session的close操作封装在log out方法里,request分为log in ,log out,send request等方法。
test
这里主要是测试用例的校验逻辑,统一写一个py文件,用于执行目录下的测试用例,并将py文件写成服务化,可以根据调用服务的传参确定跑哪些文件。