繁体   English   中英

如何在 Robot Framework 中使用 IF 和 ELSE

[英]How to Use IF and ELSE in Robot Framework

Create user //Is my test case name
        ${random_string}=    Generate Random String    8    [LOWER]
        Set Global Variable  ${random_string}
        ${body}=  create dictionary  email=${random_string}@mail.com  firstName=${random_string}  lastName=${random_string}  role=ADMIN
        ${response}=  Post On Session  mysession  /user  json=${body}  headers=${headers}   //This is One Response for POST Method
        ${getuserresponse}=  GET On Session  mysession  /user  headers=${headers}  //This is 2nd response for GET method which return all the users
     FOR  ${i}  IN  @{getuserresponse.json()}   
        #Validation
            IF  ${i['firstName']}  ==  ${random_string}  // I want to check weather GET Response contains email that I send from POST request
                Log  User Created Successfully
            ELSE
                Log  User Not Created Successfully
        END

相反,它给我错误,因为评估 IF 条件失败:评估表达式'ptrmipuy'(这是 random_string)失败:NameError:名称'ptrmipuy'未定义,也不能作为模块导入

您的条件不能有包含两个或更多空格的序列,因为这是机器人用来解析语句的内容。 你有的任何地方==它都需要==

此外,您的表达式需要引用字符串值,或者您可以使用将机器人变量转换为 python 变量的特殊语法。

IF  "${i['firstName']}" == "${random_string}"

-或者-

IF  $i['firstName'] == $random_string 

这包含在 BuiltIn 库的文档中,标题为Evaluating Expressions的部分中

尝试下面的 if else 片段,如果它有效,则复制粘贴此语法并替换您的变量。 在比较之前还要打印你的变量,如果它有额外的引号,那么你可能会得到那个错误。

你也应该在这个符号“==”前后只有空格

*** Test Cases *** 
Testifelse
    ${Variation}=    Set Variable    NA
    IF    "${Variation}" == "NA"
        Log  if  
    ELSE 
        Log  else
    END

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM