此框架是基于python的unittest单元测试框架写的。写的有点简单,有些地方可能不是很完整,后期在逐步完善。
先来看下框架的目录布局:
common :公共的方法目录
conf: 配置文件存放目录
data :测试数据目录
library :存放一些下载第三方的模块
logs:日志文件存放的目录
reports :测试报告存放目录
testcases:测试用例类模块目录
run_test.py:主程序,项目的启动文件
前面Python专栏里分开写过每个模块的使用
这里只需要把它们组合起来,然后通过各模块之间的调用,运行主程序来完成:读取excel用例数据、读取配置文件数据、ddt数据驱动自动获取用例、执行测试用例、生成日志文件,测试报告。
整个项目结构如下:
先看下common目录的构成:都是一些封装好的方法
all_paths.py
这里把所有文件的目录路径都写在这里用变量接收,获取的时候直接调用变量就行。
import os
dir_name1=os.path.dirname(os.path.abspath(__file__))
dir_name=os.path.dirname(dir_name1)
log_path=os.path.join(os.path.join(dir_name,'logs'),'log.log')#log文件路径
casexlsx_path=os.path.join(os.path.join(dir_name,'data'),'case.xlsx')#测试用例excel文件路径
report_path=os.path.join(os.path.join(dir_name,'reports'),'report.html')#测试报告文件路径
config_path=os.path.join(os.path.join(dir_name,'conf'),'conf.yaml')#配置文件路径
case_path=os.path.join(dir_name,'testcases')#测试用例代码路径
excel_handler.py 操作excel的方法,主要用于读取测试用例。
import openpyxl
class ExcelMothed:
def __init__(self,filepath,sheet):
self.filepath=filepath
self.sheet=sheet
def open_excel(self):
'''打开excel'''
workbook=openpyxl.load_workbook(self.filepath)
return workbook
def get_sheet(self):
'''获取Sheet表单'''
workbook=self.open_excel()