Ejemplo n.º 1
0
def main():
    cf = Config()
    report_dir = cf.get_report_dir()
    now = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
    report_name = os.path.join(report_dir, 'report_' + now + '.html')
    pytest.main(["-q", "case", "--html=" + report_name])
    send_email(report_name)
Ejemplo n.º 2
0
def send_email(report_name):
    cf = Config()
    logger = Log.get_logger()
    report_file = os.path.join(cf.get_report_dir(), report_name)
    # 2. 配置email正文MIMEText
    with open(report_file, 'rb') as f:
        email_body = f.read()
    msg = MIMEText(email_body, 'html', 'utf-8')

    # 3. 配置email头部信息
    msg['Subject'] = Header(cf.get_email('subject'), 'utf-8')
    msg['From'] = cf.get_email('smtp_user')
    msg['To'] = cf.get_email('receiver').replace(",", ";")

    # 4. 连接smtp服务器,发送邮件
    try:
        smtp = smtplib.SMTP()
        smtp.connect(cf.get_email('smtp_host'))
        smtp.login(cf.get_email('smtp_user'), cf.get_email('smtp_passwd'))
        for receiver in cf.get_email('receiver').split(","):
            smtp.sendmail(cf.get_email('smtp_user'), receiver.strip(), msg.as_string())
        smtp.quit()
        logger.info("测试报告邮件已发送")
    except Exception as ex:
        logger.error(str(ex))