我正在为一个Java项目使用Allure测试框架。 在定义附件的名称时,我只允许在注释中使用常量。
例如:
@Attachment(value = "My Screenshot", type = "image/png")
public byte[] saveScreenshot(byte[] screenShot) {
return screenShot;
}
参考value
,如果我将其用于多个步骤,则它们将始终显示在标题为My Screenshot
的报告中。
我如何使其像Allure @Step
注释一样更具动态性,即在字符串中使用{0}
和方法名{method}
等参数?
答案 0 :(得分:5)
附件使用与@Step
注释相同的占位符。
{N} 其中N是一个从零开始的正整数,将被第N个方法参数值替换(0对应第一个参数,1对应于第二个,等等。 )。
@Attachment("Taking Screenshot because {0}")
public byte[] saveScreenshot(String whyIAmAttachingScreenshot) {
//take screenshot
}
{method} 将替换为带注释的方法名称。
@Attachment("My Screenshot from {method}")
public byte[] saveScreenshot() {
return screenShot;
}
有关详细信息,请参阅wiki。
答案 1 :(得分:1)
在魅力2.0中,我发现{0} {1} .. {N}
不起作用。
它给出了错误:
ERROR io.qameta.allure.util.NamingUtils - Could not find parameter 1
相反,您可以在花括号中使用变量名称:
@Attachment("Taking Screenshot because {whyIAmAttachingScreenshot}")
public byte[] saveScreenshot(String whyIAmAttachingScreenshot) {
//take screenshot
}