有两个测试步骤,并试图将一个测试步骤中的“属性值”添加到另一测试步骤中,并将其增加1。转移不是问题,而是如何将其增加1?
答案 0 :(得分:0)
我尝试如下... 在测试用例级别“ incrementValue”上创建了一个属性,并为其分配了值1。 添加了请求“ GetNextCrossMessage 1-请求2”,并在此请求中将$ {#Property Transfer#incrementValue}添加到请求中的输入元素。 添加了Groovy脚本:
def incrementValue = context.expand( '${#Property Transfer#IncrementValue}' );
incrementValue = incrementValue.toInteger() + 1;
if (incrementValue <= 10) {
testRunner.testCase.setPropertyValue("IncrementValue", incrementValue);
log.info "IncrementValue: "+incrementValue;
testRunner.gotoStepByName("GetNextCrossMessage 1 - Request 2");
}
在groovy脚本中出错:java.lang.numberformatexception:对于输入字符串“”。请问哪里出问题了?
答案 1 :(得分:0)
如果上面的代码确实是Groovy测试步骤,则问题出在第1行。您的代码看起来像是希望从名为“ Property Transfer”的测试步骤中获得IncrementValue值,但是您的文字显示您已添加了自定义属性到测试用例,命名为IncrementValue。
要从“测试用例”客户属性中“提取”值,您需要执行此操作...
def incrementValue = context.expand( '${#TestCase#IncrementValue}' );
或
def incrementValue = testRunner.testCase.getPropertyValue("IncrementValue");
您得到的错误是因为您试图将整数写入字符串属性。将整数转换为字符串即可使用。
查看示例...
def incrementValue = testRunner.testCase.getPropertyValue("IncrementValue");
incrementValue = incrementValue.toInteger() + 1;
if (incrementValue <= 10) {
// Prop name AND value are strings...
testRunner.testCase.setPropertyValue("IncrementValue", incrementValue.toString());
}
log.info(incrementValue);
答案 2 :(得分:0)
感谢所有人,尤其是克里斯。我已经对其进行了一些修改,这是用于从TestSteps级别增加值的Groovy脚本...
def terminalid = testRunner.testCase.getTestStepByName("GetNextCrossMessage 1 -
Request 1") .getPropertyValue("terminalid");
terminalid = terminalid.toInteger() + 1;
if (terminalid <= 2) {
testRunner.testCase.getTestStepByName("GetNextCrossMessage 1 - Request 2").setPropertyValue("terminalid",terminalid.toString())
log.info(terminalid);
}
答案 3 :(得分:0)
我知道它已经有将近1.5年的历史了,并且已经用groovy脚本解决了,但是最初的问题是关于Property Transfer,所以也许有些观众会发现上述步骤有用的解决方案。
Property Transfer
步骤。Property Transfer
。${#ResponseAsXml#count(//e/id)}+1
(您必须用要增加的属性的xpath替换 //e/id
)。在上面的示例中,我是:
GetMembers
步骤中获取项目成员列表,id
进行计数,并以SaveUsersCnt
的步长递增,UsersInheritedCnt
中的Vars
变量,GetMembersIncludingInherited
步骤时使用它。