Python发送邮件以及自动化测试报告的生成
- SendEmail.py
1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 4 import smtplib 5 from email.mime.text import MIMEText 6 from email.utils import formataddr 7 from email.header import Header 8 9 my_sender = '1368424687@qq.com' # 发件人邮箱账号 10 my_pass = 'rkcxowkkminggdgj' # 发件人邮箱密码 11 my_user = 'bronc.q.li@outlook.com' # 收件人邮箱账号,我这边发送给自己 12 13 14 def mail(): 15 ret = True 16 try: 17 msg = MIMEText('Python 邮件发送测试001...', 'plain', 'utf-8') 18 msg['From'] = formataddr(["FromRunoob", my_sender]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号 19 msg['To'] = formataddr(["FK", my_user]) # 括号里的对应收件人邮箱昵称、收件人邮箱账号 20 msg['Subject'] = "菜鸟教程发送邮件测试" # 邮件的主题,也可以说是标题 21 22 server = smtplib.SMTP_SSL("smtp.qq.com", 465) # 发件人邮箱中的SMTP服务器,端口是25 23 server.login(my_sender, my_pass) # 括号中对应的是发件人邮箱账号、邮箱密码 24 server.sendmail(my_sender, [my_user, ], msg.as_string()) # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件 25 server.quit() # 关闭连接 26 except Exception as ex: # 如果 try 中的语句没有执行,则会执行下面的 ret=False 27 print(ex) 28 ret = False 29 return ret 30 31 32 ret = mail() 33 if ret: 34 print("邮件发送成功") 35 else: 36 print("邮件发送失败")
- RunTest.py
1 import unittest,time 2 from HTMLTestRunner import HTMLTestRunner 3 4 #指定测试用例为当前文件夹下的Practice目录 5 test_dir='./test_case' 6 discover=unittest.defaultTestLoader.discover(test_dir,pattern='test_*.py') 7 8 if __name__=='__main__': 9 10 # 按照一定格式获取当前时间 11 now=time.strftime("%Y-%m-%d %H_%M_%S") 12 # 定义报告存放路径 13 filename=test_dir+'/Report/'+now+'result.html' 14 fp=open(filename,'wb') 15 16 # 定义测试报告 17 runner=HTMLTestRunner(stream=fp,title='测试报告',description='用例执行情况') 18 19 runner.run(discover) # 运行测试用例 20 fp.close() # 关闭报告文件