• HtmlTestRunner


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

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

    1 import time;
    2 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相关的文件夹内统一生成,此时就要指定生成路径了

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

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

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

    C:UsersadminPycharmProjects	est_case
    esult_report2019-03-13-18_13_38result.html

    问题记录:

    ①、报错:

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

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

      File "D:python3.7libHTMLTestRunner.py", line 812, in generateReport
        self.stream.write(output.encode())
    AttributeError: 'str' object has no attribute 'write'
  • 相关阅读:
    整理公共基础库子系统和系统属性组件
    鸿蒙轻内核M核源码分析系列六 任务及任务调度(1)任务栈
    HarmonyOS三方件开发指南(19)-BGABadgeView徽章组件
    鸿蒙的DFX子系统
    安卓to鸿蒙系列:ButterKnife(一)
    基于Neptune开发板的键盘蓝牙模块DIY指南
    徒手撸一个Spring Boot中的starter
    这三道最基础的java面试题,你真的答得上来吗?
    奇葩java迭代器面试题,还真有很多人踩坑
    15道类和对象面试题,快看看自己会几道
  • 原文地址:https://www.cnblogs.com/shenyexiaoqingxin/p/10510465.html
Copyright © 2020-2023  润新知