如何为倾向附件标题插入变量名称,例如步骤或方法名称?

时间:2015-03-30 04:54:39

标签: java allure

我正在为一个Java项目使用Allure测试框架。 在定义附件的名称时,我只允许在注释中使用常量。

例如:

@Attachment(value = "My Screenshot", type = "image/png")
public byte[] saveScreenshot(byte[] screenShot) {
    return screenShot;
}

参考value,如果我将其用于多个步骤,则它们将始终显示在标题为My Screenshot的报告中。

我如何使其像Allure @Step注释一样更具动态性,即在字符串中使用{0}和方法名{method}等参数?

2 个答案:

答案 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
}