测试报告生成

使用HTMLTestRunner 生成测试报告

本文使用的 HTMLTestRunner 来源于github:

https://github.com/githublitao/HTMLTestRunner_Chart

参考链接:

http://tungwaiyip.info/software/HTMLTestRunner.html

https://github.com/GoverSky/HTMLTestRunner_cn

  1. 把下载下来的HTMLTestRunner_Chart.py存放在utils目录里,并更名为HTMLTestRunnerChart.py
  2. 在run_case目录下创建run_login_case_report.py,测试登录用例集并生成报告
├── run_case
│   ├── __init__.py
│   ├── module_path.py
│   ├── run_login_case.py
│   └── run_login_case_report.py
└── utils
├── __init__.py
├── HTMLTestRunnerChart.py
├── constants.py
└── se_utils.py

修改HTMLTestRunnerChart.py

'
'
'
def generateReport(self, test, result):
report_attrs = self.getReportAttributes(result)
generator = 'HTMLTestRunner %s' % __version__
stylesheet = self._generate_stylesheet()
heading = self._generate_heading(report_attrs)
report = self._generate_report(result)
self.path = os.path.splitext(self.stream.name)[0] + ".json"
# 在这个方法下,添加下面一行代码,用于存储最近10次测试结果的Json
self.path = self.path.rsplit('/', 1)[0] + '/WebUiTestRet.json'
'
'
'

run_login_case_report.py

import unittest

from module_path import *
from test_case.test_login import TestLoginCase
from utils.se_utils import Driver
from utils.HTMLTestRunnerChart import HTMLTestRunner if __name__ == '__main__':
cases = unittest.TestLoader().loadTestsFromTestCase(TestLoginCase)
runner = HTMLTestRunner(
title="测试报告名称",
description="详细描述,例如测试的浏览器和环境",
stream=open(report_path, "wb"),
verbosity=2,
retry=0, # retry,指定重试次数,如果save_last_try 为True ,一个用例仅显示最后一次测试的结果。
save_last_try=True)
runner.run(cases)
# 所有用例运行完后关闭浏览器
Driver.quit_driver()
Driver.Driver = None

根据HTMLTestRunner_Chart要求为test_login.py 增加fixture,以获取用例失败后的截图

class TestLoginCase(unittest.TestCase):

    @classmethod
def setUp(cls) -> None:
cls.driver = Driver.get_driver()
`
`
`

小结

  • 根据Web自动化测试项目的流程,当你做到这里的时候,已经基本可以满足一般公司的Web自动化的需求

Web自动化测试项目(四)测试报告的更多相关文章

  1. Web自动化测试项目搭建目录

    Web自动化测试项目搭建(一) 需求与设计 Web自动化测试项目(二)BasePage实现 Web自动化测试项目(三)用例的组织与运行 Web自动化测试项目(四)测试报告 Web自动化测试项目(五)测 ...

  2. selenium3 web自动化测试框架 四:Unittest介绍及项目实战中的运用

    unittest介绍及运用,可以参考之前写的文章,除了未结合web自动化演示,基础知识都有了 https://www.cnblogs.com/wuzhiming/p/8858305.html unit ...

  3. Web自动化测试项目(五)测试结果通知

    一.邮件通知 使用第三方邮件发送库yagmail github地址:https://github.com/kootenpv/yagmail 安装 pip3 install yagmail demo.p ...

  4. Web自动化测试项目(二)BasePage实现

    一.BasePage介绍 创建一个BasePage类,对Selenium Api进行二次封装 为了快速创建项目并投产,用到的Selenium Api才进行封装,没用到的则不封装 优先封装最重要的几个方 ...

  5. Web自动化测试项目搭建(一) 需求与设计

    一.项目需求 测试/生产环境更新后,自动化回归测试 项目易于维护和运行 支持多种测试策略 支持可视化测试报告 运行结果,支持多种方式通知相关人员 可定时/触发的方式运行自动化测试用例 二.设计 2.1 ...

  6. Web自动化测试项目(七)日志

    一.日志作用 调试程序 了解系统程序运行的情况,是否正常 系统程序运行故障分析与问题定位 用来做用户行为分析和数据统计 二.为项目添加日志 └── utils ├── log_utils.py └── ...

  7. Web自动化测试项目(六)多环境执行

    需求 使用命令行运行脚本,可以指定测试/预发布/生产环境的url,如果找不到该环境变量则默认为测试环境 python3 xxxxxx.py test 修改constants.py # DOMAIN = ...

  8. Web自动化测试项目(三)用例的组织与运行

    一.Unittest用例组织 在test_case目录下创建test*.py,组织测试用例 ├── test_case │   ├── __init__.py │   └── test_login.p ...

  9. web自动化测试实战之生成测试报告

    同志们,老铁们,继上篇文章 web自动化测试实战之批量执行测试用例 之后我们接着继续往下走,有人说我们运行了所有测试用例,控制台输入的结果,如果很多测试用例那也不能够清晰快速的知道多少用例通过率以及错 ...

随机推荐

  1. Redis安装(单机及各类集群,阿里云)

    Redis安装(单机及各类集群,阿里云) 前言 上周,我朋友突然悄悄咪咪地指着手机上的一篇博客说,这是你的博客吧.我看了一眼,是之前发布的<Rabbit安装(单机及集群,阿里云>.我朋友很 ...

  2. 假期汇总表handler中涉及的基础知识

    1,stringBuffer 的常用方法,append () 方法, public StringBuffer append(boolean b) 追加内容到当前StringBuffer对象的末尾 ,我 ...

  3. linux下安装MariaDB数据库

    搜素某个文件:find / -name '文件名(或文件夹名)' 1.编辑yum源:vi /etc/yum.repos.d/MariaDB.repo 2.编辑文件时用到的vi命令: vi 打开一个不存 ...

  4. Oracle 11g静默安装

    1.检查安装包 安装依赖包 yum -y install gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elf ...

  5. 机器学习之——集成算法,随机森林,Bootsing,Adaboost,Staking,GBDT,XGboost

    集成学习 集成算法 随机森林(前身是bagging或者随机抽样)(并行算法) 提升算法(Boosting算法) GBDT(迭代决策树) (串行算法) Adaboost (串行算法) Stacking ...

  6. Asp.net Core Session 存储任意对象

    using Microsoft.AspNetCore.Http; using Newtonsoft.Json; public static class SessionExtensions { publ ...

  7. jsp 知识点总结

    JSP 入门案例(计算器的实现) 对于jsp 学习的一些总结 1.使用Dreamweaver 搭建网页 计算器 第一个数字 符号 + - * / 第二个数字 <form id="for ...

  8. 「洛谷P3469」[POI2008]BLO-Blockade 解题报告

    P3469[POI2008]LO-Blockade 题意翻译 在Byteotia有n个城镇. 一些城镇之间由无向边连接. 在城镇外没有十字路口,尽管可能有桥,隧道或者高架公路(反正不考虑这些).每两个 ...

  9. 傅立叶变换—DFT

    背景:最近看到实验室其他同学在用傅立叶变换解决问题,我也想通过并行来解决这个问题,所以看了一下傅立叶变换的东西,感觉涵盖的东西还能多,我只是初步做了一下了解(一定很片面,但是我主要是为了应用它,主要了 ...

  10. 【转】13个JavaScript图表(JS图表)图形绘制插件

    现在网络上又有越来越多的免费的(JS 图表)JavaScript图表图形绘制插件.我之前给一家网站做过复杂的图形,我们用的是 highchart.在那段时间,没有很多可供选择的插件.但现在不同了,很容 ...