源码:
from BeautifulReport import BeautifulReport
#一个测试报告生成的第三方库,之前用过HTMLTestRunner库生成测试报告,但是效果不怎么好,这个库看着更舒服一些
import unittest
import os
import sys
import time
#下面的都是自己封装的一些类,方法,在这里调用
from public.emailx import new_file,send_email
#new_file:查询最近更新的测试报告,send_email:发送new_file查询到的测试报告到指定邮箱
from test_cases.test01_** import Co_001
#第一个模块的测试用例文件
from test_cases.test02_*** import Co_002
#第二个模块的测试用例文件
#设置各个路径,否则vscode会报错
current_path = os.getcwd() #获取当前路径
cash_path = os.path.join(current_path,"pc\\co_backstage\\test_cases") #设置用例路径
report_path = os.path.join("D:\\Automation\\pc\\co_backstage\\test_reports") #设置测试报告保存地址
#加载测试用例,test*,py是指所有test开头的文件,cash_path是上面设置的用例路径
discover = unittest.defaultTestLoader.discover(cash_path,pattern="test*.py")
#是不是感觉代码很少,没错,封装的越好,代码就越少,直接main函数下面就是调用之前封装好的各个模块的代码了
if __name__ == "__main__":
#生成测试报告名
now = time.strftime("%Y-%m-%d %H_%M_%S",time.localtime(time.time()))
#将此时的日期,时间赋值给now变量
filename = 'D:\\Automation\\pc\\co_backstage\\test_reports\\用例测试报告'+ now +'.html'
文件保存位置+文件名+后缀,保存成html的格式
fp = open(filename,'wb')
#打开这个新生成的html文件
#执行上面加载的测试用例并生成测试报告
runner = BeautifulReport(discover)
runner.report(filename='用例测试报告' + now, description='用例描述',log_path=report_path)
#发送邮箱,这里就是运用我们之前封装的模块进行发送测试报告到邮箱了
report_path = new_file()
new_report = report_path
send_email(new_report)
只要封装的好,基本上就都是这种直接导包调用,只有底层的测试用例需要一点一点的写,当然我封装的也不是很好,没办法,野路子
由于这里我基本上都导的之前封装的包,对于小白来说可能不大友好,下面我挂上每篇文章的连接,大家可以跳着看
第一篇:web自动化测试全套(一:架构介绍,邮件模块包代码)
第二篇:web自动化测试全套(二:公共模块包)
第三篇:web自动化测试全套(三:test__.py用例文件代码)