目的

  1. 为了收集所有手机运行自动化测试后的数据,处理之后以表格的形式发送给指定用户
  2. 以邮件的形式发送,而邮件正文是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表格相关推荐

  1. htmltabl生成html表格并发送企业微信

    说明: 1.通过htmltable生成html表格,并且调整表格字体.边框.颜色等. 2.将网站链接写入html表格中,只要点击查看详情即可跳转到对应网站访问. 3.发送文件和消息到企业微信群. #! ...

  2. 如何用python生成表格_用 Python 生成 HTML 表格

    在 邮件报表 之类的开发任务中,需要生成 HTML 表格. 使用 Python 生成 HTML 表格基本没啥难度, for 循环遍历一遍数据并输出标签即可. 如果需要实现合并单元格,或者按需调整表格样 ...

  3. Python开发技巧-使用Python生成HTML表格

    使用Python生成HTML表格并不是什么难事,for循环即可轻松实现,但是如果出现合并某个单元格的需求就比较麻烦了,那么如何才能够实现呢?下面小千就给大家介绍一个好帮手,html-table扩展包. ...

  4. python修改html表格,用Python生成HTML表格

    在 邮件报表 之类的开发任务中,需要生成 HTML 表格. 使用 Python 生成 HTML 表格基本没啥难度, for 循环遍历一遍数据并输出标签即可. 如果需要实现合并单元格,或者按需调整表格样 ...

  5. python 生成html表格和图片,用Python生成HTML表格的方法示例

    在 邮件报表 之类的开发任务中,需要生成HTML表格. 使用Python生成HTML表格基本没啥难度,for循环遍历一遍数据并输出标签即可. 如果需要实现合并单元格,或者按需调整表格样式,就比较麻烦了 ...

  6. python动态生成html报表_Python应用phy模块生成html表格

    phy是一个用来生成html页面的Python模块,使用面向对象的方式,html的标签都会对应一个Python的对象,输出的html文档排版良好,易于阅读. phy模块下载即安装使用方法,详见:htt ...

  7. python 列表生成表格_【转】Python 列表生成式

    原文:https://blog.csdn.net/heartyhu/article/details/50988007 1. 生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, ...

  8. python自动生成表格_Python自动整理 Excel 表格

    相信有不少朋友日常工作会用到 Excel 处理各式表格文件,更有甚者可能要花大把时间来做繁琐耗时的表格整理工作.最近有朋友问可否编程来减轻表格整理工作量,今儿我们就通过实例来实现 Python 对表格 ...

  9. python 生成图片_python生成带有表格的图片

    因为工作中需要,需要生成一个带表格的图片 例如: 直接在html中写一个table标签,然后单独把表格部分保存成图片 或者是直接将excel中的内容保存成一个图片 刚开始的思路,是直接生成一个带有ta ...

  10. python自动汇总表格_用Python自动生成Excel报表

    作者 / 来源:林骥(ID:linjiwx) 01 安装和导入模块 以 Python 中的 openpyxl 模块为例,它能够读取和修改 Excel 文件,如果你还没有安装,可以通过以下命令进行安装: ...

最新文章

  1. Linux下的权限掩码umask,Linux下的权限掩码umask
  2. 几个数判断大小_chemistry three 配合物的配位数
  3. 添加程序以DLL函数
  4. 【转载】css3 content 生成内容
  5. [html] 你认为table的作用和优缺点是什么呢?
  6. 万年自学党聊聊如何选择编程学习资源?
  7. 暴露的全局方法_Dubbo源码解析实战 - 服务暴露原理
  8. Effective Modern C++ 第二章 auto的使用
  9. Wordpress淘宝客专用链接跳转插件Pretty Link Lite
  10. Docker-Cgroup 资源配置方法
  11. 记账系统推荐金蝶精斗云_小编总结了金蝶精斗云财务软件的优劣势
  12. 深入Java内存区域与OOM
  13. AT91SAM7SE应用 - IRQ
  14. Java日志体系(三) jul 配置文件详解,日志示例
  15. 运用三角不等式加速Kmeans聚类算法
  16. 原创 导出微信收藏到电脑
  17. React实现实时/局部刷新
  18. 如何打动用户?携程用户体验实践分享
  19. 06年计算机竞赛,2006年数学建模校内竞赛结果
  20. linux下wifi实现

热门文章

  1. ABB机器人开发基础之载荷测定
  2. nz-upload的[nzCustomRequest]自定义上传
  3. 零知识证明笔记The 9th BIU Winter School on Cryptography
  4. 003基于神经网络的癫痫脑电信号检测与分类
  5. Eclipse学习1-Eclipse简介
  6. SQL server-数据库的查询(高级)
  7. 医院客户关系管理/医院随访/CRM/HCRM
  8. Python深度学习(循环神经网络)--学习笔记(十三)
  9. 安全通信与安全通信标准EN50159
  10. 企业申请3C认证,需要提交哪些资料?