zoukankan      html  css  js  c++  java
  • Python添加邮件附件并通过邮件发送测试报告

    import smtplib
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    
    
    class SendEmail:
        """邮件方式发送报告"""
        global send_user
        global email_host
        global password
        send_user = "AAAAA@163.com"
        email_host = "smtp.163.com"
        password = 'CCCC'
    
        def send_mail(self, user_list, sub, content):
            """
            发送邮件
            :param user_list: 收件人列表
            :param sub: 主题
            :param content: 内容
            :return:
            """
            user = "zhangweixu1379@163.com" + "<" + send_user + ">"
            message = MIMEMultipart()
            message['Subject'] = sub
            message['From'] = user
            message['To'] = ",".join(user_list)
            body = MIMEText(content, _subtype="plain", _charset="utf-8")  # 邮件内容
            message.attach(body)
            # 添加附件
            att = MIMEText(open("../dataconfig/case1.xls", "rb").read(), "base64",
                           "utf-8")  # 打开附件地址
            att["Content-Type"] = "application/octet-stream"
            att["Content-Disposition"] = 'attachment; filename="case1.xls"'
            message.attach(att)
            server = smtplib.SMTP()
            server.connect(email_host)
            server.login(send_user, password)
            server.sendmail(user, user_list, message.as_string())
            server.close()
    
        def send_main(self, pass_list, fail_list):
            """
            发送报告
            :param pass_list:
            :param fail_list:
            :return:
            """
            pass_num = float(len(pass_list))
            fail_num = float(len(fail_list))
            count_num = pass_num + fail_num
            pass_result = "%.2f%%" % (pass_num / count_num * 100)
            fail_result = "%.2f%%" % (fail_num / count_num * 100)
            user_list = ['XXXX@dingtalk.com', 'XXX@dingtalk.com']
            
            sub = '接口自动化测试报告'
            content = f"此次接口测试一共运行用例为:{count_num},通过个数为:{pass_num},失败个数为:{fail_num},通过率为:{pass_result},报告详情请查看附件!"
            self.send_mail(user_list, sub, content)
    
    
    if __name__ == '__main__':
        send = SendEmail()
        send.send_main([1, 2, 3, 4], [6, 2])
  • 相关阅读:
    【转】SpringCloud学习
    Springboot中配置druid
    阿里云sql监控配置-druid
    Linux中Java开发常用的软件总结:
    java 搞笑注释
    Python之路-pandas包的详解与使用
    Python之路-numpy模块
    Python之路-Python中的线程与进程
    Python之路-Python常用模块-time模块
    Python之路-Python中文件和异常
  • 原文地址:https://www.cnblogs.com/CesareZhang/p/11431079.html
Copyright © 2011-2022 走看看