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')),后可以执行。

        

猜你喜欢

转载自www.cnblogs.com/lisa2016/p/10724030.html
今日推荐