我想为 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)。
我想动态提供的值是测试用例名称和包名称。我怎样才能做到这一点。如果我通过变量提供值,则会出现以下错误 "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)。