python+HTMLTable,生成html表格
目的
- 为了收集所有手机运行自动化测试后的数据,处理之后以表格的形式发送给指定用户
- 以邮件的形式发送,而邮件正文是HTML格式
HTMLTable拆解
- 起一个表格的标题
表头,顾名思义一看表头能大概知道表格是关于什么的
from HTMLTable import HTMLTable table = HTMLTable(caption=table_name)
- 设置表头内容
表头按需设计,开始时间、测试结果、平台、系统版本、设备名称、app版本
table.append_header_rows((('开始时间', '用例总数', '用例通过数', '用例通过率', '平台', '系统版本', '设备厂商', 'app版本'),))
- 单元格内容,作为参数传入,格式为元组套元组((),())。一个例子:
配置单元格的数据内容
table.append_data_rows((('2022-01-05 00:30:45', '28', '24', '85.71%', 'Android', '8.0.0','Xiaomi','3.6.2.022'),))
- 调试样式,调试标题样式
可以设置标题的字体、居中等
# 标题样式caption_style = {'text-align': 'center','cursor': 'pointer'}table.caption.set_style(caption_style)
- 设置边框,设置表格居中
表格基本设置:边框、整体居中
# 设置边框border_style = {'border-color': '#000','border-width': '1px','border-style': 'solid','border-collapse': 'collapse',# 同时设置了表格居中'margin': 'auto',}# 外边框,set_style表格居中table.set_style(border_style)# 单元格边框table.set_cell_style(border_style)
- 调试表头样式
设置标题居中、背景色、字体等
# 表头样式header_cell_style = {'text-align': 'center','padding': '4px','background-color': '#aae1fe','color': '#FFFFFF','font-size': '0.95em',}table.set_header_cell_style(header_cell_style)
- 如果通过率低于80%,标红
按需设置,要求自动化测试结果通过率不能低于80%
# 如果通过率小于80%,标红for row in table.iter_data_rows():# 共 28,通过 24,通过率= 85.71%tmp_value = row[3].value# 85.71%# tmp_res = re.findall(r".+?通过率= (.+)", tmp_value)[0]# 85.71res = tmp_value.strip('%')if float(res) < 80:# 通过率<80%,标红row[3].set_style({'background-color': '#ffdddd',})
调试方便,设为>80标红
- 生成html
可以在本地调试成自己满意的样式哦
html = table.to_html()
具体实现
def creat_email_html(table_name, rows_text):'''生成邮件正文内容,HTML格式'''# 标题内容# table = HTMLTable(caption="xxxUI自动化测试结果(附件为报告详情)")table = HTMLTable(caption=table_name)# 没有实现空行table.append_data_rows('')# 表头table.append_header_rows((('开始时间', '用例总数', '用例通过数', '用例通过率', '平台', '系统版本', '设备厂商', 'app版本'),))'''单元格内容,作为参数传入,格式为元组套元组((),())table.append_data_rows((('2022-01-05 00:30:45', '28', '24', '85.71%', 'Android', '8.0.0','Xiaomi','3.6.2.022'),))'''table.append_data_rows(rows_text)# 标题样式caption_style = {'text-align': 'center','cursor': 'pointer'}table.caption.set_style(caption_style)# 设置边框border_style = {'border-color': '#000','border-width': '1px','border-style': 'solid','border-collapse': 'collapse',# 实现表格居中'margin': 'auto',}# 外边框table.set_style(border_style)# 单元格边框table.set_cell_style(border_style)# 单元格样式# 先得设置cell_style,cell_style包括header_cell_style,会把header_cell_style配置覆盖cell_style = {'text-align': 'center','padding': '4px','background-color': '#ffffff','font-size': '0.95em',}table.set_cell_style(cell_style)# 表头样式header_cell_style = {'text-align': 'center','padding': '4px','background-color': '#aae1fe','color': '#FFFFFF','font-size': '0.95em',}table.set_header_cell_style(header_cell_style)# 如果通过率小于80%,标红for row in table.iter_data_rows():# 共 28,通过 24,通过率= 85.71%tmp_value = row[3].value# 85.71%# tmp_res = re.findall(r".+?通过率= (.+)", tmp_value)[0]# 85.71res = tmp_value.strip('%')if float(res) < 80:# 通过率<80%,标红row[3].set_style({'background-color': '#ffdddd',})# 生产HTMLhtml = table.to_html()# print(html)return html
- 实现效果
python+HTMLTable,生成html表格相关推荐
- htmltabl生成html表格并发送企业微信
说明: 1.通过htmltable生成html表格,并且调整表格字体.边框.颜色等. 2.将网站链接写入html表格中,只要点击查看详情即可跳转到对应网站访问. 3.发送文件和消息到企业微信群. #! ...
- 如何用python生成表格_用 Python 生成 HTML 表格
在 邮件报表 之类的开发任务中,需要生成 HTML 表格. 使用 Python 生成 HTML 表格基本没啥难度, for 循环遍历一遍数据并输出标签即可. 如果需要实现合并单元格,或者按需调整表格样 ...
- Python开发技巧-使用Python生成HTML表格
使用Python生成HTML表格并不是什么难事,for循环即可轻松实现,但是如果出现合并某个单元格的需求就比较麻烦了,那么如何才能够实现呢?下面小千就给大家介绍一个好帮手,html-table扩展包. ...
- python修改html表格,用Python生成HTML表格
在 邮件报表 之类的开发任务中,需要生成 HTML 表格. 使用 Python 生成 HTML 表格基本没啥难度, for 循环遍历一遍数据并输出标签即可. 如果需要实现合并单元格,或者按需调整表格样 ...
- python 生成html表格和图片,用Python生成HTML表格的方法示例
在 邮件报表 之类的开发任务中,需要生成HTML表格. 使用Python生成HTML表格基本没啥难度,for循环遍历一遍数据并输出标签即可. 如果需要实现合并单元格,或者按需调整表格样式,就比较麻烦了 ...
- python动态生成html报表_Python应用phy模块生成html表格
phy是一个用来生成html页面的Python模块,使用面向对象的方式,html的标签都会对应一个Python的对象,输出的html文档排版良好,易于阅读. phy模块下载即安装使用方法,详见:htt ...
- python 列表生成表格_【转】Python 列表生成式
原文:https://blog.csdn.net/heartyhu/article/details/50988007 1. 生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, ...
- python自动生成表格_Python自动整理 Excel 表格
相信有不少朋友日常工作会用到 Excel 处理各式表格文件,更有甚者可能要花大把时间来做繁琐耗时的表格整理工作.最近有朋友问可否编程来减轻表格整理工作量,今儿我们就通过实例来实现 Python 对表格 ...
- python 生成图片_python生成带有表格的图片
因为工作中需要,需要生成一个带表格的图片 例如: 直接在html中写一个table标签,然后单独把表格部分保存成图片 或者是直接将excel中的内容保存成一个图片 刚开始的思路,是直接生成一个带有ta ...
- python自动汇总表格_用Python自动生成Excel报表
作者 / 来源:林骥(ID:linjiwx) 01 安装和导入模块 以 Python 中的 openpyxl 模块为例,它能够读取和修改 Excel 文件,如果你还没有安装,可以通过以下命令进行安装: ...
最新文章
- Linux下的权限掩码umask,Linux下的权限掩码umask
- 几个数判断大小_chemistry three 配合物的配位数
- 添加程序以DLL函数
- 【转载】css3 content 生成内容
- [html] 你认为table的作用和优缺点是什么呢?
- 万年自学党聊聊如何选择编程学习资源?
- 暴露的全局方法_Dubbo源码解析实战 - 服务暴露原理
- Effective Modern C++ 第二章 auto的使用
- Wordpress淘宝客专用链接跳转插件Pretty Link Lite
- Docker-Cgroup 资源配置方法
- 记账系统推荐金蝶精斗云_小编总结了金蝶精斗云财务软件的优劣势
- 深入Java内存区域与OOM
- AT91SAM7SE应用 - IRQ
- Java日志体系(三) jul 配置文件详解,日志示例
- 运用三角不等式加速Kmeans聚类算法
- 原创 导出微信收藏到电脑
- React实现实时/局部刷新
- 如何打动用户?携程用户体验实践分享
- 06年计算机竞赛,2006年数学建模校内竞赛结果
- linux下wifi实现