前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pytest + yaml 框架 -14.钉钉机器人通知测试结果

pytest + yaml 框架 -14.钉钉机器人通知测试结果

作者头像
上海-悠悠
发布2023-01-03 14:22:03
5650
发布2023-01-03 14:22:03
举报
文章被收录于专栏:从零开始学自动化测试

前言

当用例执行完成后,希望能给报告反馈,常见的报告反馈有:邮箱/钉钉群/飞书/企业微信 等。 pip 安装插件

代码语言:javascript
复制
pip install pytest-yaml-yoyo

钉钉机器人通知测试结果功能在v1.1.1版本实现

钉钉机器人设置

钉钉机器人的设置请参考官方API文档https://open.dingtalk.com/document/group/custom-robot-access

我们主要得到Webhook地址上面的access_token 值

自定义关键字,默认:测试报告,也可以自定义

加签 的值,可以不勾选,也可以勾选。

总的来说,需要记住3个地方:

  • access_token 复制Webhook地址上面的access_token 值
  • 自定义关键字 默认: 测试报告,也可以自定义其他名称,如果这里改了,后面的配置的title值也要改成一样
  • 加签 的值,可以不勾选,也可以勾选。 如果勾选了,后面需配置secret 值

config 中配置 DING_TALK 项

在config 中配置 DING_TALK, 只有 access_token 值是必须项, 如果配置了 DING_TALK ,那么就会自动启动发送钉钉机器人通知。 如果不启动钉钉机器人通知测试报告,那么把此项注掉即可。

代码语言:javascript
复制
class Config:
    version = "v1.0"

class TestConfig(Config):
    """测试环境"""
    BASE_URL = 'http://127.0.0.1:8000'
    # 钉钉群机器人通知
    DING_TALK = {
        "access_token": "d2433d2b16cc85*************************************",
    }

class UatConfig(Config):
    """联调环境"""
    BASE_URL = 'http://192.168.1.1:8001'

# 环境关系映射,方便切换多环境配置
env = {
    "test": TestConfig,
    "uat": UatConfig
}

在pytest.ini 中配置

代码语言:javascript
复制
[pytest]

env = test

DING_TALK 相关参数说明

  • access_token: 钉钉群自定义机器人access_token
  • secret: 机器人安全设置页面勾选”加签”时需要传入的密钥
  • param pc_slide: 消息链接打开方式,默认False为浏览器打开,设置为True时为PC端侧边栏打开
  • param fail_notice: 消息发送失败提醒,默认为False不提醒,开发者可以根据返回的消息发送结果自行判断和处理
  • param title: 首屏会话透出的展示内容
  • param text: markdown格式的消息内容
  • param is_at_all: @所有人: True,否则为: False(可选), 默认False
  • param at_mobiles: 被@人的手机号, 手机号可以是一个或者多个,写到list
  • param at_dingtalk_ids: 被@用户的UserId(企业内部机器人可用,可选),可以是一个或者多个,写到list
  • param is_auto_at: 是否自动在text内容末尾添加@手机号,默认自动添加,也可设置为False,然后自行在text内容中自定义@手机号的位置,才有@效果,支持同时@多个手机号(可选)

运行用例后会自动在钉钉群发送通知

加签值配置

如果这里没有勾选 加签 值

那么只需要配置一个 access_token 即可

代码语言:javascript
复制
DING_TALK = {
        "access_token": "d2433d2b16cc85943*********************************",
    }

如果这里勾选 加签 值, 那么需同时配置 access_token 和 secret 值

代码语言:javascript
复制
DING_TALK = {
        "access_token": "d2433d2b16cc85943*********************************",
        "secret": "**************************"
    }

设置@指定的人

奈特指定的人有3个配置可以选择

  • is_at_all @所有人: True,否则为: False(可选)
  • at_mobiles: 被@人的手机号,可以是一个或者多个,写到list
  • at_dingtalk_ids: 被@用户的UserId(企业内部机器人可用,可选),可以是一个或者多个,写到list

使用示例

代码语言:javascript
复制
 DING_TALK = {
        "access_token": "d2433d2b16cc859434828ccd2471c13d51d21e66690856ff9b6ca7ecde178eca",
        "at_mobiles": ["15000xxxxxxx", "15001xxxxxxx"]
    }

于是就可以看到上图的效果,在内容后面带上@张三的样式

设置 title 和 内容

title 的名称必须与自定义关键字名称保持一致

代码语言:javascript
复制
 DING_TALK = {
        "access_token": "d2433d2b16cc859434828ccd2471c13d51d21e66690856ff9b6ca7ecde178eca",
        "title": "测试报告",
        "at_mobiles": ["15000xxxxxxx", "15001xxxxxxx"]
    }

报告的text 内容, 也就是我们看到的

代码语言:javascript
复制
执行结果:

- 运行环境: test
- 运行base_url: http://124.70.1.1:8201
- 持续时间:  0.37 秒

本次运行结果:

- 总用例数: 3
- 通过用例:3
- 失败用例:0
- 异常用例:0
- 通过率:100.0 %

text 的内容,默认是上面的这些,支持markdown 文档格式,如果你需要添加额外的内容,比如加上allure报告地址,那么可以用 text 字段追加内容

代码语言:javascript
复制
 DING_TALK = {
        "access_token": "d2433d2b16cc859434828ccd2471c13d51d21e66690856ff9b6ca7ecde178eca",
        "title": "测试报告",
        "at_mobiles": ["15000xxxxxxx", "15001xxxxxxx"],
        "text": ""text": "- 查看报告:[allure报告地址](https://www.cnblogs.com/yoyoketang/)""
    }

把上面的https://www.cnblogs.com/yoyoketang/ 换成你自己的allure报告地址即可

于是看到以下的效果

总的来说,整个配置都是傻瓜式的,配置非常简单。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 钉钉机器人设置
  • config 中配置 DING_TALK 项
  • 加签值配置
  • 设置@指定的人
  • 设置 title 和 内容
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档