仅持有JIRA账号密码如何实现XRAY与WebdriverIO+Mocha的集成
Xray 自部署版本与WebdriverIO+Mocha集成解决方案
首先要明确你参考的官方指南是Xray Cloud版本的操作流程,你司部署的是Xray Server/Data Center(本地/私有部署版),二者鉴权逻辑完全不同,无需Client ID/Client Secret,直接使用JIRA用户名+密码的基础鉴权即可完成集成,具体操作如下:
第一步:调整鉴权方式
Xray自部署版本鉴权不需要调用Cloud版的认证接口,直接在所有请求头里携带基础鉴权信息即可:
- 首先将你的JIRA用户名和密码按
用户名:密码格式拼接后做Base64编码 - 所有Xray API请求的Header中添加字段:
Authorization: Basic 你的Base64编码结果
可以直接用curl测试鉴权是否有效,示例命令如下:
curl -H "Authorization: Basic 替换为你的Base64编码串" -H "Content-Type: application/json" 你司JIRA地址/rest/raven/1.0/api/testexec/TEST-123/test
上述命令中的TEST-123替换为你司现有测试执行单的KEY,请求成功返回对应测试用例列表即代表鉴权有效
第二步:修改WebdriverIO集成配置
你之前参考Cloud版的上报逻辑只需要调整两个点即可适配自部署版本:
- 把所有API请求的域名从Cloud版地址替换为你司的JIRA部署域名,接口路径前缀统一替换为
/rest/raven/1.0/ - 移除原有Cloud版的token获取逻辑,所有请求直接携带上文的Basic鉴权头
第三步:测试结果上报适配
Mocha执行完成生成的xUnit XML结果,直接调用自部署版本的结果导入接口即可,示例curl命令:
curl -H "Authorization: Basic 替换为你的Base64编码串" -F "file=@你的mocha测试结果.xml" "你司JIRA地址/rest/raven/1.0/import/execution/testng?projectKey=你的项目KEY&testExecKey=你的测试执行单KEY"
你也可以直接在WebdriverIO的配置文件的
onComplete钩子中编写逻辑调用上述接口自动上报结果,无需手动执行curl命令
内容的提问来源于stack exchange,提问作者Mahima
相关产品推荐
相关产品推荐

