unittest多线程生成报告-----BeautifulReport
2023-09-09 13:19:04
原文地址https://www.cnblogs.com/yoyoketang/p/8404204.html
前言
selenium多线程跑用例,这个前面一篇已经解决了,如何生成一个测试报告这个是难点,刚好在github上有个大神分享了BeautifulReport,完美的结合起来,就能生成报告了。
环境必备:
- python3.6 : BeautifulReport不支持2.7
- tomorrow : pip install tomorrow安装
- BeautifulReport : github下载后放到/Lib/site-packages/目录下
BeautifulReport
1.BeautifulReport下载地址:BeautifulReport
2.下载方法:
- 方法一 会使用git的直接用git下载到本地
- git clone https://github.com/TesterlifeRaymond/BeautifulReport
- 方法二 点Clone or Download按钮,Download ZIP就能下载到本地了
2.单个测试脚本test_a.py参考
# coding:utf-8 import unittest
from selenium import webdriver
import time class Testaa(unittest.TestCase):
u'''测试用例a的集合'''
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Firefox() def setUp(self):
self.driver.get("https://www.cnblogs.com/yoyoketang/") def test_01(self):
u'''用例1:用例1的操作步骤'''
t = self.driver.title
print(t)
self.assertIn("悠悠", t) def test_02(self):
u'''用例2:用例2的操作步骤'''
t = self.driver.title
print(t)
self.assertIn("悠悠", t) def test_03(self):
u'''用例3:用例3的操作步骤'''
t = self.driver.title
print(t)
self.assertIn("悠悠", t) @classmethod
def tearDownClass(cls):
cls.driver.quit() if __name__ == "__main__":
unittest.main()
3.run_all代码
# coding=utf-8
import unittest
from BeautifulReport import BeautifulReport
import os
from tomorrow import threads # 获取路径
curpath = os.path.dirname(os.path.realpath(__file__))
casepath = os.path.join(curpath, "case")
if not os.path.exists(casepath):
print("测试用例需放到‘case’文件目录下")
os.mkdir(casepath)
reportpath = os.path.join(curpath, "report")
if not os.path.exists(reportpath): os.mkdir(reportpath) def add_case(case_path=casepath, rule="test*.py"):
'''加载所有的测试用例'''
discover = unittest.defaultTestLoader.discover(case_path,
pattern=rule,
top_level_dir=None)
return discover @threads(3)
def run(test_suit):
result = BeautifulReport(test_suit)
result.report(filename='report.html', description='测试deafult报告', log_path='report') if __name__ == "__main__":
# 用例集合
cases = add_case() print(cases)
for i in cases:
print(i)
run(i)
4.报告效果图
备注:BeautifulReport是某大神在github分享的框架,这里借花献佛了,更多使用方法参考地址:https://github.com/TesterlifeRaymond/BeautifulReport
BeautifulReport下载地址:
https://pan.baidu.com/disk/home#/all?vmode=list&path=%2Fpython%E6%8E%A5%E5%8F%A3%E8%87%AA%E5%8A%A8%E5%8C%96--unittest--beautifulReport
最新文章
- Entity Framework 与 面向对象
- MvcPager使用的Demo(同步分页)
- nagios二次开发(三)---nagiosql架构简介
- cocos2dx 3.4 截图代码
- logstash gsub替换
- Hihocode 1015 KMP算法
- 备胎的养成记KeepAlived实现热备负载
- 源码中的哲学——通过构建者模式创建SparkSession
- deeplearning.ai 卷积神经网络 Week 2 深度卷积网络:实例研究 听课笔记
- 如何使用idea给系统平台添加子应用和应用的模块
- orabbix监控oracle
- Lodop导出excel及提示成功【回调和直接返回值】
- 【Java】 剑指offer(46) 把数字翻译成字符串
- VFS: Cannot open root device ";nfs"; or unknown-block(0,255)错误的解决
- windows2008 安装oracle10g“程序异常终止。发生内部错误。请将以下文件提供给oracle技术支持部门
- 【JavaScript&;jQuery】单选框radio,复选框checkbox,下拉选择框select
- activate mod_rewrite How To Set Up mod_rewrite for Apache on Ubuntu 14.04 Apache Rewrite url重定向功能的简单配置
- [置顶]
 Kubernetes1.7新特性:支持绕过docker,直接通过containerd管理容器
- 【翻译】Apache软件基金会1
- 虚拟机VMware Workstation cannot connect to the virtual machine
热门文章
- F#周报2018年第50期
- {Django基础九之中间件} 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证
- servlet @WebServlet注释的用法
- =[Mathematics] 数学主题
- Flink – metrics V1.2
- 20165336 实验一 Java开发环境的熟悉
- oracle按照指定列分组合计group by rollup()
- python-面向对象-13_文件
- error: Microsoft Visual C++ 14.0 is required(line_profiler模块安装失败的解决办法)
- redis.conf密码设置的问题