String 如果变量的原始值为空,则将其转换为无的方法

String 如果变量的原始值为空,则将其转换为无的方法,string,robotframework,String,Robotframework,如果变量的原始值为空,是否有办法将其更改为无 我已经试过了 ${searched_item}= Set Variable If ${searched_item} == “” None 如果${searched\u item}==${EMPTY}无 出于某种原因,此脚本会将每个值都更改为无,即使它们具有某些值,例如“Rebecca”、“Apple”或“tree”。有一个解决方案: *** Variables *** ${test_variable}= ${EMPTY} *** Test

如果变量的原始值为空,是否有办法将其更改为无

我已经试过了

${searched_item}= Set Variable If ${searched_item} == “” None 
如果${searched\u item}==${EMPTY}无

出于某种原因,此脚本会将每个值都更改为无,即使它们具有某些值,例如“Rebecca”、“Apple”或“tree”。

有一个解决方案:

*** Variables ***
${test_variable}=    ${EMPTY}

*** Test Cases ***
Assign Value To Variable
      ${test_variable}=    Set Variable If    '${test_variable}'=='${EMPTY}'    ${None}    ${test_variable}
      Log To Console    ${test_variable}       
我想你的意思是
${None}
而不是字符串“None”,你的问题有点不清楚

基本上,您在
设置变量If
中忘记了一个“else”分支,它在。如果您假定
${rc}==0
,则它是这样的:

红色矩形是缺少值/变量的地方

有一个官方文档可以阅读:

有一个解决方案:

*** Variables ***
${test_variable}=    ${EMPTY}

*** Test Cases ***
Assign Value To Variable
      ${test_variable}=    Set Variable If    '${test_variable}'=='${EMPTY}'    ${None}    ${test_variable}
      Log To Console    ${test_variable}       
我想你的意思是
${None}
而不是字符串“None”,你的问题有点不清楚

基本上,您在
设置变量If
中忘记了一个“else”分支,它在。如果您假定
${rc}==0
,则它是这样的:

红色矩形是缺少值/变量的地方


有一份官方文档需要阅读:

有时在Robot框架中的if语句中何时用引号括起变量会有些混乱

当使用诸如
runkeywordif
Set Variable If
之类的关键字时,If语句在Python中求值,并且在求值之前替换所有变量。在计算字符串时,您需要小心,将它们用引号括起来

例如:

${something}=   Set Variable   RobotRock
${new_val}=   Set Variable If   ${something} == ${EMPTY}   ${None}   ${something}
在上面的if语句中,我们没有将任何一个变量括在引号中

${something}==${EMPTY}
因此等同于
RobotRock==
,这是无效的Python。因为要比较字符串,所以需要将其用单引号括起来,这样它才能工作

${new_val}=   Set Variable If   '${something}' == '${EMPTY}'   ${None}   ${something}
现在您可以看到:
'RobotRock'=''
这是有效的python


另外,如果尝试将某个内容与${None}进行比较,请小心。它不是一个字符串,因此不能以您可能期望的方式在if语句中简单地比较它。您可以在这里找到有关None vs Empty以及如何使用它们的更多信息:

有时,在Robot框架的if语句中,在何时将变量用引号括起来会有一些混淆

当使用诸如
runkeywordif
Set Variable If
之类的关键字时,If语句在Python中求值,并且在求值之前替换所有变量。在计算字符串时,您需要小心,将它们用引号括起来

例如:

${something}=   Set Variable   RobotRock
${new_val}=   Set Variable If   ${something} == ${EMPTY}   ${None}   ${something}
在上面的if语句中,我们没有将任何一个变量括在引号中

${something}==${EMPTY}
因此等同于
RobotRock==
,这是无效的Python。因为要比较字符串,所以需要将其用单引号括起来,这样它才能工作

${new_val}=   Set Variable If   '${something}' == '${EMPTY}'   ${None}   ${something}
现在您可以看到:
'RobotRock'=''
这是有效的python


另外,如果尝试将某个内容与${None}进行比较,请小心。它不是一个字符串,因此不能以您可能期望的方式在if语句中简单地比较它。您可以在此处找到有关无与空以及如何使用它们的更多信息:

@New\u to\u coding:good。您也可以标记我的答案和解决方案。@New\u to\u编码:很好。您也可以标记我的答案和解决方案。