我目前正在实施 Cucmber/Jira/Xray 的集成。我正在使用 cucmber 的 json 格式化程序插件生成测试报告,并使用 xray maven 插件在 Jira/Xray 中导入测试结果。见以下代码:
@ConfigurationParameter(
key = "cucumber.plugin",
value = "json:target/cucumber-reports/cucumber.json"
)
public class RunnerPttas {
}
只要我没有任何附件我想附加到 Jira 中的测试执行,一切都很好。我正在使用以下代码将屏幕截图附加到场景中:
@AfterStep
public void takeScreenshots(Scenario scenario) throws IOException {
byte[] data = Files.readAllBytes(Paths.get(screenshotPath+"evidence.png"));;// get screenshot from somewhere
scenario.attach(data, "image/png", "Evidence");
}
现在我看到屏幕截图被添加到场景中每个步骤的 after 对象中,如下所示:
[
{
"elements": [
{
...
"steps": [
{
...
"after": [
{
"embeddings": [
{
"data": "<BASE64_ENCODED_FILE>"
}
]
}
]
}
]
}
]
}
]
现在查看官方xray文档,附件需要直接放在step对象下(而不是包裹在
after
对象中),见下图:
[
{
"elements": [
{
...
"steps": [
{
...
"embeddings": [
{
"data": "<BASE64_ENCODED_FILE>"
}
]
}
]
}
]
}
]
我可以配置 json 格式化程序插件来生成正确的格式吗?当前导入的结果不会在 Jira 测试执行票证中显示任何附件。我相信这不是 xray maven 插件问题,只是生成的格式不正确。任何帮助将不胜感激。