• 生产html测试报告


       批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成 HTML 格式的。unittest 里面是不能生成 html 格式报告的,需要导入一个第三方的模块:HTMLTestRunner

    1、导入 HTMLTestRunner

    1).这个模块下载不能通过 pip 安装了,只能下载后手动导入,下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html

    2).Download 下 HTMLTestRunner.py 文件就是我们需要下载的包。
    3).下载后手动拖到 python 安装文件的 Lib 目录下

    2 demo 解析

    1).下载 Download 下的第二个文件 test_HTMLTestRunner.py,这个就是官方给的一个测试 demo 了,从这个文件可以找到该模块的用法。
    2).找到下图这段,就是官方给的一个 demo 了,test_main()里上半部分就是加载测试 case,我们不需要搞这么复杂。
    3).最核心的代码是下面的红色区域,这个就是本篇的重点啦。

    3、生成 html 报告

    1).我们只需把上面红色区域代码 copy 到上一篇的基础上稍做修改就可以了,这里主要有三个参数:
    --stream:测试报告写入文件的存储区域
    --title:测试报告的主题
    --description:测试报告的描述
    2).filename 是存放测试报告的地址

    3、测试报告详情

    1).找到测试报告文件,用浏览器打开,点开 View 里的 Detail 可以查看详情描述。

    2).为了生成带中文描述的测试用例,可以在 case 中添加注释,如在 test_baidu的脚本添加如下注释:

    3).重新运行后查看测试报告

    参考代码:

    # coding=utf-8
    import unittest, doctest
    import HTMLTestRunner
    import time
    # 相对路径
    test_dir ='./test_case'
    test_dir1 ='./report'
    # 绝对路径
    # test_dir='C:\Users\Anne\Desktop\SeleniumPython_Test\Web_case\test_case'
    # test_dir1='C:\Users\Anne\Desktop\SeleniumPython_Test\Web_case\report'
    discover = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py')
    # 定义带有当前测试时间的报告,防止前一次报告被覆盖
    now = time.strftime("%Y-%m-%d %H_%M_%S")
    filename = test_dir1 + '/' + now + 'result.html'
    # 定义测试报告存放路径
    # filename = 'C:\Users\Anne\Desktop\SeleniumPython_Test\Web_case\report\result.html'
    # 二进制打开,准备写入文件
    fp = file(filename, 'wb')
    # 定义测试报告
    runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u'测试报告', description=u'用例执行情况')
    runner.run(discover)
    

      

  • 相关阅读:
    APP上传问题集锦
    objectiveC【语法】修饰符 static extern const
    NSLog
    iOS开发之获取系统相册中的图片与视频(内带url转换)
    Re:iOS 开发中的争议(一、二)
    iOS静态库(.a 和framework)
    iOS 获取本地视频的缩略图
    iOS 查询数组中的对象
    IOS判断文件类型
    循环引用问题 -- dealloc方法不执行
  • 原文地址:https://www.cnblogs.com/101718qiong/p/7998044.html
Copyright © 2020-2023  润新知