如何为 Allure 附件标题插入变量名称,例如步骤或方法名称?
How can I insert a variable name for Allure Attachments titles such as Step or method name?
我正在为一个 Java 项目使用 Allure 测试框架。
我只允许在定义附件名称时在注释中使用常量。
例如:
@Attachment(value = "My Screenshot", type = "image/png")
public byte[] saveScreenshot(byte[] screenShot) {
return screenShot;
}
参考 value
,如果我将其用于多个步骤,它们将始终出现在报告中,标题为 My Screenshot
。
我怎样才能让它像 Allure @Step
注释那样更加动态,即在字符串中使用 {0}
和方法名称 {method}
等参数?
附件使用与 @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。
在 allure 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
}
我正在为一个 Java 项目使用 Allure 测试框架。 我只允许在定义附件名称时在注释中使用常量。
例如:
@Attachment(value = "My Screenshot", type = "image/png")
public byte[] saveScreenshot(byte[] screenShot) {
return screenShot;
}
参考 value
,如果我将其用于多个步骤,它们将始终出现在报告中,标题为 My Screenshot
。
我怎样才能让它像 Allure @Step
注释那样更加动态,即在字符串中使用 {0}
和方法名称 {method}
等参数?
附件使用与 @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。
在 allure 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
}