我想为 Citrus 注释 (@CitrusXmlTest) 的参数提供动态值

I want to provide dynamic values to the paramaters of Citrus annotation(@CitrusXmlTest)

我想动态提供的值是测试用例名称和包名称。我怎样才能做到这一点。如果我通过变量提供值,则会出现以下错误 "The value for annotation attribute CitrusXmlTest.name must be a constant"。现在我这样给

@CitrusXmlTest(name="Test",packageName="file:D://xitrus//myFirstTest.xml")  

我希望上面的语句是

@CitrusXmlTest(name=variable name,packageName=variable name) 

或者以其他方式动态插入值,请帮助我...

pom image 1,image 2,image 3

您正在尝试做的事情违反了 Java 注释规范,并且由于这些语言限制而无法实现。不确定您要在这里实现什么。

如果您需要以动态方式加载测试用例,您可以在 @CitrusXmlTest 注释中使用 packageScan 选项:

@CitrusXmlTest(packageScan = "com.something.foo")
public void citrusPackageScanIT() {}

这将加载并执行包 com.something.foo 中的所有 XML 个测试用例定义。 XML 测试定义可以自由使用不同的测试名称。

如果您想将一些动态数据传递给您的测试用例,您应该使用 TestNG 数据提供程序(此处给出的示例:https://github.com/christophd/citrus-samples/tree/master/sample-dataprovider)。