我们做测试的人员们都知道测试完成后,肯定是会生成一个测试报告,那么当我们做自动化的时候,这个自动化报告也可以自动生成吗?python当然可以了!

HTMLTestRunner

HTMLTestRunner是Python标准库的unittest模块的扩展。它生成易于使用的HTML测试报告。

下载完成后直接放到我们代码文件夹中,也可以放在其他地方,只要我们用的时候,可以直接调用就OK

下载下来后可以先看下其中代码,能否找到一些简单的使用方法。(由于文件过大,这里我只呈现了部分我们需要用到的代码内容)

# 输出到文件
fp = file('my_report.html', 'wb')
runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='My unit test',description='This demonstrates the report output by HTMLTestRunner.')# 使用外部样式表。# 运行测试
runner.run(my_test_suite)

当然了我们只用这么多就可以生成报告了。

小试牛刀

话不多说,直接就是干,不过写之前我们先理下思路:

1、在unittest中编写测试用例
这里我还是直接调用前面写的通用代码了

# coding:utf-8
import unittest
import requestsclass   Music(unittest.TestCase):def select(self,name):url = 'https://api.apiopen.top/searchMusic'data = {"name":name}r = requests.post(url,data=data)b = r.json()['result'][0]['title']return bdef test01(self):b = '断桥残雪'a = self.select(b)self.assertEqual(b,a)print('这个是用例一')def test02(self):a = '说好不哭'b = self.select(a)self.assertEqual(a,b)print('这个是用例二')def test03(self):a = '芒种'b = self.select(a)self.assertEqual(a,b)print('这个是用例三')if __name__ == '__main__':unittest.main()

2、添加报告路径已经报告内容
通过os模块进行找到当前文件夹,使报告生成当前文件夹中

 # 当前文件夹路径report_path = os.path.dirname(os.path.realpath(__file__))# 测试报告地址report_abspath = os.path.join(report_path, "result.html")fp = open(report_abspath, "wb")# 报告详情runner = HTMLTestRunner_cn.HTMLTestRunner(stream=fp,title=u'自动化测试报告,测试结果如下:',description=u'用例执行情况:')

3、批量执行用例,导入测试报告内容中
通过unittest中执行用例的方法,来批量执行用例

 # 实例化testunit  = unittest.TestSuite()  # 加载用例testunit .addTests(unittest.TestLoader().loadTestsFromTestCase(Music))  # 执行用例runner.run(testunit)

4、当然是赶快执行查看报告内容啊
通过用例,我们可以看到这里已经完全生成报告了。

4、添加用例注释,增加报告完整性
当然肯定有的小伙伴们会说,这里不能看到通过的用例都是哪些?这个地方可以解决吗? python这么强大,这个肯定可以解决啊。不过需要我们在用例中添加注释。这样的话就会生成了详细内容。全部代码如下(添加注释后)

# coding:utf-8
import unittest
import requests
import os
from case import HTMLTestRunner_cnclass   Music(unittest.TestCase):def select(self,name):url = 'https://api.apiopen.top/searchMusic'data = {"name":name}r = requests.post(url,data=data)b = r.json()['result'][0]['title']return bdef test01(self):'''歌名:断桥残雪'''b = '断桥残雪'a = self.select(b)self.assertEqual(b,a)print('这个是用例一')def test02(self):'''歌名:说好不哭'''a = '说好不哭'b = self.select(a)self.assertEqual(a,b)print('这个是用例二')def test03(self):'''歌名:芒种'''a = '芒种'b = self.select(a)self.assertEqual(a,b)print('这个是用例三')if __name__ == '__main__':# 当前文件夹路径report_path = os.path.dirname(os.path.realpath(__file__))# 测试报告地址report_abspath = os.path.join(report_path, "result.html")fp = open(report_abspath, "wb")# 报告详情runner = HTMLTestRunner_cn.HTMLTestRunner(stream=fp,title=u'自动化测试报告,测试结果如下:',description=u'用例执行情况:')# 实例化testunit  = unittest.TestSuite()# 加载用例testunit .addTests(unittest.TestLoader().loadTestsFromTestCase(Music))# 执行用例runner.run(testunit)# 关闭报告fp.close()

怀着小小的激动去查看了生成的报告,果然没有令我失望,已经完成展现出来了~~

点赞关注~~加入我们,了解更多,642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。

unittest---unittest生成测试报告相关推荐

  1. 单元测试|unittest生成测试报告

    unittest生成测试报告 测试报告为测试结果的统计即展示,是自动化测试不可或缺的一部分,利用unittest 可以生成测试报告. 使用第三方 HTMLTestRunner 执行测试用例集,生成网页 ...

  2. unittest生成测试报告不成功的原因和解决方案

    辛苦搞了半天代码,用unittest框架生成测试报告时发现对应的目录下没有测试报告,看看右键执行时是不是执行的原本的文件名,还是前面带了unittest,如果带了unittest,解决方案如下. 解决 ...

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

    文章目录 1.任务目标 2.测试报告 3.任务实操 3.1任务目录 3.2任务代码 3.3执行结果 4.自动化测报告代码 4.1生成测试报告代码 4.2测试报告打开后结果 5.小结 1.任务目标 我们 ...

  4. unittest生成测试报告步骤

    1.下载HTMLTestRunner. 适合python3使用的:HTMLTestRunner.py_免费高速下载|百度网盘-分享无限制 把这个文件放在你安装python的lib目录下. 2.把用例替 ...

  5. Python3 完美解决unittest框架下不生成测试报告

    前提: 1.运行测试用例一切正常,只是没有测试报告显示 2.使用命令行pyhon 脚本名字.py 却可以生成测试报告 3.pycharm 在运行测试用例的时候 默认是以unittest 框架来运行的, ...

  6. selenium自动化测试、Python单元测试unittest框架以及测试报告和日志输出

    部分内容来自:https://www.cnblogs.com/klb561/p/8858122.html 一.基础介绍 核心概念:test case, testsuite, TestLoder,Tex ...

  7. 集成unittest与html测试报告

    常用断言: self.assertTrue() self.assertEqual() 集成HtmlTestRunner生成测试报告: testcase=unittest.TestSuite() tes ...

  8. python生成报告_python生成测试报告

    <最简洁的nose生成html报告方法> 安装: nose是继承于unittest的一个python单元测试框架. 属于第三方包,要使用,首先需要安装,推荐pip(解决依赖): pip i ...

  9. 高效测试必学 | 用pytest生成测试报告

    1.pytest-html生成报告 pytest借助pytest-html插件生成测试报告,不用自己编写生成报告代码. github源码地址: https://github.com/pytest-de ...

  10. pytest和allure生成测试报告

    文章目录 pytest简介 pytest和unittest区别 pytest使用自带的python-html 生成测试报告 由于自带生成测试报告的东西不是界面过于简单和不太美观可以使用allure 使 ...

最新文章

  1. js webpack 配置路径_webpack中如何设置html引入js的路径
  2. 将论文中的所有参考文献编号批量上标化
  3. 开启nginx状态监控
  4. Apache httpd服务
  5. mysql large pages_Linux HugePages及MySQL 大页配置
  6. cometd_CometD:Java Web应用程序的Facebook类似聊天
  7. 某系统有6台输出设备 有多个进程均需要使用2台_系统设计硬核知识(4)——操作系统的设备管理...
  8. 解决ubuntu未安装无线网卡驱动的问题
  9. 解决方案大全ImportError: libta_lib.so.0: cannot open shared object file: No such file or directory
  10. 动手学深度学习Pytorch Task08
  11. android 三方_面试官送你一份Android热门三方库源码面试宝典及学习笔记
  12. poj 3321 Apple Tree 树状数组
  13. Flash Media Server 4.5
  14. 7-3 判断素数 (10 分)
  15. ios 裁剪圆形头像_iOS如何将图片裁剪成圆形
  16. NPOI导出EXCEL 合并单元格、统计列、单元格样式设置
  17. 一个程序员的奋斗经历
  18. “梵高。向日葵”为什么值3亿
  19. 最小二乘支持向量机预测matlab实现,最小二乘支持向量机及其 Pre-computed Kernel 的 matlab 实现...
  20. Unity中实现文件加密

热门文章

  1. 面向对象(继承,多态,单态,魔术方法)
  2. 学习mysql_day3_高级查询1(聚合查询,聚合统计)
  3. 深度学习入门(三十七)计算性能——硬件(TBC)
  4. 华为轮值CEO郭平:与伙伴同行,打造智能社会五朵云之一
  5. 使用css制作跳动的心
  6. ati jti jwt 和_JWT jti和kid属性的说明
  7. 变形金刚2幕后制作解密
  8. java流程控制原理与方法_1.从本质上看,计算机控制系统的工作原理可归纳为三个步骤,以下不属这三个步骤的是 ( )。_学小易找答案...
  9. Google 主页空间测试报告
  10. 软考-架构师-第三章-数据库系统 第七节 数据库设计(读书笔记)