Web自动化测试项目测试结果通知

Posted 深圳-逸遥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web自动化测试项目测试结果通知相关的知识,希望对你有一定的参考价值。

一、邮件通知

使用第三方邮件发送库yagmail
github地址:https://github.com/kootenpv/yagmail

安装

pip3 install yagmail

demo.py

import yagmail
# password为登陆密码或者授权码,yagmail SSL默认开启
yag = yagmail.SMTP(user='xxxxxx@163.com', password='xxxxxxx', host='smtp.163.com')
to = 'xxxxxx@qq.com'
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]
user=XXXXXX@163.com
password=XXXXXX
host=smtp.163.com

[project_member]
# 测试人员1
ceshi_1=XXXXXX@qq.com
# 测试人员2
ceshi_2=XXXXXX@qq.com

在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])

二、钉钉通知

有空再写




以上是关于Web自动化测试项目测试结果通知的主要内容,如果未能解决你的问题,请参考以下文章

web自动化测试的流程?

jenkins做自动化测试如何将多个项目的结果邮件组成一个结果邮件发送?

web自动化测试计划和步骤

Web自动化测试:邮件发送测试报告

web自动化测试记录

利用pytest hook函数实现自动化测试结果推送企业微信