python项目实战--run_All执行所有测试用例(六)
2019-11-13 本文已影响0人
orange_ade
一、文件创建
前几篇已经将unittest框架中的大部分内容进行了解释说明,这里讲解最终如果我们想要一次性将testCase下所有用例执行完成应该如何实现。
- 在study_test项目根目录下创建文件:run_All.py,代码如下:
#!/usr/bin/python
# coding=utf-8
import unittest
from BeautifulReport import BeautifulReport
from config.globalparameter import *
suite = unittest.defaultTestLoader.discover(start_dir=test_case_path, pattern='test*.py')
if __name__ == '__main__':
result = BeautifulReport(suite)
result.report(filename='****系统接口自动化测试报告'+time.strftime('%Y%m%d%H%m', time.localtime()), description='****系统接口自动化测试报告', report_dir=report_path)
- BeautifulReport用于生成 HTML的测试报告,在pycharm中直接用install安装(具体方法百度),也可使用Python自带工具pip安装。
二、代码解释
- 安装BeautifulReport库后,直接import导入。同时引入config文件夹下globalparameter.py文件中的所有方法,用于执行测试时查找到testCase文件夹下所有以test开头的用例
- suite = 后面为固定写法,其中start_dir为用例所在位置(test_case_path在globalparameter.py文件中已赋值)
- pattern 确定执行start_dir路径下以test开头的.py文件
- result、result.report固定写法,filename报告名+执行脚本时间、description报告描述、report_dir报告存放路径
最后运行run_All.py文件,可在对应文件目录中打开HTML文件执行用例结果.png
浏览器查看结果:报告查看.png
三、补充
【这里有个容易出错的地方】filename='****系统接口自动化测试报告'+time.strftime('%Y%m%d:%H%m', time.localtime()),这里我在报告名称后面加上了当前时间,使用了:号。由于文件夹中的文件名不允许使用这个符号导致最后生成的html文件名中没有html后缀错误报告名.png
下一篇将讲解:执行完所有用例后自动发送邮件