1、一般生成报告时,会使用时间来作为报告名称的一部分,引入time这个第三方,使用以下方式格式化当前时间

下面运行最终结果:2019-03-29-14_29_18------>年-月-日-时-分秒

 import time;
time_noe=time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))

2、使用方式

time_noe=time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()));
if __name__=='__main__':
report_dir_02='report\\'+time_noe+'result.html';----->使用【相对地址】---建议使用相对地址(这个有点疑问啊??)
report_dir = r'E:\\result02.html';-------------->使用【绝对地址】 re_open = open(report_dir_02, 'wb');------------>使用【wb】模式,打开这个地址
#定义一个HtmlTestRunner,并初始化(stream=文件流,title=测试标题,description=测试描述)
runner=HTMLTestRunner.HTMLTestRunner(
stream=re_open,
title=u'测试标题',
description=u'测试描述' )
#通过HtmLTestRunner的run方法来执行测试集-----这种方式其实最常用啦
runner.run(suit);
print('执行成功');

结果,在当前项目下生成了测试报告

2、把结果放入指定文件夹下

实际应用场景中,一般希望,生成的report在我项目下的report相关的文件夹内统一生成,此时就要指定生成路径了

思考方式:使用路径拼接的方式(该函数用于路径拼接文件路径。)

 report_dir_03=os.path.join(os.getcwd(),'result_report',''+time_noe+'result.html');

以上三个参数将路径拼接的最终结果为:

C:\Users\admin\PycharmProjects\test_case\result_report\2019-03-13-18_13_38result.html

问题记录:

①、报错:

按照报错字面意思:是str类型没有写入的属性

出错的原因是我把构造HtmlTestRunner中的Stream写成了report_dir_02,应该是report_open

  File "D:\python3.7\lib\HTMLTestRunner.py", line 812, in generateReport
self.stream.write(output.encode())
AttributeError: 'str' object has no attribute 'write'

HtmlTestRunner的更多相关文章

  1. python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决

    python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'的解决方法: 1.原因是官网的是python2语法写的,看官手动把官 ...

  2. HTMLTestRunner修改Python3的版本

    在拜读虫师大神的Selenium2+Python2.7时,发现生成HTMLTestRunner的测试报告使用的HTMLTestRunner的模块是用的Python2的语法.而我本人比较习惯与Pytho ...

  3. 如何生成HTMLTestRunner报告

    今天,学习了如何生成HTMLTestRunner测试报告. 接上篇文章,对于unittest框架,运行后,测试结果不便于查看,同时多个case存在的时候,可能会导致case result记录不正确的情 ...

  4. unittest测试驱动之HTMLTestRunner.py

    对于自动化来说,测试报告是必须的,在敏捷化的团队中,团队中的成员需要自动化这边提供自动化的测试报告,来判断系统的整体质量以及下一步的测试策略.单元测试库生成测试输出到控制台的窗口上,但是这样的结果看起 ...

  5. (引用 )自动化测试报告HTMLtestrunner

    1>下载HTMLTestRunner.py文件,地址为: http://tungwaiyip.info/software/HTMLTestRunner.html   Windows平台: 将下载 ...

  6. [Python]如何使用HtmlTestRunner让自动化测试报告内容更丰富

    简述 使用selenium webdriver + Python做自动化测试,执行完成后要生成测试报告,Python我们使用的HTMLtestrunner 进行生成,但是默认提供的生成报告内容,并不能 ...

  7. 第二个UI脚本--Python+selenium之unittest+HTMLtestRunner及python的继承

    前面有一篇对于常见元素的识别和操作的python自动化脚本,这一篇就接着聊下python的类继承,已经它的第三款unittest框架,和报告收集包HTMLtestRunner的应用. 还是直接上代码吧 ...

  8. 生成HTMLTestRunner测试报告的操作步骤——Python+selenium自动化

    HTMLTestRunner是Python标准库的unittest模块的一个扩展,具体操作如下 1.安装 环境:Window8 步骤:1)http://tungwaiyip.info/software ...

  9. 修改HTMLTestRunner模板

    ---恢复内容开始--- 1.修改bug(passCase不标色和加粗) style = (n == 2 and 'errorCase') or (n == 1 and 'failCase') or ...

  10. HtmlTestRunner二次封装(TestRunner.py)

    将HtmlTestRunner进行二次封装,使报告生成的更方便 import HTMLTestRunner import unittest import time, os class TestRunn ...

随机推荐

  1. MySQL联结查询和子查询

    2018-2-24 16:18:12 星期六 今天需要统计一个运营活动的数据, 涉及三个表, 分组比较多 活动描述: 每个人可以领取多张卡片,  好友也可以赠送其卡片, 20或40张卡片可以兑换一个奖 ...

  2. 【原创】大数据基础之Hive(3)最简绿色部署

    hadoop部署参考:https://www.cnblogs.com/barneywill/p/10428098.html 1 拷贝到所有服务器上并解压 # ansible all-servers - ...

  3. C#方法的重写

    问题一:什么是重写? “重写”父类方法就是修改它的实现方式或者说在子类中对它进行重新编写. 问题二:为什么要重写父类的方法      通常,子类继承父类的方法,在调用对象继承方法的时候,调用和执行的是 ...

  4. Windows7上完全卸载Oracle 12c操作步骤

    注:本文来源于:< Windows7上完全卸载Oracle  12c操作步骤 > 1.关闭Oracle所有的服务,按[win+R]运行[services.msc]找到所有Oracle开头的 ...

  5. Oracle 所有的权限列表

  6. leetcode(js)算法之696计数二进制串

    给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的. 重复出现的子串要计算它们出现的次数. 示例: 输入: "0011 ...

  7. 继续JS之DOM对象二

    前面在JS之DOM中我们知道了属性操作,下面我们来了解一下节点操作.很重要!! 一.节点操作 创建节点:var ele_a = document.createElement('a');添加节点:ele ...

  8. Django框架之第三篇模板语法(重要!!!)

    一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 一.模板语法之变量:语法为 {{ }}: 在 Django 模板中遍历复杂数据结构的关键 ...

  9. LeetCode(108):将有序数组转换为二叉搜索树

    Easy! 题目描述: 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1. 示例: 给定有序数组 ...

  10. Imperial roads 非严格次小生成树

    cf测评姬比uva快了五倍... /* 不管这条边是不是在mst上,直接跑lca求出路径上的最大边w即可 ans=mst-w+dist(u,v) */ #include<bits/stdc++. ...