Jenkins教程-9-发送企业微信测试报告通知

上一小节我们学习了Jenkins上下游关联自动化测试任务的构建的方法,本小节我们讲解一下发送企业微信测试报告通知的方法。

1、自动化用例执行完后,使用pytest_terminal_summary钩子函数收集测试结果,存入本地status.txt文件中,供Jenkins调用

conftest.py代码如下:

#conftest.py 

def pytest_terminal_summary(terminalreporter, exitstatus, config):
    """收集测试报告summary,并存入status.txt文件中,供Jenkins调用"""
    print("pytest_terminal_summary")
    passed_num = len([i for i in terminalreporter.stats.get('passed', []) if i.when != 'teardown'])
    failed_num = len([i for i in terminalreporter.stats.get('failed', []) if i.when != 'teardown'])
    error_num = len([i for i in terminalreporter.stats.get('error', []) if i.when != 'teardown'])
    skipped_num = len([i for i in terminalreporter.stats.get('skipped', []) if i.when != 'teardown'])
    total_num = passed_num + failed_num + error_num + skipped_num
    test_result = '测试通过' if total_num == passed_num + skipped_num else '测试失败'
    duration = round((time.time() - terminalreporter._sessionstarttime), 2)

    # 定义目录路径
    directory_path = './reports/'
    # 确保文件所在的目录存在
    os.makedirs(os.path.dirname(directory_path), exist_ok=True)
    # 定义文件路径
    file_path = os.path.join(directory_path, 'status.txt')
    with open(file_path, 'w', encoding='utf-8') as f:
        f.write(f'TEST_TOTAL={total_num}\n')
        f.write(f'TEST_PASSED={passed_num}\n')
        f.write(f'TEST_FAILED={failed_num}\n')
        f.write(f'TEST_ERROR={error_num}\n')
        f.write(f'TEST_SKIPPED={skipped_num}\n')
        f.write(f'TEST_DURATION={duration}\n')
        f.write(f'TEST_RESULT={test_result}\n')

本地文件status.txt中收集的测试结果示例:

2、Jenkins中安装Environment Injector description setter 插件

Environment Injector插件用于注入环境变量

自动化测试任务配置中,添加构建步骤

填写测

### 配置 Jenkins 实现企业微信通知 #### 插件安装 为了使 Jenkins 能够向企业微信发送通知,在 Jenkins 上需安装特定插件。此插件允许在构建过程中不同阶段触发时,通过企业微信群机器人发送消息给指定的企业微信群组[^2]。 #### 下载与安装插件 访问 Jenkins 的插件管理页面,搜索“企业微信 构建通知”,找到对应插件后点击安装即可完成部署。这一步骤简单快捷,无需额外配置环境变量或其他依赖项[^4]。 #### 准备微信通知脚本 编写或准备好用于调用微信 API 发送消息的脚本文件。虽然直接利用插件可以简化很多工作流程,但对于某些定制化需求来说,准备一段可执行的通知脚本仍然是必要的前置条件之一[^1]。 #### 添加构建后操作 进入具体的 Jenkins Job 配置界面,在“构建后操作”部分新增一项名为“企业微信通知”的选项。这里可以选择不同的事件作为触发器来激活通知机制,比如每次构建结束、仅当构建成功/失败等情况发生时才发出提醒[^3]。 #### Webhook 设置 对于采用 Webhook 方式的集成方式而言,需要获取来自企业微信官方提供的 webhook URL 地址,并将其填入到 Jenkins 对应项目的设置里。“Webhook”字段通常位于上述提到的“企业微信通知”配置板块内。 ```bash # 示例命令行工具 curl 可能会用来测试webhook的有效性 curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=your-webhook-key' \ -H 'Content-Type: application/json' \ -d '{"msgtype": "text","text": {"content":"Hello, this is a test message from Jenkins!"}}' ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值