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

举报
建帅小伙儿 发表于 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


   
  1. # coding=utf-8
  2. """
  3. @project: panglu_test_59
  4. @Author:gaojs
  5. @file: auto_send_dayly_report_email.py
  6. @date:2022/7/14 9:43
  7. @blogs: https://www.gaojs.com.cn
  8. """
  9. import os.path
  10. import time
  11. import smtplib
  12. import schedule
  13. from selenium import webdriver
  14. from email.mime.text import MIMEText
  15. from selenium.webdriver.chrome.options import Options
  16. def get_report_source_code():
  17. """
  18. 获取test报告源码页面
  19. """
  20. if not os.path.exists('error'):
  21. os.mkdir('error')
  22. url = 'http://[192::1:192]/cgi-bin/test_report.pl?build=netIAG_3_2_0_7_gaojs_713'
  23. chrome_options = Options()
  24. chrome_options.add_argument('--headless')
  25. chrome_options.add_argument('--disable-gpu')
  26. driver = webdriver.Chrome(options=chrome_options)
  27. driver.get(url)
  28. driver.maximize_window()
  29. source_code = driver.page_source
  30. # return source_code:修改源码报告宽度
  31. source_code = re.sub(r'800px', '60%', source_code)
  32. # print(source_code)
  33. source_code = re.sub('95', '130', source_code)
  34. print(source_code)
  35. with open('./test_report.html', mode='w') as fin:
  36. fin.write(source_code)
  37. driver.close()
  38. return source_code
  39. def send_email():
  40. """
  41. 发送test_report邮件
  42. """
  43. # 获取页面源码
  44. source_code = get_report_source_code()
  45. # 以126邮箱为例
  46. # ----------------发件相关参数----------------
  47. smtpserver = 'smtp.126.com'
  48. port = 0
  49. sender = 'testops_jianshuai@126.com'
  50. password = 'xxxxxxxxxxxxIAPTAQST'
  51. # receicer = '13152027756@163.com', 'gaojs@arraynetworks.com.cn', 'gesk@arraynetworks.com.cn'
  52. receicer = ['sunyb@arraynetworks.com.cn', 'gaojs@arraynetworks.com.cn', 'gesk@arraynetworks.com.cn', 'leixc@arraynetworks.com.cn', 'linn@arraynetworks.com.cn', '13152027756@163.com',]
  53. # ----------------编辑邮件内容----------------
  54. subject = 'netIAG每日构建测试报告'
  55. body = f'<p>{source_code}<p>'
  56. msg = MIMEText(body, 'html', 'UTF-8')
  57. msg['from'] = sender
  58. # 调试发送单个用户
  59. # msg['to'] = receicer
  60. # 发送多个用户,封号的意思就是邮件用户之间用封号隔开
  61. msg['to'] = ';'.join(receicer)
  62. msg['subject'] = subject
  63. # ------------------发送邮件-----------------
  64. smtp = smtplib.SMTP()
  65. smtp.connect(smtpserver)
  66. smtp.login(sender, password)
  67. smtp.sendmail(sender, receicer, msg.as_string())
  68. smtp.quit()
  69. # if __name__ == '__main__':
  70. # send_email()
  71. # 每天凌晨发送邮件给同事
  72. schedule.every().day.at("07:30").do(send_email)
  73. while True:
  74. # 启动任务
  75. schedule.run_pending()
  76. 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个月内不可修改。