一、是什么

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. Exgcd 模板

    Exgcd 模板 pair<int, int> exgcd(int a, int b) { if (b == 0)return make_pair(1, 0); auto [x, y] = ...

  2. 这才是java对象正解

    这才是 Java 对象正解 在深入讨论对象之前,让我们先明确对对象和实例的理解. 什么是对象? 对象(Object)是内存中分配的实际数据结构,它包含了数据和方法.在 Java 中,对象是类的一个实例 ...

  3. HLK-RM60 + openwrt调试

    1. 简介 HLK-RM60官网 https://www.hlktech.com/en/Goods-176.html 采用联发科SOC, MT7621/MT7905/MT7975 实际上采购的是MT7 ...

  4. 在 Ubuntu 环境下 Qt Creator 无法使用搜狗输入法

    在 Ubuntu 环境下 Qt Creator 无法使用搜狗输入法 在 Ubuntu 中安装 Qt Creator 后,发现无法使用搜狗输入法.切换输入法也没有效果. 最初以为是搜狗输入法出了问题,后 ...

  5. C# 使用 PaddleOCRSharp 识别 图片中的文字、 使用QRCoder生成二维码

    目录 使用PaddleOCRSharp识别图片中的文字 PaddleOCRSharp资料汇总: 1.将源码编译成对应的.Net 版本引入到项目中 2. 初始化PaddleOCREngine 3. 调用 ...

  6. Apache HTTP Server 使用

    安装 macOS: brew install apache2 Ubuntu: sudo apt install apache2 使用 配置文件路径: macOS: /opt/homebrew/etc/ ...

  7. keycloak~scope客户端模板的使用

    scope为何物? scope在oauth2中表示授权的范围,另外也可以理解为,根据认证时scope的参数,在构建jwt时,返回更多的信息:比如在keycloak中,你的可选scope(optiona ...

  8. 【YashanDB知识库】如何远程连接、使用YashanDB?

    问题现象 在各个项目实施中,我们经常遇到客户.开发人员需要连接和使用YashanDB但不知如何操作的问题,本文旨在介绍远程连接.使用YashanDB的几种方式. 问题的风险及影响 无风险 问题影响的版 ...

  9. Splay/LCT 学习笔记

    唔,其实我不会 Splay,但是我会 LCT. 众所周知,会 LCT 和会 Splay 是两回事,因为 LCT 只需要旋至根即可. 到现在还是不会,但是先把 LCT 的 Splay 写一下吧. 自己复 ...

  10. Logstash 配置Java日志格式的方法

    Logstash 是用于日志收集的开源工具,通常与 Elasticsearch 和 Kibana 一起使用,形成 ELK Stack(现在称为 Elastic Stack).Logstash 非常灵活 ...