標籤:控制 ade def 伺服器 arm UNC runner with open default
項目構建和發送郵件
一、項目構建
1、建立項目chen
開啟pycharm左上方File>New Project,在Location輸入testing項目所在檔案夾D:\chen,建立後選擇Opin in current window。
2、建立子檔案夾
PS:建立檔案夾,一定要選Python Package的方式建立。
3、建立測試指令碼
4、建立runalltest.py
PS:在runalltest.py這個指令碼裡面寫主函數,控制執行所有的用例。
5、下載產生測試報告的源碼
import HTMLTestRunnerimport unittestimport os#測試案例存放路徑casepath = os.path.join(os.getcwd(),"case")#測試報告存放路徑reportpath = os.path.join(os.getcwd(),"report")def allcase(): ‘‘‘載入測試用例‘‘‘ discover = unittest.defaultTestLoader.discover(casepath, pattern="case*.py", top_level_dir=None) return discoverdef runcase(): ‘‘‘執行測試案例,產生測試報告‘‘‘ htmlreportpath = os.path.join(reportpath,"result.html") fp = open(htmlreportpath,"wb") runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u"自動化測試報告", description=u"測試案例執行情況") # 調用allcase函數傳回值 runner.run(allcase()) fp.close()if __name__ == "__main__": runcase()
二、發送郵件
import smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartdef send_mail(sender, psw, receiver, smtpserver,reportfile, port=465): ‘‘‘發送最新的測試報告內容‘‘‘ #開啟測試報告 with open(reportfile, "rb") as f: mail_body = f.read() # 定義郵件內容 msg = MIMEMultipart() body = MIMEText(mail_body, _subtype=‘html‘, _charset=‘utf-8‘) msg[‘Subject‘] = u"自動化測試報告" msg["from"] = sender msg["to"] = receiver msg.attach(body) # 添加附件 att = MIMEText(open(reportfile, "rb").read(), "base64", "utf-8") att["Content-Type"] = "application/octet-stream" att["Content-Disposition"] = ‘attachment; filename= "report.html"‘ msg.attach(att) try: smtp = smtplib.SMTP_SSL(smtpserver, port) except: smtp = smtplib.SMTP() smtp.connect(smtpserver,port) # 使用者名稱密碼 smtp.login(sender, psw) smtp.sendmail(sender, receiver, msg.as_string()) smtp.quit()if __name__ == ‘__main__‘: reportfile = u"F:\\python36\\test\\report\\result.html"#測試報告路徑 smtpserver = "smtp.qq.com" # 郵箱伺服器 sender = "[email protected]" # 自己的帳號 psw = "password" #自己的密碼 receiver = "[email protected]" #對方的帳號 send_mail(sender, psw, receiver, smtpserver,reportfile)
python+selenium+unittest測試架構3-項目構建和發送郵件