思路:
1.先读取测试报告
2.定位元素
3.查看测试报告中失败的用例是否为0
4.调用函数,判断是否发送邮件
from bs4 import BeautifulSoup
import os
def is_result_pass():
# 获取测试报告名称
filelist = os.listdir("此处填写测试报告的目录")
# 打开测试报告html并读取内容
with open("测试报告所在目录" + filelist[0], "r", encoding="gb18030", errors="ignore") as f:
data = f.read()
soup = BeautifulSoup(data, "html.parser")
# 获取测试用例中失败元素的属性值
status = soup.find_all(class_="决定测试报告失败的元素")
fail_result = status[1].contents[-1]
err_result = status[2].contents[-1]
ski_result = status[3].contents[-1]
# 判断失败、错误、跳过的用例数量是否均为0,为0时说明测试用例全部通过,不为0时说明有用例有不通过的
# 因为取的值的是bs64格式的,所以0不是数值型
if fail_result and err_result and ski_result == "0":
return True
else:
print("测试报告中有不通过用例")
return False
if __name__ == '__main__':
# 调用函数,决定是否发送邮件
if is_result_pass():
print("用例全部通过,不需要发邮件")
else:
print("用例未通过,需要发邮件")
文章评论