Web自動化測試項目(五)測試結果通知

一、郵件通知

使用第三方郵件發送庫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])

二、釘釘通知

有空再寫




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章