Web自动化测试项目(四)测试报告

测试报告生成

使用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自动化的需求

原文地址:https://www.cnblogs.com/snailrunning/p/12236322.html

时间: 2024-10-09 16:56:45

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

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

一.项目需求 测试/生产环境更新后,自动化回归测试 项目易于维护和运行 支持多种测试策略 支持可视化测试报告 运行结果,支持多种方式通知相关人员 可定时/触发的方式运行自动化测试用例 二.设计 2.1 需要的技能 Python基础(面向对象) 熟悉Python引包机制 了解Html,Css,异步请求 熟练使用Selenium API(最好有读过源码) 熟练使用Python Uittest/Pytest 测试框架 了解PO设计模式 2.2 项目目录划分 ├── config │?? └── __i

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

一.日志作用 调试程序 了解系统程序运行的情况,是否正常 系统程序运行故障分析与问题定位 用来做用户行为分析和数据统计 二.为项目添加日志 └── utils ├── log_utils.py └── se_utils.py log_utils.py import logging.handlers import time class GetLogger(): logger = None @classmethod def get_logger(cls): if cls.logger == None

【WEB API项目实战干货系列】- API访问客户端(WebApiClient适用于MVC/WebForms/WinForm)(四)

这几天没更新主要是因为没有一款合适的后端框架来支持我们的Web API项目Demo, 所以耽误了几天, 目前最新的代码已经通过Sqlite + NHibernate + Autofac满足了我们基本的Demo需求. 按照既定的要求,我们的API会提供给众多的客户端使用, 这些客户端可以是各种Web站点, APP, 或者是WinForm, WPF, Silverlight等诸如此类的应用,将来还有可能是各种Iot等物联网设备的应用,Restful API凭借其诸多优势,已经在移动互联网的时代火了一

【Web自动化测试——代码篇四】常用方法——常见元素操作

浏览器这个大框架我们都能控制,区区页面小元素又能奈我们何!!!之前的[Web自动化测试--代码篇二]条条大路找元素 已经讲述了许多获取元素的方法,在此基础上我们来认识几个元素最常见的相关操作?(ˉ﹃ˉ?)   Java Python Ruby 输入内容 sendKeys(*value) send_keys(*value) send_keys(*value) 单击元素 click() click() click 清除文本 clear() clear() clear 提交表单 submit() su

Java+TestNG+Maven+Selenium的web自动化测试脚本环境的搭建

一.环境搭建 1.安装java环境 a. 安装JDK b.安装eclipse c.安装maven 参考:http://www.cnblogs.com/s1328/p/4620812.html 2.安装eclipse下的testng插件 Eclipse中点击Help->Install new software -> 点击Add 在Location输入 http://beust.com/eclipse 选中Testng版本,点击Next,按照提示安装,安装完之后重启Eclipse 3.安装fire

Sahi ---实现 Web 自动化测试

Sahi 是 Tyto Software 旗下的一个基于业务的开源 Web 应用自动化测试工具.Sahi 运行为一个代理服务器,并通过注入 JavaScript 来访问 Web 页面中的元素.Sahi 支持 HTTPS 并且独立于 Web 站点,简单小巧却功能强大.它相对于 Selenium 等自动化测试工具,在动态 ID 元素查找和隐式页面等待处理等方面具有一定的优势.选择 Sahi 工具来实现具体 Web 项目的自动化测试是一个很不错的选择. Web 测试背景 随着 Web 技术和互联网的发

使用 Sahi 实现 Web 自动化测试

Sahi 是 Tyto Software 旗下的一个基于业务的开源 Web 应用自动化测试工具.Sahi 运行为一个代理服务器,并通过注入 JavaScript 来访问 Web 页面中的元素.Sahi 支持 HTTPS 并且独立于 Web 站点,简单小巧却功能强大.它相对于 Selenium 等自动化测试工具,在动态 ID 元素查找和隐式页面等待处理等方面具有一定的优势.选择 Sahi 工具来实现具体 Web 项目的自动化测试是一个很不错的选择. Web 测试背景 随着 Web 技术和互联网的发

web自动化测试---概述

最早的时候是做功能测试,web都是自己手工点击看看有没问题,没有系统的进行测试,更别说自动化测试了,那是一段不堪回首的往事,就是因为这,很多问题都流出去了,这是作为测试人员的一大失职,痛定思痛,开始学些自动化测试的一些东西,感觉很是实用,所以现在回首一下,把一些知识点总结下,以便后续使用. 其他web自动化测试很早就有,测试工具也是层出不穷,如何选择适合自己和项目的测试工具非常重要,首先要能普及.易学习.易维护,能被大多数人所接受.比如之前有个项目组使用集成在firefox流量器上的seleni

Web自动化测试理论知识

Web 自动化理论知识 1.自动化测试概述概念:用工具代替/辅助人工完成完成软件测试活动的过程特点:    可以对程序的新版本自动执行回归测试    可以执行一些手工测试困难或不可能进行的测试    可以更好地利用资源    测试具有一致性和可重复性误区:    期望自动化测试发现大量新故障    安全性错觉    自动化测试的维护开销 2.自动化测试的优势重复多次执行测试时节省很多时间提高测试覆盖率和测试精度实现自动化回归测试减少工作量减少手工测试人为产生的错误 提供规范化的过程和一致性更好的