1. 程式人生 > >python自動化程式碼實現自動傳送HTML報告到郵箱以及定時任務

python自動化程式碼實現自動傳送HTML報告到郵箱以及定時任務

# coding =utf-8
import os
import unittest
import time
import datetime
import smtplib
from email.mime.text import MIMEText
from HTMLTestRunner import HTMLTestRunner


def all_cases():
        case_path = os.getcwd()

        discover = unittest.defaultTestLoader.discover(case_path, pattern='test*.py', top_level_dir=None)
        return discover


def run(report_path):
        with open(report_path, 'wb') as f:
            runner = HTMLTestRunner(stream=f, title="interface report", description="results like following:", verbosity=2)
            runner.run(all_cases())
        f.close()


def timer(report_path, hour, minute):
    flag = 1
    while flag:
        while flag:
            now = datetime.datetime.now()
            if now.hour == hour and now.minute == minute:
                break
            time.sleep(10)
        # run(report_path)
        email_send(report_path)
        flag = 0


def email_send(report_path):
        run(report_path)
        msg_from = '
[email protected]
' # sender passwd = 'qwynqamishiecjae' # authentication code msg_to = '[email protected]' # receiver #如果多個接受者用列表 ['[email protected]','[email protected]'] subject = "python_email_test" f = open(report_path, 'rb') mail_body = f.read() f.close() msg=MIMEText(mail_body, _subtype='html', _charset='utf-8') msg['Subject'] = subject msg['From'] = msg_from msg['To'] = msg_to try: s = smtplib.SMTP_SSL("smtp.qq.com", 465) s.login(msg_from, passwd) s.sendmail(msg_from, msg_to, msg.as_string()) print("send success") except smtplib.SMTPException as e: print("send fail") finally: s.quit() if __name__ == "__main__": job_name = time.strftime('job_%Y%m%d%H%M%S', time.localtime()) + '.html' path = os.path.join(os.path.dirname(__file__), 'report') report_path = os.path.join(path, job_name) email_send(report_path) timer(report_path, hour=15, minute=8)

相關推薦

python自動化程式碼實現自動傳送HTML報告郵箱以及定時任務

# coding =utf-8 import os import unittest import time import datetime import smtplib from email.mime.text import MIMEText from HTML

python自動化,凌晨自動把執行報告發給專案總監

工作做完了,專案總監硬是要我們集體加班到凌晨,你說我能怎麼辦?家裡還有老婆孩子等著我回家做飯呢。委屈。好了,不裝逼了。下面小編就分享一個python自動化黑科技,讓你在凌晨自動傳送執行報告給總監,提前下班啦,哈哈! 話不多說,上乾貨~ 小編推薦大家可以加我的扣扣群 735934841 。裡面有海量視訊教程

python 自動化程式碼生成html 報告

先介紹比較low的方法一: import unittest from unittest import TestSuite,TextTestRunner from HTMLTestRunner import HTMLTestRunner class Test1(

測試基於Python將某網前10條資訊獲取並實現自動傳送QQ群

1.準備工作 此次測試基於python3,需要安裝qqbot、bs4、requests庫。 qqbot專案地址:https://github.com/pandolia/qqbot.git pip qqbot pip install bs4 pip install requests #更改q

1024程式設計師節-程式碼實現自動下載英語聽力音訊檔案

背景     小馬英語,《每天10分鐘英語聽力-基礎篇》,由於音訊檔案是通過掃碼獲取播放音訊檔案的連結頁面,這樣極為不方便,所以想直接把所有音訊檔案下載好放在QQ音樂裡面,然後像播放歌曲一樣來聽聽力訓練。然而,音訊連結頁面並不提供下載的連結,新東方的音訊檔案是這樣的,有下載按

Python示例程式碼之郵件傳送

          定時郵件傳送或告警郵件實時傳送是工作中常用的功能之一,該功能需要呼叫傳送郵件模組,如下為親測可用的Python編寫的郵件傳送程式碼,該程式碼使用qq郵箱可正常傳送郵件,使用163郵箱時提示554錯誤碼郵件無法正常發出。

10 行程式碼實現簡訊傳送!把頻率調快點不就成了轟炸機了?超簡單

最近工作上有個需求,當爬蟲程式遇到異常的時候,需要通知相應的人員進行修復。如果是國外可能是通過郵件的方式來通知,但國內除了萬年不變的 qq 郵箱,大部分人都不會去再申請其他的賬號,qq 郵箱也是閒的蛋疼的時候才會瞄一眼。你還記得上次看郵箱的內容是什麼時候嗎? 所以在國內最好的通知方式是通過手機簡

用nodeMailer實現自動傳送一個簡單的郵件

package.json:   "nodemailer": "^2.3.2", "nodemailer-smtp-transport": "^2.4.2"     ^ :向

《大話設計模式》Python程式碼實現

一、簡單工廠模式 模式特點:工廠根據條件產生不同功能的類。 程式例項:四則運算計算器,根據使用者的輸入產生相應的運算類,用這個運算類處理具體的運算。 程式碼特點:C/C++中的switch...case...分支使用字典的方式代替。      使用異常機制

python的yagmail庫-自動傳送郵件功能

一、yagmail安裝 使用pip install yagmail命令安裝。我的環境是python2.7.15,使用pip直接安裝就ok了。 二、例項 1、開通SMTP服務 檢查使用的郵箱伺

前端要完!人工智慧已經能實現自動編寫 HTML 和 CSS

點選上方“CSDN”,選擇“置頂公眾號”關鍵時刻,第一時間送達!【CSDN 編者按】一個月前,我

python簡潔程式碼實現快速排序

**快速排序 最優時間複雜度為nlogn,因為要完成n個巢狀呼叫,,但比氣泡排序要快 python實現邏輯過程是這樣得。 1.設定兩個遊標 left跟right 2.設定基準值,網上有方案設定中間數為基準值,但計算比較麻煩,而且並不一定高效,這裡設定列表最右的那個元素為基準值, 3.

【2018.05.07】python3.6+selenium 實現自動登入126/163郵箱,然後傳送郵件

  # coding:utf-8 ''' 說明: 這個自動化指令碼要實現的是: 自動登入126/163郵箱, 傳送郵件遇到的問題:什麼時候切控制代碼, 有些總是定位不到的屬性如何定位(css)值得擁有 ''' from selenium import webdriver impor

如何通過程式碼實現自動安裝、啟動和解除安裝Windows服務

首先如何開發自己的Windows服務呢?開啟你的vs,新建一個專案,選擇“Windows服務”,會建立一個Windows服務專案,裡面會包含一個“Service1.cs”檔案,開啟這個檔案,單擊右鍵選擇“檢視程式碼”,程式碼結構如下: using System.Data;

python之pexpect實現自動互動

Pexpect 是 Expect 語言的一個 Python 實現,是一個用來啟動子程式,並使用正則表示式對程式輸出做出特定響應,以此實現與其自動互動的 Python 模組。 Pexpect 的使用範圍很廣,可以用來實現與 ssh、ftp 、telnet 等程式的自動互動;可以用來自動複製軟體安裝包並在不同機器

python一行程式碼實現百度翻譯和有道翻譯結果獲取-----py學習爬蟲歷程(一)

更新(18-6-2):利用requests庫只需一行程式碼就可以獲取結果,程式碼在最後前言:本文參考於https://blog.csdn.net/c406495762/article/details/59095864一.本節主要用到的知識1-1:urllib.request.

Python一行程式碼實現100以內奇數和

關鍵詞 列表生成式 求和函式 使用列表生成式得到1~100以內的奇數 >>>l = list(x for x in range(1, 101) if x % 2 !=

[CentOS Python系列] 一.阿里雲伺服器安裝部署及第一個Python爬蟲程式碼實現

從2014年開始,作者主要寫了三個Python系列文章,分別是基礎知識、網路爬蟲和資料分析。它們都是基於Windows系統下的Python程式設計,每個系列都從安裝過程、基礎知識到實際應用三個方面進行講

NSLayoutConstraint-程式碼實現自動佈局的函式用法說明

1 2 3 4 5 6 7 [NSLayoutConstraint constraintWithItem:(id)item attribute:(NSLayoutAttribute)attribute relatedBy:(NSLayou

jmeter+ant+jenkins自動化構建成功自動傳送郵件

二、修改build build.xml 檔案內容如下,copy一份進去,相關地址需要修改 <?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-test"