首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Robot Framework中的IF - ELSE条件

Robot Framework中的IF - ELSE条件
EN

Stack Overflow用户
提问于 2020-01-02 22:28:09
回答 2查看 180关注 0票数 0

我想在For循环中使用If Else条件。如果该条件满足,则执行名为"Success1“的函数。该Success1将返回一些输出。我在测试套件的关键字部分维护了Sucess1关键字。

代码语言:javascript
运行
复制
'''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“变量中。

在执行此代码时,我收到“没有找到名为‘=’的关键字”。错误。

先谢谢你...

EN

回答 2

Stack Overflow用户

发布于 2020-01-02 23:11:44

让我们看一下这一行:

代码语言:javascript
运行
复制
run keyword if   '${CountryName}' == 'United States'  ${TempValue} =  Success1  ${i}  ${Total}

robot解析的方式是,如果条件为真,如果${TempValue}为空字符串,它将运行名为${TempValue} =的关键字,这意味着它将尝试运行关键字=。由于该名称没有关键字,robot会给出错误"No keyword with name‘=’“。

换句话说,您不能在run keyword if内部赋值变量。条件后的下一个单元格必须是关键字名称。

票数 2
EN

Stack Overflow用户

发布于 2020-01-03 17:11:03

如下所示进行尝试:

代码语言:javascript
运行
复制
${TempValue} =    Run Keyword If    '${CountryName}'=='United States'  Success1    ${i}    ${Total}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59565004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档