自动化测试教程(17)生成测试报告

简介: 631行print >>sys.stderr, ‘\nTime Elapsed: %s’ % (self.stopTime-self.startTime)改成:print (sys.stderr, ‘\nTime Elapsed: %s’ %(self.stopTime-self.startTime))我们之前的教程学会了,读取csv文件的方法,还有数据驱动,discover方法的使用,然后我们下面的内容讲解一下自动化的高级,这一小节我们学习一下自动化测试的生成测试报告。

文章目录

1.任务目标

我们之前的教程学会了,读取csv文件的方法,还有数据驱动,discover方法的使用,然后我们下面的内容讲解一下自动化的高级,这一小节我们学习一下自动化测试的生成测试报告。

2.测试报告

HTMLTestRunner,这是一个能生成一个HTML格式的网页报告的模块。我们使用这个模块呢,就可以直接来看测试用例的执行效果。下载后需要做一些修改来支持python3(附带文件中有修改好可直接使用的文件):94行import StringIO改成import io。

539行self.outputBuffer = StringIO.StringIO() 改成:self.outputBuffer=io.StringIO()

631行print >>sys.stderr, ‘\nTime Elapsed: %s’ % (self.stopTime-self.startTime)改成:print (sys.stderr, ‘\nTime Elapsed: %s’ %(self.stopTime-self.startTime))

642行if not rmap.has_key(cls): 改成:if not cls in rmap:

766行uo = o.decode(‘latin-1’),改成:uo=o

772行ue = e.decode(‘latin-1’) 改成 :ue = e

存放路径:将修改完成的模块存放在Python路径下Lib目录里面即可。

3.任务实操

3.1任务目录

3.2任务代码

读取csv文件代码test02

import csv
def rend():
    ps = r"E:\rest.csv"
    stem = open(ps, "r")
    tat = csv.reader(stem)
    list = []
    i = 0
    for row in tat:
        if i != 0:
            list.append(row)
        i = i + 1
    return list
if __name__ == '__main__':
    arr = rend()
    for row in arr:
        print(row)

test04包下驱动代码

import time
from selenium import webdriver
import ddt
import unittest
from test02 import rend
@ddt.ddt
class test_ds(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.maximize_window()
        self.driver.implicitly_wait(3)
    stem = rend()
    @ddt.data(*stem)
    def test_kd(self, list):
        try:
            self.driver.get("http://test.pandabrother.cn/gpracticef/my/login.html")
            self.driver.find_element_by_class_name('form-control').send_keys("liufengning")
            self.driver.find_element_by_id('input-password').send_keys("123456")
            self.driver.find_element_by_xpath('/html/body/div/div/div[1]/section/form/div[3]/button').click()
            self.driver.find_element_by_xpath('//*[@id="sidebar-menu"]/div/ul/li/a').click()
            self.driver.find_element_by_xpath('//*[@id="sidebar-menu"]/div/ul/li/ul/li[2]/a').click()
            self.driver.find_element_by_xpath(
                '/html/body/div[1]/div/div[3]/div/div[3]/div[2]/div/form/button[2]').click()
            self.driver.find_element_by_xpath('//*[@id="input-name"]').send_keys(list[0])
            self.driver.find_element_by_xpath('//*[@id="btn-save"]').click()
            emte = self.driver.find_element_by_id('out-tip').text
            self.assertEqual(emte, list[1])
            print("用例执行成功")
        except:
            print("用例执行失败")
            times = time.strftime("%Y-%m-%d-%H-%M-%S")
            self.driver.get_screenshot_as_file(r"E:\," + times + ".png")
    def tearDown(self):
        self.driver.quit()
if __name__ == '__main__':
    unittest.main()

生成测试报告的代码

# 生成测试报告
import unittest
# 引入HTMLTestRunner 生成测试报告的包
from HTMLTestRunner import HTMLTestRunner
import time
test_dir = "./text04"
ds = unittest.defaultTestLoader.discover(test_dir, pattern="test04.py")
if __name__ == '__main__':
    # 存放测试报告的路径
    report_dir = "./test_report"
    # 自动生成测试报告的时间
    now = time.strftime("%Y-%m-%d-%H-%M-%S")
    # 测试报告的名字
    report_name = report_dir + '/' + now + "report.html"
    # 获取路径并生成测试报告
    with open(report_name, 'wb') as f:
        ruun = HTMLTestRunner(stream=f, title="报告", description="HR")
        ruun.run(ds)
    # 关闭程序
    f.close()

3.3执行结果

运行结果

4.自动化测报告代码

4.1生成测试报告代码

这个代码他是自动生成的格式是html格式

4.2测试报告打开后结果

5.小结

我们本小结学习了生成测试报告,测试报告便于我们提交,再以后做项目的时候,都是以报告的形式提交的。

相关文章
|
1月前
|
人工智能 数据可视化 测试技术
Postman 性能测试教程:快速上手 API 压测
本文介绍API上线后因高频调用导致服务器告警,通过Postman与Apifox进行压力测试排查性能瓶颈。对比两款工具在批量请求、断言验证、可视化报告等方面的优劣,探讨API性能优化策略及行业未来发展方向。
Postman 性能测试教程:快速上手 API 压测
|
1月前
|
存储 关系型数据库 测试技术
玩转n8n测试自动化:核心节点详解与测试实战指南
n8n中节点是自动化测试的核心,涵盖触发器、数据操作、逻辑控制和工具节点。通过组合节点,测试工程师可构建高效、智能的测试流程,提升测试自动化能力。
|
3月前
|
JSON JavaScript 测试技术
用Postman玩转电商API:一键测试+自动化请求教程
Postman 是电商 API 测试的高效工具,涵盖基础配置、自动化测试、环境管理与请求自动化,助你快速提升开发效率。
|
29天前
|
机器学习/深度学习 人工智能 测试技术
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
EdgeMark是一个面向嵌入式AI的自动化部署与基准测试系统,支持TensorFlow Lite Micro、Edge Impulse等主流工具,通过模块化架构实现模型生成、优化、转换与部署全流程自动化,并提供跨平台性能对比,助力开发者在资源受限设备上高效选择与部署AI模型。
229 9
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
|
23天前
|
自然语言处理 前端开发 测试技术
使用 Playwright MCP 实现 UI 自动化测试
本文介绍如何结合Playwright与MCP协议实现智能化UI自动化测试。通过自然语言指令控制浏览器,降低技术门槛,提升效率,并涵盖环境搭建、核心功能、实战案例及最佳实践,展现对话式自动化的未来趋势。
|
2月前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
596 10
|
1月前
|
监控 测试技术 API
n8n自动化测试教程 (1):环境搭建与初识n8n
n8n是一款开源、可视化的工作流自动化工具,测试工程师可通过拖拽节点快速构建API测试流程,实现测试编排、数据管理、自动化监控与告警等功能,提升测试效率与覆盖率。
|
1月前
|
安全 Shell 持续交付
Debian Apache 自动化部署教程:4 种方法,从个人到企业批量装机
本文介绍在 Debian 系统中实现 Apache 自动化部署的 4 种实用方法,涵盖个人单机与企业批量部署场景。内容包括使用 Bash 脚本一键安装、通过 PXE 实现网络批量部署、借助 Ansible/Puppet 进行多机统一配置管理,以及利用 Preseed 文件自动完成安装配置。文章还提供操作示例与避坑建议,帮助用户提升部署效率,降低人为错误。
80 0
|
3月前
|
Web App开发 开发框架 .NET
Playwright 自动化测试系列(6)| 第三阶段:测试框架集成​指南:参数化测试 + 多浏览器并行执行
Pytest 与 Playwright 集成可提升自动化测试效率,支持参数化测试、多浏览器并行执行及统一报告生成。通过数据驱动、Fixture 管理和并行优化,显著增强测试覆盖率与执行速度,适用于复杂 Web 应用测试场景。
|
2月前
|
人工智能 IDE 测试技术
Browser-Use在UI自动化测试中的应用
Browser-Use是一款浏览器自动化工具,具备视觉与HTML解析、多标签管理、操作记录与复现、自定义操作、自我纠正及并行执行等功能,助力AI智能体高效完成网页任务。
229 0