一、是什么

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库。

中文官方文档:https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/

二、目标

提取html报告中的case数(总数/成功/失败),在钉钉通知上显示。

三、代码示例

import requests
import json
from bs4 import BeautifulSoup
import re file = open('/Users/lk/Desktop/20200729T101237.229802.html', 'rb')
html = file.read()
bs = BeautifulSoup(html, "html.parser") # 初始化BeautifulSoup对象
a = []
for child in bs.body.table.descendants: # 获取table子孙节点的内容
a.append(child.string)
# print(child.string)
print(a)
print(a[len(a) - 3])
s = str(a[len(a) - 3]) # 获取目标内容,并转换为string
l2 = re.findall(r"\d+\.?\d*", s) # 正则提取string中的数字,返回列表
print(l2) # 请求地址
post_url = "https://oapi.dingtalk.com/robot/send?access_token=9de1b6fd05173c3c5622ea6efd1b484413ad95742204649645b16a3f629d7c23" # 消息头部
headers = {'Content-Type': 'application/json'} # 消息主体
text = "概要:本次共执行 " + l2[0] + " 个Case,成功 " + l2[1] + " 个,失败 " + l2[2] + " 个""\n点击查看HTML测试报告" data = {
"msgtype": "link",
"link": {
"text": text,
"title": "接口自动化测试报告",
"picUrl": "xxx.jpg",
"messageUrl": "yyy.html"
}
} # 使用post请求推送消息
requests.post(post_url, data=json.dumps(data), headers=headers)

四、钉钉通知效果

BeautifulSoup优化测试报告的更多相关文章

  1. python+unittest框架第六天unittest之优化测试报告

    今天的内容主要是,用第三方的HTMLRUNner 第三方的报告来优化之前第五天批量执行案例的测试报告.案例的部分看第五天的批量执行笔记~ HTMLRUNner他可以生成更美观的测试报告,基于前辈造的车 ...

  2. 【Jenkins】testng+testNgXslt+ant优化测试报告

    步骤: 准备: testng-results.xsl saxon-8.7.jar 下载地址:http://download.csdn.net/download/a804229570/10210509 ...

  3. TestNG+ReportNG+Maven优化测试报告

    转载:https://www.cnblogs.com/hardy-test/p/5354733.html 首先在eclipse里面创建一个maven项目,具体要配置maven环境,请自行百度搭配环境. ...

  4. JMeter(6) jenkins测试报告及邮件优化

    jenkins邮件 使用jenkins执行完任务自动将测试结果发送到邮箱,效果如下:     生成html报告 build文件设置     jenkins设置 SummaryReport写入邮件正文 ...

  5. Selenium2+python自动化31-生成测试报告

    前言 最近小伙伴们总有一些测试报告的问题,网上的一些资料生成报告的方法,我试了都不行,完全生成不了,不知道他们是怎么生成的,同样的代码,有待研究. 今天小编写一下可以生成测试报告的方法.个人觉得也是最 ...

  6. python实例编写(7)---测试报告与测试套件(多个py文件,1个py文件内多个用例)

    一.  一个.py文件批量执行测试用例(一个.py文件下多个用例执行) 如果直接使用:unittest.main(),则按字母顺序执行, 对于前后之间又依赖关系的用例,需要按特定的顺序执行,则使用 s ...

  7. Jmeter 自动化测试报告扩展

    首先了解下生成测试报告的过程,我们看到的测试报告是由.jtl格式转换为.html,html报告的样式由extras目录下xsl文件决定.优化测试报告需要分为两部分内容,首先我们要优化输出的测试内容,其 ...

  8. Appium+python HTML测试报告(1)(转)

    (原文:https://www.cnblogs.com/fancy0158/p/10054632.html) 测试任务执行完成后,我们需要一份通俗易懂的测试报告来展示自动化测试的结果. HTMLTes ...

  9. 生成HTML测试报告

    HTMLTestRunner是Python标准库unittest单元测试框架的一个扩展,可以生成易于使用的HTML测试报告,这个扩展很简单,只有一个HTMLTestRunner.py,下载地址:htt ...

  10. Jmeter 自动化测试报告扩展(转 Todo 需要修正)

    首先了解下生成测试报告的过程,我们看到的测试报告是由.jtl格式转换为.html,html报告的样式由extras目录下xsl文件决定.优化测试报告需要分为两部分内容,首先我们要优化输出的测试内容,其 ...

随机推荐

  1. Linux的命令合集

    Linux常用的命令 这里分享一个博客,里面有很丰富的Linux的常用指令. https://blog.csdn.net/qq_23329167/article/details/83856430. 然 ...

  2. Java中0.2减0.1 结果为什么不是0.1?

    double 表示这种类型的数值精度是 float 类型的两倍(有人称之为双精度数值).绝大部 分应用程序都采用double 类型.在很多情况下,float 类型的精度很难满足需求.实际上,只 有很少 ...

  3. 我们常用的地铁卡/银行卡,竟然运行着一个 Java 虚拟机

    我们日常使用 NFC 卡可以用来刷地铁,进出门禁,但是你有没有想过, 当我们使用一个 NFC 的 IC 卡刷卡进入地铁的时候,此时系统是如何知道我这个卡上有多少充值余额的? 这个薄薄的 NFC 卡到底 ...

  4. [NOIP2010 提高组] 关押罪犯 - 洛谷

    P1525 [NOIP2010 提高组] 关押罪犯 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 种类并查集 #include <bits/stdc++.h> #def ...

  5. 代码随想录Day21

    669. 修剪二叉搜索树 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high.通过修剪二叉搜索树,使得所有节点的值在[low, high]中.修剪树 不应该 改变保留在树 ...

  6. shell 删除文件内容Mac、Linux兼容方法

    # 定义sedi数组 # Linux sed后面, 用 "-i" sedi=(-i) case "$(uname)" in Darwin*) # Mac sed ...

  7. 斐讯 N1 刷机记录

    Prerequisites USB 公对公线 Windows 操纵系统 AMLogic USB Burning Tool,安装后名字为 Aml_Burn_Tool. 降级 打开终端,输入 hdwwiz ...

  8. 【已解决】如果将MySQL数据库中的表生成PDM

    数据库表PDM关系图 |  原创作者/编辑:凯哥Java |  分类:经验分享 有时候,我们需要MySQL数据库中的表生成对应的PDM文件,这里凯哥就讲讲第一种将MySQL数据库的表生成对应的PDM文 ...

  9. MDC – Checkbox

    前言 Checkbox 不是搭配 TextField 使用, 而是搭配 FormField. 所以独立一篇来写. 参考 Docs – Selection controls: checkboxes 效果 ...

  10. JavaScript – Set and Map

    参考 Set 和 Map 数据结构 Set 介绍和使用 Set 很像 Array, 但其实它是一个 Iteralbe 对象. 用于保存多个值, 而且具有 unique 特性 (1 个 set 里面不会 ...