最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實(shí)現(xiàn)釘釘機(jī)器人自動(dòng)打卡天天早下班

 更新時(shí)間:2022年06月09日 14:42:16   作者:lei.hou  
這篇文章主要為大家介紹了python實(shí)現(xiàn)釘釘機(jī)器人自動(dòng)打卡天天下早班實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

一,新建釘釘機(jī)器人

1.釘釘群右上角點(diǎn)擊群設(shè)置,選擇智能群助手,點(diǎn)擊添加機(jī)器人,選擇自定義機(jī)器人;

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

二,釘釘機(jī)器人發(fā)送消息

url 就是創(chuàng)建機(jī)器人時(shí)的 webhook,data 中的 atMobiles 可填寫多個(gè)手機(jī)號(hào),發(fā)送的消息會(huì)直接 @ 這個(gè)人,text 的 content 里面一定要加上創(chuàng)建機(jī)器人時(shí)設(shè)置的關(guān)鍵詞,msgtype 意思時(shí)文本格式,也可以 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":"砍價(jià)小程序接口自動(dòng)化測(cè)試"},"msgtype":"text"},"msgtype":"text"}
        requests.post(url,headers=headers,data=json.dumps(data))

三,釘釘機(jī)器人實(shí)際的應(yīng)用

1.監(jiān)控接口自動(dòng)化結(jié)果

實(shí)現(xiàn)思路是:jenkins 定時(shí)執(zhí)行自動(dòng)化——執(zhí)行完后生成 html 報(bào)告——BeautifulSoup 模塊解析 html 報(bào)告——發(fā)送釘釘消息

如下代碼:

解析 html 的模塊:

from common.handle_path import html_path
from bs4 import BeautifulSoup
class GetHtml:
    """
    讀取測(cè)試報(bào)告,解析html  獲得測(cè)試用例總數(shù),通過(guò)數(shù)等,發(fā)送到釘釘
    """
    def get_total(self):
        with open(html_path, "r", encoding="utf-8") as f:
            file = f.read()
            soup = BeautifulSoup(file, 'html.parser')  # 使用BeautifulSoup庫(kù)解析網(wǎng)頁(yè)內(nèi)容
            item = soup.find_all("p")[1].string  # 使用BeautifulSoup庫(kù)的標(biāo)簽方法找到你需要的內(nèi)容
            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庫(kù)解析網(wǎng)頁(yè)內(nèi)容
            item = soup.find_all("span",class_="passed")[0].string  # 使用BeautifulSoup庫(kù)的標(biāo)簽方法找到你需要的內(nèi)容
            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庫(kù)解析網(wǎng)頁(yè)內(nèi)容
            item = soup.find_all("span",class_="skipped")[0].string  # 使用BeautifulSoup庫(kù)的標(biāo)簽方法找到你需要的內(nèi)容
            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庫(kù)解析網(wǎng)頁(yè)內(nèi)容
            item = soup.find_all("span",class_="failed")[0].string  # 使用BeautifulSoup庫(kù)的標(biāo)簽方法找到你需要的內(nèi)容
            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庫(kù)解析網(wǎng)頁(yè)內(nèi)容
            item = soup.find_all("span",class_="error")[0].string  # 使用BeautifulSoup庫(kù)的標(biāo)簽方法找到你需要的內(nèi)容
            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庫(kù)解析網(wǎng)頁(yè)內(nèi)容
            item = soup.find_all("span",class_="xfailed")[0].string  # 使用BeautifulSoup庫(kù)的標(biāo)簽方法找到你需要的內(nèi)容
            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庫(kù)解析網(wǎng)頁(yè)內(nèi)容
            item = soup.find_all("span",class_="xpassed")[0].string  # 使用BeautifulSoup庫(kù)的標(biāo)簽方法找到你需要的內(nèi)容
            return str(item)
if __name__ == '__main__':
    t = GetHtml()
    t.get_xpassed()

如下代碼:

發(fā)送釘釘消息的模塊:

import requests
import json
from common.handle_readhtml import GetHtml
class SendMassage:
    """
    發(fā)送測(cè)試結(jié)果到釘釘群
    """
    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":"砍價(jià)小程序接口自動(dòng)化測(cè)試 \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 為:

先執(zhí)行接口自動(dòng)化腳本,等待一會(huì)然后發(fā)送釘釘消息;

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

接口自動(dòng)化發(fā)釘釘群消息還可以再優(yōu)化,比如可以加上斷言失敗的錯(cuò)誤日志等;

2,監(jiān)控 qa 環(huán)境錯(cuò)誤日志

這里貼上周游大佬的一篇博客:http://m.fzitv.net/article/250972.htm

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

3,jira 上有釘釘機(jī)器人插件,可以每天發(fā)送消息 @ 某某開發(fā) 還有 N 個(gè)待處理 bug,@ 某某測(cè)試 還有 N 個(gè)待驗(yàn)證 bug,以及監(jiān)控看板指標(biāo)達(dá)到閾值報(bào)警等;

以上就是python實(shí)現(xiàn)釘釘機(jī)器人自動(dòng)打卡天天下早班的詳細(xì)內(nèi)容,更多關(guān)于python釘釘機(jī)器人打卡的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 深入學(xué)習(xí)Python可變與不可變對(duì)象操作實(shí)例

    深入學(xué)習(xí)Python可變與不可變對(duì)象操作實(shí)例

    Python中的數(shù)據(jù)類型可以分為可變對(duì)象和不可變對(duì)象,了解它們之間的區(qū)別對(duì)于編寫高效的Python代碼至關(guān)重要,本文將詳細(xì)介紹可變對(duì)象和不可變對(duì)象的概念,以及如何正確地使用它們來(lái)提高代碼的性能和可讀性
    2023-12-12
  • 詳解python 破解網(wǎng)站反爬蟲的兩種簡(jiǎn)單方法

    詳解python 破解網(wǎng)站反爬蟲的兩種簡(jiǎn)單方法

    這篇文章主要介紹了詳解python 破解網(wǎng)站反爬蟲的兩種簡(jiǎn)單方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • python單元測(cè)試框架unittest基本用法案例

    python單元測(cè)試框架unittest基本用法案例

    unittest庫(kù)unittest庫(kù)是python的內(nèi)置庫(kù),用來(lái)對(duì)程序進(jìn)行測(cè)試,下面這篇文章主要給大家介紹了關(guān)于python中單元測(cè)試框架unittest基本用法的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • Python中pickle模塊的使用詳解

    Python中pickle模塊的使用詳解

    這篇文章主要介紹了Python中pickle模塊的使用詳解,python的pickle模塊提供了一個(gè)簡(jiǎn)答的持久化功能,可以將對(duì)象以文件的形式存放在磁盤上,pickle模塊實(shí)現(xiàn)了基本的數(shù)據(jù)序列化和反序列化,需要的朋友可以參考下
    2023-08-08
  • 下載安裝好python后想查看python安裝位置的幾種方法

    下載安裝好python后想查看python安裝位置的幾種方法

    這篇文章主要介紹了在Windows系統(tǒng)中查看Python路徑和版本的幾種方法,并提供了一個(gè)清除命令行窗口的技巧,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • python如何在文件中部插入信息

    python如何在文件中部插入信息

    這篇文章主要介紹了python如何在文件中部插入信息問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Pandas中兩個(gè)dataframe的交集和差集的示例代碼

    Pandas中兩個(gè)dataframe的交集和差集的示例代碼

    這篇文章主要介紹了Pandas中兩個(gè)dataframe的交集和差集的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Django使用django-simple-captcha做驗(yàn)證碼的實(shí)現(xiàn)示例

    Django使用django-simple-captcha做驗(yàn)證碼的實(shí)現(xiàn)示例

    這篇文章主要介紹了Django使用django-simple-captcha做驗(yàn)證碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python 字符串與二進(jìn)制串的相互轉(zhuǎn)換示例

    Python 字符串與二進(jìn)制串的相互轉(zhuǎn)換示例

    今天小編就為大家分享一篇Python 字符串與二進(jìn)制串的相互轉(zhuǎn)換示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Python字符串str和json格式相互轉(zhuǎn)換

    Python字符串str和json格式相互轉(zhuǎn)換

    這篇文章主要介紹了Python字符串str和json格式相互轉(zhuǎn)換,str轉(zhuǎn)換為json格式,前提一定需要保證這個(gè)str的格式和json是一致的。下文小編向大家介紹更多相關(guān)內(nèi)容,需要的朋友可以參考一下
    2022-03-03

最新評(píng)論

修武县| 平昌县| 长顺县| 永丰县| 通州区| 应用必备| 河东区| 京山县| 陈巴尔虎旗| 宽甸| 康保县| 孝昌县| 兰坪| 赤水市| 芦溪县| 托克托县| 光山县| 竹山县| 莱阳市| 太仆寺旗| 青川县| 方正县| 安吉县| 天水市| 七台河市| 定安县| 赫章县| 临夏市| 射洪县| 文成县| 杨浦区| 靖西县| 江陵县| 古浪县| 宁德市| 三门县| 扶绥县| 清新县| 阆中市| 东辽县| 安达市|