如何使用Python在html中以表格格式发送测试用例

时间:2016-09-20 05:51:30

标签: python python-2.7 python-3.x

我每天都会以文本格式发送已通过和失败的结果邮件。

我希望使用Python以HTML格式发送表格格式。

============Text I am sending daily===========================

423 EIR DIAMETER IMEI Software Version handling                                 5         5         0         100.0     
424 EIR DIAMETER eirDualImsiUpdateTimestamp                                     2         2         0         100.0     
EIR-Provisioning                                                                47        41        6         87.23     
-------------------------------------------------------------------------------------------------------------------------------------------------
Total Summary                                                                   839       828       11        98.68     
---------------------------------------------------------------------------------------------------------------------------------------------

2 个答案:

答案 0 :(得分:0)

根据我对这个问题的理解。

检查出来

Python format tabular output

如果您期待任何模块,可以使用Pretty-print表格数据。

如果你想要html表在python中尝试使用html模块。

如果您正在寻找除此之外的其他内容,请提及它们。

答案 1 :(得分:0)

我建议使用jinja2。这很简单,我认为我不需要解释任何事情。但是说你有一个ViewController文件夹里面有一个空的tests文件(你的文件夹现在是一个python包),你需要创建一个名为__init__.py的文件夹并放置你的html文件内部。

您的html文件(例如templates)内容将是这样的:

report.html

现在在你的python代码中,你运行测试时会做这样的事情:

<table>
   <tbody>
     {% for test in test_results %}
     <tr>
       <td>{{test.name}}</td>
       <td>{{test.version}}</td>
     </tr>
     {% endfor %}
   </tbody>
</table>

当然from jinja2 import Environment, PackageLoader env = Environment(loader=PackageLoader('tests', 'templates')) html_report = env.get_template('report.html') send_by_email(html_template.render(tests_results=dictionary_of_results)) 函数不存在,是你自己编写的。 你的html文件也是HTML,所以你可以做任何你通常做的事情,内联样式和所有。 send_by_email只需在jinja2的帮助下即时自定义其内容,并根据需要呈现HTML字符串。