我想在For循环中使用If Else条件。如果该条件满足,则执行名为"Success1“的函数。该Success1将返回一些输出。我在测试套件的关键字部分维护了Sucess1关键字。
'''code'''
***TestCase***
${Total} set variable 0
:FOR ${i} IN RANGE 1 ${RCount}
\ log to console ${Total}
\ ${CountryName} = get text //table[@id='resultTable']/tbody/tr[${i}]/td[4]
\ log to console Captured country name ${CountryName}
\ run keyword if '${CountryName}' == 'United States' ${TempValue} = Success1 ${i} ${Total}
\ ${Total} = set variable ${TempValue}
sleep ${timeout}
*** Keywords ***
Success1
[Arguments] ${i} ${Total}
${Emp} = get text //table[@id='resultTable']/tbody/tr[${i}]/td[6]
${Emp} = convert to integer ${Emp}
log to console Captured No. of Employees ${Emp}
${Total} = Evaluate ${Emp}+${Total}
log to console ${Total}- Final Value
注意:
此for循环位于一个测试用例下。Sucess1是我为执行操作而创建的关键字。函数的输出将保存到"TempValue“变量中。
在执行此代码时,我收到“没有找到名为‘=’的关键字”。错误。
先谢谢你...
发布于 2020-01-02 23:11:44
让我们看一下这一行:
run keyword if '${CountryName}' == 'United States' ${TempValue} = Success1 ${i} ${Total}
robot解析的方式是,如果条件为真,如果${TempValue}
为空字符串,它将运行名为${TempValue} =
的关键字,这意味着它将尝试运行关键字=
。由于该名称没有关键字,robot会给出错误"No keyword with name‘=’“。
换句话说,您不能在run keyword if
内部赋值变量。条件后的下一个单元格必须是关键字名称。
发布于 2020-01-03 17:11:03
如下所示进行尝试:
${TempValue} = Run Keyword If '${CountryName}'=='United States' Success1 ${i} ${Total}
https://stackoverflow.com/questions/59565004
复制相似问题