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



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

我尝试使用"运行关键字如果"命令执行此操作,但对我来说不起作用。也尝试使用"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'

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

实际结果:随机值被选取 &FOR 循环不包含关键字。

您有几个问题。

  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

最新更新