Menu Close

MeterSphere实现“机器人定时在企业微信群中发送消息”的功能

以下文章来源于CSDN,作者为pytester。

本文主要演示通过Metersphere一站式开源持续测试平台实现“机器人定时在企业微信群发送信息”功能的方法步骤。

背景

之前有过用PowerShell实现“机器人定时在企业微信群中发送消息”功能,并输出相关教程。

但在这个过程中,我发现了一些“电脑关机了导致任务不能如期启动”之类的问题,于是在摸索中找到可替代PowerShell的工具来实现定时发送消息,也就是本期内容的主角——Metersphere一站式开源持续测试平台。Metersphere可以实现接口自动化,并且可以设置定时任务。

接下来我们可以通过Metersphere来逐步实现“机器人定时在企业微信群中发送消息”的功能。

在企业微信添加群机器人

点击你需要添加群机器人的群→右键→点击“添加群机器人”选项即可。

简单用机器人发送消息

1. 添加机器人后,保存好机器人的Webhook地址(后续用到)。

2. 打开Postman。

• 请求方式为:POST

• 请求URL为:机器人的Webhook地址

• 请求Body为:

{
    "msgtype": "text",
    "text": {
        "content": "Hi All ,下班前 记得填写 今日工作 & 明日计划 哦~
-----------------------分割线---------------------------
【今日工作】
1、

【明日计划】
1、
        ",
        "mentioned_list": [
            "@all"
        ]
    }
}

3. 以上填写好之后,点击Send(发送)。

4. 显示“response.status=200 OK”,说明触发成功了,可以查看企业微信是否收到机器人发出来的消息。

设置在企业微信群中定时发送消息

MeterSphere 是一站式开源持续测试平台, 涵盖测试跟踪、接口测试、性能测试、 团队协作等功能,兼容JMeter等开源标准,有效助力开发和测试团队充分利用云弹性进行高度可扩展的自动化测试,加速高质量的软件交付。

注意:

如果企业内部用的是Metersphere作为测试管理工具,才推荐用Metersphere来实现“机器人定时在企业微信群中发送消息”功能。如果是个人的话,不太推荐使用Metersphere来实现此功能。

虽然个人可以申请Metersphere企业试用,但Metersphere会给申请人邮箱发送Demo超管权限账号,可以看到所有人的数据,也有权更改其他人的数据,所以体验版最好不要将自己企业微信群机器人的Webhook地址放上去。

具体步骤如下:

1. 进入Metersphere页面。

2. 点击某个项目→点击菜单栏的 “接口自动化”标签。

3. 点击“+ ”,创建场景。

4. 正确填写带 “* ”的必填项。

5. 点击“+ ”号按钮。

6. 选择“自定义请求”选项。

7. 填写具体内容。

• 请求名称:必填

• 请求类型:HTTP

• 请求方式:POST

• 请求URL:企业微信机器人Webhook地址

• 请求参数:JSON

• 请求Body:

{
    "msgtype": "text",
    "text": {
        "content": "Hi All ,下班前 记得填写 今日工作 & 明日计划 哦~
-----------------------分割线---------------------------
【今日工作】
1、

【明日计划】
1、
        ",
        "mentioned_list": [
            "@all"
        ]
    }
}

如下图:

8. 点击“调试”按钮,验证Metersphere实现“机器人在企业微信群中发送消息”功能是否成功。

9. 调试成功(注:调试成功后会自动保存)。

企业微信群也同样收到机器人发来的消息,接下来实现 :定时任务。

Metersphere定时任务设置

1. 上述新建的接口保存后,在列表需要设置定时任务的接口数据末尾点击“… ”,再点击“定时任务”选项,进入到定时任务设置。

2. 点击“生成表达式”选项。

3. 这里可以自己设置运行规则,下方会根据你设置的规则 ,联动出现“最近5次运行时间”。可以预览设置的“规则”是不是你预期想要的(注意:实际操作时,这个操作可能是不太方便的)。

4. 这里有整理几个常用的定时运行规则。例如:

5. 更多规则如下:

■ 0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时;

■ 0 0 12 * * ? 每天12点触发;

■ 0 15 10 ? * * 每天10点15分触发;

■ 0 * 10 * * ? 每天10:00-10:59每分钟触发一次;

■ 0 0/5 10 * * ? 每天 10:00-10:59每隔5分钟触发;

■ 0 0/5 10,15 * * ? 每天10:00-10:59,15:00-15:59(每隔5分触发);

■ 0 0-5 15 * * ? 每天15:00-15:05每分触发;

■ 0 15 10 15 * ? 每月15号10:15分触发;■ 0 15 10 L * ? 每月最后一天的10:15分触发;

■ 0 15 10 ? * 6L 每月最后一周的星期五的10:15分触发;

■ 0 15 10 ? * 6L 2017-2020 从2017年到2020年每月最后一个星期五的10:15分触发;

■ 0 0 12 1/5 * ? 每月的第一天开始每隔5天的12:00触发一次。

另外,我发现Metersphere想要实现周一至周五某个时间触发好像难以实现,希望以后产品可以进行相关优化。

创建这样一个简单的定时任务 ,用时不到5分钟,大家都可以行动起来试试。

————————————————

版权声明:本文为CSDN博主「pytester」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:

https://blog.csdn.net/pytester/article/details/115664732

Posted in 持续测试, 教程