一、郵件通知
使用第三方郵件發送庫yagmail
github地址:https://github.com/kootenpv/yagmail
安裝
pip3 install yagmail
demo.py
import yagmail
# password爲登陸密碼或者授權碼,yagmail SSL默認開啓
yag = yagmail.SMTP(user='[email protected]', password='xxxxxxx', host='smtp.163.com')
to = '[email protected]'
subject = 'This is obviously the subject'
body = 'This is obviously the body'
html = '<a href="https://pypi.python.org/pypi/sky/">Click me!</a>'
yag.send(to=to, subject=subject, contents=[body,html])
在config目錄下添加mail_config.ini配置文件
[163mail]
[email protected]
password=XXXXXX
host=smtp.163.com
[project_member]
# 測試人員1
[email protected]
# 測試人員2
[email protected]
在utils目錄下添加mail_utils.py
mail_utils.py
import yagmail
import configparser
import os
mail_config_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + '/config' + '/mail_config.ini'
mail_config = configparser.ConfigParser()
mail_config.read(mail_config_path)
user = mail_config['163mail']['user']
password = mail_config['163mail']['password']
host = mail_config['163mail']['host']
def send_mail(to, subject, contents, user=user, password=password, host=host):
'''https://github.com/kootenpv/yagmail'''
yag = yagmail.SMTP(user=user, password=password, host=host)
yag.send(to=to, subject=subject, contents=contents)
更新run_login_case_report.py,調用發送報告
import unittest
import configparser
from module_path import *
from test_case.test_login import TestLoginCase
from utils.se_utils import Driver
from utils.HTMLTestRunnerChart import HTMLTestRunner
from utils.mail_utils import send_mail
if __name__ == '__main__':
###### 執行測試用例 ######
cases = unittest.TestLoader().loadTestsFromTestCase(TestLoginCase)
runner = HTMLTestRunner(
title="自動化測試報告",
description="%s ,%s" % (Driver.get_driver().name, cul_platform),
stream=open(report_path, "wb"),
verbosity=2,
retry=0,
save_last_try=True)
runner.run(cases)
# 所有用例運行完後關閉瀏覽器
Driver.quit_driver()
###### 郵件發送 ######
config = configparser.ConfigParser()
config.read(mail_config_path)
project_member = config.items('project_member')
subject = 'Web Ui 自動化測試報告'
body = '正文內容'
to = project_member_list = [x[1] for x in project_member]
html = open(report_path, 'r', encoding='utf-8').read()
file = report_path
send_mail(to=to, subject=subject,
contents=[file])
二、釘釘通知
有空再寫