JIRA管理测试用例并实现和Jenkins交互完成测试自动化执行

x-ray简介

Xray是JIRA的一个插件,主要用于测试管理。它可以定义测试计划,测试计划中包含测试执行,测试执行中有包含具体的多条测试用例。

一个Xray项目一般包含“Test Plan”, “Test”, “Test Set”, “Test Execution”, “Pre-condition”五类Issue Type。

概念/术语

描述

Test

一个测试用例。可能是手工或者自动化的测试用例,由测试步骤,行为和预期结果构成

Pre-Condition

测试前置条件,一个测试前置条件可以被多个测试用例所引用

Test Set

一组测试用例的集合。一个测试用例可能会属于多个测试集合。

Test Plan

一个正式的测试计划通常被用于为某个给定的项目版本执行

Test Execution

测试执行是一个可分配的,可规划的任务,用于给一个指定的版本执行一个或多个测试用例,并给出结果报告

创建,编辑等操作基本和JIRA其他类型issue类似,主要有一些xray专用项需要填写。对Test类型,要注意填写“Action”,“Data”,“Expected Result”。

测试用例(test)也可以从CSV文件导入测试用例操作,编辑excel文件,另存为,选择类型“CSV UTF-8 (逗号分隔)“。在JIRA主菜单中选择“Tests”, “Test Case Importer”,如下图:

注意:字段匹配时,字段“Summary”,“Test Case Identifier”,“Action”必须匹配。

x-ray和Jenkins交互实现测试自动化执行

自动化测试希望能够在测试计划中触发jenkins的自动测试任务,并反馈测试结果到xray上,这样在xray上就可以直接看到测试用例是否执行成功。

具体案例

新建一个测试计划,新功能XXX测试计划。期望,在这个测试计划中增加一个comment,内容包含“Jenkins build”(和下文jenkins任务配置中pattern配置一致), 就会触发Jenkins上的相应任务”新功能XXX自动测试任务“,任务执行pytest, 运行测试用例脚本,执行完成后,从xray上可以看到该测试计划执行结果:

该test plan下面会出现几个新的tests,这些tests的summary就是pytest里面测试用例的函数名,如pytest里定义def test_demo1(),那么新出现的test的summary就是test_demo。如果已经存在这个test,就在这个test里直接更新返回的测试结果。

功能实现

JIRA配置

首先JIRA上配置webhook,在“system”, “webhook”里面:URL: jira_url/jira-trigger-webhook-receiver/

Jenkins配置

首先安装两个插件:

JIRA Trigger plugin,主要用于JIRA上触发Jenkins任务

xray-test managerment for jira plugin,主要用于Jenkins任务执行结果反馈到JIRA

然后Jenkins系统配置里配置,JIRA Trigger Configuration和Xray Configuration,这里主要需要配置URL,账号密码之类。比较简单,就不赘述了。

完成后的简单测试,xray configuration里面有test功能,直接测试返回成功即可。

JIRA Trigger的测试,需要先打开jenkins的system log配置,增加一个log recorder, name自己指定,logger填入com.ceilfors.jenkins.plugins.jiratrigger.webhook,Log Level选择FINE。

然后从JIRA服务器上执行curl -H "Content-Type: application/json" -X POST -d '{"user_id": "123"}' http://Jenkins_url/jira-trigger-webhook-receiver/。

正常jenkins的log recorder会收到类似”Received Webhook callback ...“的记录。否则需要检查配置,网络等问题。 

Jenkins任务配置

JIRA触发Jenkins任务配置(Jenkins任务配置,JIRA配置为上述webhook配置):

Build Triggers中勾选

Build when a comment is added to JIRA
Build when an issue is updated in JIRA

按需填写jql和pattern即可。

BUILD配置,按需配置。例如选择BUILD SHELL: 执行pytest,如下:

cd /home/lucky/jenkins/pytest_example/ && pytest --junitxml=/home/lucky/jenkins/pytest_example/report/report_from_jenkins.xml

反馈构建结果到xray的配置:

Post Build里面选择XRAY result import task, 选择JIRA instance,格式选择JUnit XML,  指定xml文件位置,JIRA相关信息按需填写。

参考文档

GitHub - jenkinsci/jira-trigger-plugin: Triggers a build when a certain condition is matched in JIRA

GitHub - jenkinsci/xray-connector-plugin: Xray Test Management Connector for Jenkins

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值