• python 生成HTmL报告页面


    计划做一个html页面

    py3.4

    代码:

    # -*- coding=utf-8 -*-
    #
    import  time,os
    
    
    class Template_mixin(object):
        """html报告"""
        HTML_TMPL = r"""
            <!DOCTYPE html>
            <html lang="en">
            <head>
                <meta charset="UTF-8">
                <title>自动化测试报告</title>
                <link href="http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
                <h1 style="font-family: Microsoft YaHei">自动化测试报告</h1>
                <p class='attribute'><strong>测试结果 : </strong> %(value)s</p>
                <style type="text/css" media="screen">
            body  { font-family: Microsoft YaHei,Tahoma,arial,helvetica,sans-serif;padding: 20px;}
            </style>
            </head>
            <body>
                <table id='result_table' class="table table-condensed table-bordered table-hover">
                    <colgroup>
                        <col align='left' />
                        <col align='right' />
                        <col align='right' />
                        <col align='right' />
                    </colgroup>
                    <tr id='header_row' class="text-center success" style="font-weight: bold;font-size: 14px;">
                        <th>版本</th>
                        <th>操作步骤</th>
                        <th>用例执行结果</th>
                        <th>操作时间</th>
                    </tr>
                    %(table_tr)s
                </table>
            </body>
            </html>"""
    
        TABLE_TMPL = """
            <tr class='failClass warning'>
                <td>%(version)s</td>
                <td>%(step)s</td>
                <td>%(runresult)s</td>
                <td>%(runtime)s</td>
            </tr>"""
    
    
    if __name__ == '__main__':
        table_tr0 = ''
        numfail = 1
        numsucc = 9
        html = Template_mixin()
       
        table_td = html.TABLE_TMPL % dict(version = '3.8.8',step='输入正确的用户名,密码进行登录',runresult='登录成功',runtime = time.strftime('%Y-%m-%d %H:%M:%S'),)
        table_tr0 += table_td
        total_str = '共 %s,通过 %s,失败 %s' % (numfail + numsucc, numsucc, numfail)
        output = html.HTML_TMPL % dict(value = total_str,table_tr = table_tr0,)
        #print('output',output)
        # 生成html报告
        filename='{date}_TestReport.html'.format(date=time.strftime('%Y%m%d%H%M%S'))
    
        print(filename)
        #获取report的路径
        dir= os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))),'report')
        filename=os.path.join(dir,filename)
    
    
        with open(filename, 'wb') as f:
         #f.write(output) f.write(output.encode('utf8'))

     刚开始执行时,会报错

    加了f.write(output.encode('utf8')),后可以执行。

            
  • 相关阅读:
    diamond operator is not supported in -source 1.5
    ClassNotFoundException异常的解决方法
    serialVersionUID 的用途--转加自己的疑问
    java序列化---转
    junit类找不到的问题解决
    FastJson的基本用法----转
    sql字符串查找大小写敏感相关
    6.比较排序之快速排序
    有关ArrayList常用方法的源码解析
    5.比较排序之归并排序(非递归)
  • 原文地址:https://www.cnblogs.com/lisa2016/p/10724030.html
Copyright © 2020-2023  润新知