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

    二、钉钉通知

    有空再写
    


  • 相关阅读:
    [2021.8集训Day10/JZOJ.3410]【GDOI2014模拟】Tree
    [2021.8集训Day10/JZOJ.3441]【NOIP2013模拟】小喵喵的新家
    [模板]模拟退火 / 洛谷 P1337 [JSOI2004]平衡点
    P1600 [NOIP2016 提高组] 天天爱跑步
    P4556 [Vani有约会]雨天的尾巴 /【模板】线段树合并
    selenium的三种等待
    python中socket、socketio、flask-socketio、WebSocket的区别与联系
    (十二)python3 迭代器
    (十一)python3 encode()和decode()
    (十)python3 生成器
  • 原文地址:https://www.cnblogs.com/snailrunning/p/12236330.html
Copyright © 2020-2023  润新知