import unittest import time,os import smtplib from email.mime.text import MIMEText from email.header import Header from email.mime.multipart import MIMEMultipart from HTMLTestRunner import HTMLTestRunner def send_report(report_fiele): smtpserverip = "smtp.126.com" username = "XXXX" password = "XXX" sender = "XXX" receviver = "XXX" #不发送附件时设置邮件主题和内容 subject = "python email test file" msg = MIMEText(‘<html><h1>你好!</html></h1>‘,‘html‘,‘utf-8‘) msg[‘Subject‘]=Header(subject,‘utf-8‘) # sendfile=open(report_fiele,‘rb‘).read() # # subject = "python email test file" # msg = MIMEText(sendfile,"base64",‘utf-8‘) # msg["Subject"] = Header(subject,"utf-8") # msg["Content-Type"] = ‘aoolication/octet-stream‘ # msg[‘Content-Disposition‘]=‘attachment;filename="result.html"‘ # msgRoot = MIMEMultipart("read") # msgRoot[‘Subject‘] = subject # msgRoot.attach(msg) smtp = smtplib.SMTP() smtp.connect(smtpserverip) smtp.login(username,password) smtp.sendmail(sender,receviver,msg.as_string()) smtp.quit() def find_new_report(result_dir): lists = os.listdir(result_dir) lists.sort(key=lambda fn:os.path.getmtime(result_dir+‘\\‘+fn)) report_fiele = os.path.join(result_dir,lists[-1]) return report_fiele if __name__=="__main__": test_dir = "./" result_dir = "./" discover = unittest.defaultTestLoader.discover(test_dir, pattern="test*.py") now = time.strftime(‘%Y-%m-%d %H_%M_%S‘) result_name = result_dir + "/" + now + ‘result.html‘ fp = open(result_name, "wb") runner=HTMLTestRunner(stream=fp,title="测试联系",description="用例执行") runner.run(discover) fp.close() new_report = find_new_report(result_dir) send_report(new_report)
原文:https://www.cnblogs.com/zxjia/p/15134349.html