中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何實現釘釘機器人自動打卡天天早下班

發布時間:2022-06-10 10:00:37 來源:億速云 閱讀:720 作者:zzz 欄目:開發技術

今天小編給大家分享一下python如何實現釘釘機器人自動打卡天天早下班的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

一,新建釘釘機器人

1.釘釘群右上角點擊群設置,選擇智能群助手,點擊添加機器人,選擇自定義機器人;

python如何實現釘釘機器人自動打卡天天早下班

2.給機器人起個名字,消息推送開啟,復制出 webhook,后面會用到,勾選自定義關鍵詞,填寫關鍵詞(關鍵詞可以隨便填寫,但是一定要記住,后面會用);

python如何實現釘釘機器人自動打卡天天早下班

python如何實現釘釘機器人自動打卡天天早下班

二,釘釘機器人發送消息

url 就是創建機器人時的 webhook,data 中的 atMobiles 可填寫多個手機號,發送的消息會直接 @ 這個人,text 的 content 里面一定要加上創建機器人時設置的關鍵詞,msgtype 意思時文本格式,也可以 link 格式,就可以放鏈接了;

def send_text(self):
        url = "https://oapi.dingtalk.com/robot/send?access_token=43c4dab2ac31125e605c458b4b9561a73"
        headers = {'Content-Type': 'application/json'}
        data = {"at": {"atMobiles":["18206264857"],"atUserIds":["user123"],"isAtAll": False},
                "text": {"content":"砍價小程序接口自動化測試"},"msgtype":"text"},"msgtype":"text"}
        requests.post(url,headers=headers,data=json.dumps(data))

三,釘釘機器人實際的應用

1.監控接口自動化結果

python如何實現釘釘機器人自動打卡天天早下班

實現思路是:jenkins 定時執行自動化——執行完后生成 html 報告——BeautifulSoup 模塊解析 html 報告——發送釘釘消息

如下代碼:

解析 html 的模塊:

from common.handle_path import html_path
from bs4 import BeautifulSoup
class GetHtml:
    """
    讀取測試報告,解析html  獲得測試用例總數,通過數等,發送到釘釘
    """
    def get_total(self):
        with open(html_path, "r", encoding="utf-8") as f:
            file = f.read()
            soup = BeautifulSoup(file, 'html.parser')  # 使用BeautifulSoup庫解析網頁內容
            item = soup.find_all("p")[1].string  # 使用BeautifulSoup庫的標簽方法找到你需要的內容
            return str(item)
    def get_pass(self):
        with open(html_path, "r", encoding="utf-8") as f:
            file = f.read()
            soup = BeautifulSoup(file, 'html.parser')  # 使用BeautifulSoup庫解析網頁內容
            item = soup.find_all("span",class_="passed")[0].string  # 使用BeautifulSoup庫的標簽方法找到你需要的內容
            return str(item)
    def get_skipped(self):
        with open(html_path, "r", encoding="utf-8") as f:
            file = f.read()
            soup = BeautifulSoup(file, 'html.parser')  # 使用BeautifulSoup庫解析網頁內容
            item = soup.find_all("span",class_="skipped")[0].string  # 使用BeautifulSoup庫的標簽方法找到你需要的內容
            return str(item)
    def get_failed(self):
        with open(html_path, "r", encoding="utf-8") as f:
            file = f.read()
            soup = BeautifulSoup(file, 'html.parser')  # 使用BeautifulSoup庫解析網頁內容
            item = soup.find_all("span",class_="failed")[0].string  # 使用BeautifulSoup庫的標簽方法找到你需要的內容
            return str(item)
    def get_error(self):
        with open(html_path, "r", encoding="utf-8") as f:
            file = f.read()
            soup = BeautifulSoup(file, 'html.parser')  # 使用BeautifulSoup庫解析網頁內容
            item = soup.find_all("span",class_="error")[0].string  # 使用BeautifulSoup庫的標簽方法找到你需要的內容
            return str(item)
    def get_xfailed(self):
        with open(html_path, "r", encoding="utf-8") as f:
            file = f.read()
            soup = BeautifulSoup(file, 'html.parser')  # 使用BeautifulSoup庫解析網頁內容
            item = soup.find_all("span",class_="xfailed")[0].string  # 使用BeautifulSoup庫的標簽方法找到你需要的內容
            return str(item)
    def get_xpassed(self):
        with open(html_path, "r", encoding="utf-8") as f:
            file = f.read()
            soup = BeautifulSoup(file, 'html.parser')  # 使用BeautifulSoup庫解析網頁內容
            item = soup.find_all("span",class_="xpassed")[0].string  # 使用BeautifulSoup庫的標簽方法找到你需要的內容
            return str(item)
if __name__ == '__main__':
    t = GetHtml()
    t.get_xpassed()

如下代碼:

發送釘釘消息的模塊:

import requests
import json
from common.handle_readhtml import GetHtml
class SendMassage:
    """
    發送測試結果到釘釘群
    """
    result = GetHtml()
    total = result.get_total()
    passed = result.get_pass()
    skipped = result.get_skipped()
    failed = result.get_failed()
    error = result.get_error()
    xfailed = result.get_xfailed()
    xpassed = result.get_xpassed()
    def send_text(self):
        url = "https://oapi.dingtalk.com/robot/send?access_token=43c4dab2ac3152e605c458b4b9561a73"
        headers = {'Content-Type': 'application/json'}
        data = {"at": {"atMobiles":["18206233880"],"atUserIds":["user123"],"isAtAll": False},
                "text": {"content":"砍價小程序接口自動化測試 \n total       : {}\n passed   : {},\n skipped : {},\n failed    : {},\n error     : {},\n xfailed   : {},\n xpassed : {}".format(self.total,self.passed,self.skipped,self.failed,self.error,self.xfailed,self.xpassed)},"msgtype":"text"}
        requests.post(url,headers=headers,data=json.dumps(data))
if __name__ == '__main__':
    s = SendMassage()
    s.send_text()

jenkins 配置的 shell 為:

先執行接口自動化腳本,等待一會然后發送釘釘消息;

${PYTHON} main.py
sleep 100
${PYTHON} handle_dingding.py

接口自動化發釘釘群消息還可以再優化,比如可以加上斷言失敗的錯誤日志等;

python如何實現釘釘機器人自動打卡天天早下班

2,監控 qa 環境錯誤日志

此處發送的 qq 郵件,消息查看不方便,且不好共享,可以優化為發釘釘群消息,然后將開發也拉到群里,提高效率;

3,jira 上有釘釘機器人插件,可以每天發送消息 @ 某某開發 還有 N 個待處理 bug,@ 某某測試 還有 N 個待驗證 bug,以及監控看板指標達到閾值報警等;

以上就是“python如何實現釘釘機器人自動打卡天天早下班”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

驻马店市| 汪清县| 黑水县| 陆丰市| 汉中市| 额敏县| 堆龙德庆县| 乃东县| 祁阳县| 彰武县| 玉环县| 高陵县| 醴陵市| 翁牛特旗| 昌江| 肇源县| 镇坪县| 常州市| 湘潭市| 平遥县| 徐汇区| 蓝山县| 苍溪县| 临夏市| 建平县| 灌南县| 颍上县| 海宁市| 林西县| 明星| 称多县| 榆中县| 承德县| 徐水县| 肥乡县| 大理市| 铜鼓县| 商都县| 资阳市| 丹阳市| 炉霍县|