所有测试用例的全局随机数
Global Random Number for all test-cases
我想要一个全局变量,用于我所有的测试,因此我配置了:citrus-context.xml 如下:
<citrus:global-variables>
<citrus:variable name="myVariableName" value="citrus:randomNumber(3)"/>
</citrus:global-variables>
这似乎可行,但是生成的变量被更改为一个新的随机数,每次我引用这个变量。
${myVariableName} ${myVariableName} ${myVariableName}
835 165 516
生成要在所有测试中使用的随机数的首选方法是什么?
我通过实施 BeforeSuite 自行解决了这个问题。感谢这里 post:
所以,我就是这样做的:
public class InitializationTest extends TestDesignerBeforeSuiteSupport {
@Override
public void beforeSuite(TestDesigner designer) {
designer.createVariable("myGlobalNumber", RandomNumberFunction.getRandomNumber(3, true));
designer.action(new AbstractTestAction() {
@Override public void doExecute(TestContext testContext) {
testContext.getGlobalVariables()
.put("myGlobalNumber", testContext.getVariable("myGlobalNumber"));
}
});
}
}
感谢举报!
很遗憾,您在 Citrus 中发现了一个错误。似乎每次调用变量时都会评估表达式。事实并非如此。我已经打开这个 issue on GitHub 来跟踪错误。
BR,
斯文
我想要一个全局变量,用于我所有的测试,因此我配置了:citrus-context.xml 如下:
<citrus:global-variables>
<citrus:variable name="myVariableName" value="citrus:randomNumber(3)"/>
</citrus:global-variables>
这似乎可行,但是生成的变量被更改为一个新的随机数,每次我引用这个变量。
${myVariableName} ${myVariableName} ${myVariableName}
835 165 516
生成要在所有测试中使用的随机数的首选方法是什么?
我通过实施 BeforeSuite 自行解决了这个问题。感谢这里 post:
public class InitializationTest extends TestDesignerBeforeSuiteSupport {
@Override
public void beforeSuite(TestDesigner designer) {
designer.createVariable("myGlobalNumber", RandomNumberFunction.getRandomNumber(3, true));
designer.action(new AbstractTestAction() {
@Override public void doExecute(TestContext testContext) {
testContext.getGlobalVariables()
.put("myGlobalNumber", testContext.getVariable("myGlobalNumber"));
}
});
}
}
感谢举报!
很遗憾,您在 Citrus 中发现了一个错误。似乎每次调用变量时都会评估表达式。事实并非如此。我已经打开这个 issue on GitHub 来跟踪错误。
BR,
斯文