自动定时发送每日构建测试报告

举报
建帅小伙儿 发表于 2022/09/25 03:33:45 2022/09/25
【摘要】 自动定时发送每日构建测试报告 auto_send_dayly_report_email.py # coding=utf-8""" @project: panglu_test_59 @Author:gaojs @file: auto_send_dayly_report_email.py @date:2...

自动定时发送每日构建测试报告

auto_send_dayly_report_email.py


       # coding=utf-8
       """
        @project: panglu_test_59
        @Author:gaojs
        @file: auto_send_dayly_report_email.py
        @date:2022/7/14 9:43
        @blogs: https://www.gaojs.com.cn
       """
       import os.path
       import time
       import smtplib
       import schedule
       from selenium import webdriver
       from email.mime.text import MIMEText
       from selenium.webdriver.chrome.options import Options
       def get_report_source_code():
          """
        获取test报告源码页面
        """
          if not os.path.exists('error'):
               os.mkdir('error')
           url = 'http://[192::1:192]/cgi-bin/test_report.pl?build=netIAG_3_2_0_7_gaojs_713'
           chrome_options = Options()
           chrome_options.add_argument('--headless')
           chrome_options.add_argument('--disable-gpu')
           driver = webdriver.Chrome(options=chrome_options)
           driver.get(url)
           driver.maximize_window()
           source_code = driver.page_source
          # return source_code:修改源码报告宽度
           source_code = re.sub(r'800px', '60%', source_code)
          # print(source_code)
           source_code = re.sub('95', '130', source_code)
          print(source_code)
          with open('./test_report.html', mode='w') as fin:
               fin.write(source_code)
           driver.close()
          return source_code
       def send_email():
          """
        发送test_report邮件
        """
          # 获取页面源码
           source_code = get_report_source_code()
          # 以126邮箱为例
          # ----------------发件相关参数----------------
           smtpserver = 'smtp.126.com'
           port = 0
           sender = 'testops_jianshuai@126.com'
           password = 'xxxxxxxxxxxxIAPTAQST'
          # receicer = '13152027756@163.com', 'gaojs@arraynetworks.com.cn', 'gesk@arraynetworks.com.cn'
           receicer = ['sunyb@arraynetworks.com.cn', 'gaojs@arraynetworks.com.cn', 'gesk@arraynetworks.com.cn', 'leixc@arraynetworks.com.cn', 'linn@arraynetworks.com.cn', '13152027756@163.com',]
          # ----------------编辑邮件内容----------------
           subject = 'netIAG每日构建测试报告'
           body = f'<p>{source_code}<p>'
           msg = MIMEText(body, 'html', 'UTF-8')
           msg['from'] = sender
          # 调试发送单个用户
          # msg['to'] = receicer
          # 发送多个用户,封号的意思就是邮件用户之间用封号隔开
           msg['to'] = ';'.join(receicer)
           msg['subject'] = subject
          # ------------------发送邮件-----------------
           smtp = smtplib.SMTP()
           smtp.connect(smtpserver)
           smtp.login(sender, password)
           smtp.sendmail(sender, receicer, msg.as_string())
           smtp.quit()
       # if __name__ == '__main__':
       # send_email()
       # 每天凌晨发送邮件给同事
       schedule.every().day.at("07:30").do(send_email)
       while True:
          # 启动任务
           schedule.run_pending()
           time.sleep(1)
   
  

文章来源: blog.csdn.net,作者:懿曲折扇情,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_41332844/article/details/126837479

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。