python3+request接口自動化框架中自動發送郵件


在上一篇中的自動化框架中沒有放上自動發送測試結果到郵箱的功能,在這篇文章中在補一下,哈哈 

1、上一篇的代碼就不在一一介紹了,本篇只介紹發送郵件的功能代碼

2、在public common 文件夾中創建一個sendmail.py文件, 用來存儲發送郵件的代碼

from email.mime.text import MIMEText
from email.header import Header
import smtplib
import time
import os
def send_mail(file_new):
f = open(file_new, 'rb')
mail_body = f.read()
f.close()
username = '***' #發件箱用戶名 (自己添加郵箱賬號)
password = '***' #發件箱密碼
sender = '***' #發件人郵箱 (自己添加)
receiver=['***']
#receiver = ['***'] #收件人郵箱
# 郵件正文是MIMEText
msg = MIMEText(mail_body, 'html', 'utf-8')
# 郵件對象
msg['Subject'] = Header("自動化測試報告", 'utf-8').encode()
msg['From'] = Header(u'測試負責人 <%s>'%sender)
msg['To'] = Header(u'技術負責人 <%s>'%sender)
msg['date'] = time.strftime("%a,%d %b %Y %H:%M:%S %z")
#發送郵件
smtp = smtplib.SMTP()
smtp.connect('smtp.exmail.qq.com') # 郵箱服務器 (我這里用的時QQ的郵箱,其他郵箱需要在網上查一下!)
smtp.login(username, password) # 登錄郵箱
smtp.sendmail(sender, receiver, msg.as_string()) # 發送者和接收者
smtp.quit()
print("郵件已發出!注意查收。")
#此處為將HTML文件夾中的所有文件返回並取最新的一個HTML文件
def new_file(test_dir):
#列舉test_dir目錄下的所有文件,結果以列表形式返回。
lists=os.listdir(test_dir)
#print(lists)
file_path=os.path.join(test_dir,lists[-1])
return file_path
以上為發送郵件的代碼,會自動查找並發送最新的HTML文件到郵箱中。
3、在代碼入口出的調用方法,sendmail文件導入后在運行中傳入文件夾的地址

runner.run(suite)
new_report_mail = new_file(r'D:\\event\\result')
log.info(new_report_mail)
send_mail(new_report_mail)
fp.close()

4、我是將文件夾的路徑寫成了絕對路徑,此處可以自己修改下。

5、以上為自動發送郵件的代碼與運行入口處代碼調用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM