选择随机数后如何使用if-else语句

时间:2019-04-10 10:45:32

标签: robotframework

我可以从列表中选择一个随机数,但是现在我不知道如何使用if-else语句,因此它应该与条件匹配以获取该数字的更多详细信息。

我尝试使用“ Run Keyword If”命令执行此操作,但对我来说不起作用。还尝试过使用“ For循环”,但效果也不理想。

*** Variables ***
@{PARTY}  ABC  XYZ  RTY  DOG

*** Test Cases ***
View all Details
    ${value} =  Evaluate  random.choice($PARTY)  random
    input text  ${SEARCH_BAR}  ${value}
    log to console  \nvalue: ${value}
    click element  ${SEARCH_BUTTON}
    :for  ${ELEMENT}  IN  @{PARTY}
    \ log  ${ELEMENT}
    \ run keyword if  '@{ELEMENT}' == 'ABC'
    \ ...  else if  '@{ELEMENT}' == 'XYZ'
    \ ...  else if  '@{ELEMENT}' == 'RTY'
    \ ...  else  '@{ELEMENT}' == 'DOG'

预期结果:现在,当选择随机值时,应该将该值与列表进行比较,并且当条件为true时,我应该能够单击该元素以获取该方的更多详细信息。

实际结果:选择了随机值,并且FOR循环不包含任何关键字。

1 个答案:

答案 0 :(得分:3)

您有几个问题。

  1. 您使用列表变量@{ELEMENT而不是标量变量进行比较。
  2. Run Keyword If语句中,如果条件为true,则没有关键字可以运行。 ELSE IF行也一样。
  3. else if应该大写,因为它是保留关键字。
  4. ELSE完全不需要条件,它可以处理以前条件未处理的所有情况。
  5. 您选择了一个随机的${value},但不要使用它。遍历列表将一次给您所有条件true

如果要使用随机值,则根本不需要for循环。代码应如下所示:

View all Details
    ${ELEMENT} =  Evaluate  random.choice($PARTY)  random
    log  ${ELEMENT}
    Run Keyword If  '${ELEMENT}' == 'ABC'   Your Keyword One Here
    ...  ELSE IF  '${ELEMENT}' == 'XYZ'   Your Keyword Two Here
    ...  ELSE IF  '${ELEMENT}' == 'RTY'  Your Keyword Three Here
    ...  ELSE    Your Keyword Four Here