selenium 自动发送测试报告

该博客介绍了一个Python脚本,用于在执行selenium自动化测试后,自动生成HTML测试报告并将其通过电子邮件发送。脚本利用HTMLTestRunner生成测试报告,然后通过SMTP服务器发送带有测试报告的邮件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# coding=utf-8

import os,time
import smtplib
from email.mime.text import MIMEText
import unittest
from HTMLTestRunner import HTMLTestRunner

#定义发送邮件
def send_mail(file_new):
    #发件邮箱
    mail_from = '发件人邮箱'
    #收件邮箱
    mail_to = '收件人邮箱'
    #定义正文
    with open(file_new,'rb') as file:
        maile_body = file.read()
        file.close()
    msg = MIMEText(maile_body,_subtype='html',_charset='utf-8')
    #定义标题
    msg['Subject'] = 'MP自动化测试报告'
    #定义发送时间
    msg['date'] = time.strftime('%a,%d %b %Y %H:%M:%S %Z')
    smtp = smtplib.SMTP()
    #连接SMPT服务器
    smtp.connect('smtp.tencent.com')
    #登入邮箱发送邮件
    smtp.login('邮箱账号','密码')
    smtp.sendmail(mail_from,mail_to,msg.as_string())
    smtp.quit()
    print('email has send out......')

#定义测试报告文件
def send_report(testreport):
    # 定义文件目录
    result_dir = testreport
    #result_dir = 'D:\\selenium_test_report'
    lists = os.listdir(result_dir)
    # 重新按时间对目录下的文件进行排序
    lists.sort(key=lambda fn:os.path.getmtime(result_dir + "\\" + fn))
    print('最新文件:' + lists[-1])
    file_new = os.path.join(result_dir,lists[-1])
    print(file_new)
    #调用发送邮件模块
    send_mail(file_new)

#将用例添加到测试套件
def creatsuite():
    testunit = unittest.TestSuite()
    #定义测试文件查找的目录
    test_dir = 'D:\\selenium_test_report'
    #定义descover方法的参数
    discover = unittest.defaultTestLoader.discover(test_dir,pattern='test*.py',top_level_dir=None)
    #循环添加discover用例
    for test_case in discover:
        print(test_case)
        testunit.addTest(test_case)
    return testunit

if __name__ == "__main__":
    now = time.strftime("%Y-%m-%d %H-%M-%S")
    testreport = 'D:\\selenium_test_report'
    filename = testreport + now + 'result.html'
    with open(filename,'wb') as fp:
        runner = HTMLTestRunner(stream=fp,title='自动化测试报告',description='用例执行情况:')
        alltestnames = creatsuite()
        runner.run(alltestnames)
        fp.close()
        send_report(testreport)






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值