python实现钉钉机器人自动打卡天天早下班

目录
  • 一,新建钉钉机器人
  • 二,钉钉机器人发送消息
  • 三,钉钉机器人实际的应用

一,新建钉钉机器人

1.钉钉群右上角点击群设置,选择智能群助手,点击添加机器人,选择自定义机器人;

2.给机器人起个名字,消息推送开启,复制出 webhook,后面会用到,勾选自定义关键词,填写关键词(关键词可以随便填写,但是一定要记住,后面会用);

二,钉钉机器人发送消息

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.监控接口自动化结果

实现思路是: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

接口自动化发钉钉群消息还可以再优化,比如可以加上断言失败的错误日志等;

2,监控 qa 环境错误日志

这里贴上周游大佬的一篇博客:https://www.jb51.net/article/250972.htm

此处发送的 qq 邮件,消息查看不方便,且不好共享,可以优化为发钉钉群消息,然后将开发也拉到群里,提高效率;

3,jira 上有钉钉机器人插件,可以每天发送消息 @ 某某开发 还有 N 个待处理 bug,@ 某某测试 还有 N 个待验证 bug,以及监控看板指标达到阈值报警等;

以上就是python实现钉钉机器人自动打卡天天下早班的详细内容,更多关于python钉钉机器人打卡的资料请关注我们其它相关文章!

(0)

相关推荐

  • python 调用钉钉机器人的方法

    以text格式的消息为例:(只需修改content后的内容) Import json Import requests url='https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxx' HEADERS={"Content-Type":"application/json;charset=utf-8"} String_textMsg={"msgtype":"text&

  • python钉钉机器人运维脚本监控实例

    如下所示: #!/usr/bin/python3 # -*- coding:UTF-8-*- # Author: zhuhongqiang from urllib import request import json from sys import argv access_token = "xxx" def send_msg(mobile, item_name): """ 钉钉机器人API接口地址: https://open-doc.dingtalk.co

  • 详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)

    最近疫情比较严重,很多公司依靠阿里旗下的办公软件钉钉来进行远程办公,当然了,钉钉这个产品真的是让人一言难尽,要多难用有多难用,真的让人觉得阿里的pm都是脑残才会设计出这种脑残产品,不过吐槽归吐槽,该用还得用,虽然钉钉别的功能很鸡肋,但是机器人这个功能还是让人眼前一亮,属于比较极客的功能,它可以将第三方服务的信息聚合到钉钉群中,实现信息的自动化同步,例如:通过聚合Github.Gitlab等源码管理服务,实现源码更新同步:通过聚合Trello.JIRA等项目协调服务,实现项目信息同步:同事,支持W

  • 教你如何使用Python开发一个钉钉群应答机器人

    前提 搭建钉钉应答机器人,需要先准备或拥有以下权限: 钉钉企业的管理员或子管理员(如果不是企业管理员,可以自己创建一个企业,很方便的) 有公网通信地址(内网穿透也可以): 钉钉群机器人开发文档:https://developers.dingtalk.com/document/app/overview-of-group-robots 创建「机器人」应用 登录「钉钉开发者后台」,选择「应用开发」--「企业内部开发」-- 「机器人」 输入好机器人的基本信息之后,就会生成创建一个「钉钉机器人」 我们的后

  • python使用自定义钉钉机器人的示例代码

    1.添加自定义机器人 2.编写python代码请求钉钉机器人所给的webhook 钉钉自定义机器人官方文档 安全方式使用加签的方式: 第一步,把timestamp+"\n"+密钥当做签名字符串,使用HmacSHA256算法计算签名,然后进行Base64 encode,最后再把签名参数再进行urlEncode,得到最终的签名(需要使用UTF-8字符集). 参数 说明 timestamp 当前时间戳,单位是毫秒,与请求调用时间误差不能超过1小时 secret 密钥,机器人安全设置页面,加签

  • python实现钉钉机器人自动打卡天天早下班

    目录 一,新建钉钉机器人 二,钉钉机器人发送消息 三,钉钉机器人实际的应用 一,新建钉钉机器人 1.钉钉群右上角点击群设置,选择智能群助手,点击添加机器人,选择自定义机器人: 2.给机器人起个名字,消息推送开启,复制出 webhook,后面会用到,勾选自定义关键词,填写关键词(关键词可以随便填写,但是一定要记住,后面会用): 二,钉钉机器人发送消息 url 就是创建机器人时的 webhook,data 中的 atMobiles 可填写多个手机号,发送的消息会直接 @ 这个人,text 的 con

  • Python实现钉钉/企业微信自动打卡的示例代码

    每天急匆匆赶地铁上班的时候总会一不小心就会忘记打卡,尤其是软件打卡,那有没有什么办法可以解决忘打卡的问题呢?今天给大家推荐一下一款神器,利用Python实现定时自动打卡. 1 前期工具准备 不用说的Python 一部24小时可以放公司的安卓手机或电脑安装模拟器 ADB工具 2 ADB的安装配置 去下载ADB安装包,安装后在环境变量Path中添加目录 2.1 UIautomator2的安装 # 安装 uiautomator2(PC端) pip3 install -U uiautomator2 3

  • 使用Python实现企业微信的自动打卡功能

    上下班打卡是程序员最讨厌的东西,更讨厌的是设置了连上指定wifi打卡. 手机上有一些定时机器人之类的app,经过实际测试,全军覆没,没一个可以活着走到启动企业微信的这一步,所以还是靠自己吧. 下面就通过Python程序来实现自动打卡,原理很简单,用Python设置定时任务,然后通过adb操作手机,完成打卡. 1.准备工作 a.安装了Python,ADB驱动(安装方式及下载地址见之前文章)的电脑一台:常驻在公司的测试机一台:数据线一条. b.将手机通过数据线连接电脑,打开开发者选项中的允许USB调

  • python+selenium 简易地疫情信息自动打卡签到功能的实现代码

    由于学校要求我们每天都要在官网打卡签到疫情信息,多多少少得花个1分钟操作,程序员的尊严告诉我们坚决不能手动打卡.正巧最近学了selenium,于是画了个5分钟写了个自动打卡签到地小程序. 测试环境:python3.7 , selenium,chrome浏览器 seleium和chromedriver的配置在这里就不讲了,这里放个连接 首先找到学校信息门户的登录页: http://my.hhu.edu.cn/login.portal #导入selenium中的webdriver from sele

  • 如何用Python做一个微信机器人自动拉群

    引言 微信群的用户添加逻辑是 -- 当群人数达到100人后,用户无法再通过扫描群二维码加入,只能让用户先添加群内联系人微信,再由联系人把用户拉进来.这样,联系人员的私人微信会添加大量陌生人,给其带来不必要的打扰,而且纯人工操作,也容易出现纰漏. 那么,是否可以通过代码,做一个自动拉群机器人呢? 由微信机器人来实现自动加群功能,一劳永逸解决人工拉群的麻烦. 当然可以.西秦公子 就用Python 创造了一个微信自动拉群机器人,并把它部署运行在UCloud云平台上. 现在,他把机器人构建过程及代码 都

  • 钉钉群自定义机器人消息Python封装的实例

    一.钉钉群自定义机器人介绍 钉钉群机器人是钉钉群的一个高级扩展功能,然而使用起来却非常简单,只有注册一个钉钉账号即可,就可以将第三方服务的信息聚合到钉钉群中,实现信息的自动化同步,例如:通过聚合Github.Gitlab等源码管理服务,实现源码更新同步:通过聚合Trello.JIRA等项目协调服务,实现项目信息同步:同事,支持Webhook协议的自定义接入,支持更多可能性,例如:将运维报警提醒.自动化测试的结果报告提醒.工作.生活日程安排(上班打卡.下班吃饭.健身.读书.生日.纪念日-)等等的提

  • Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)

    T00ls 每日签到是可以获取 TuBi 的,由于常常忘记签到,导致损失了很多 TuBi .于是在 T00ls 论坛搜索了一下,发现有不少大佬都写了自己的签到脚本,签到功能实现.定时任务执行以及签到提醒的方式多种多样,好羡慕啊.所以这里国光也尝试借鉴前辈们的脚本,尝试整合一个自己的自动签到脚本,因为国光有自己的服务器,所以打算使用 Linux 下的 crontab 来定时执行任务,提醒的话使用钉钉和邮件提醒基本上可以满足我的使用需求了,话不多说,下面开始脚本的编写吧. 基础签到 写代码功能得慢慢

  • Python调用钉钉自定义机器人的实现

    前言:由于公司使用钉钉,之前告警都是使用邮箱,但是这种协同效率比较低,所以调用钉钉机器人来实现实时告警. 创建机器人:创建钉钉群,然后添加群机器人. python代码如下: #1.导包 import json import requests #2.钉钉机器人的调用 def dd_robot(msg): HEADERS = {"Content-Type": "application/json;charset=utf-8"} key = "钉钉机器人的KEY&

随机推荐