删除变量中的EOL以比较字符串

时间:2017-01-26 09:32:21

标签: robotframework

我使用Run Keyword Unless比较变量和字符串:

Run Keyword Unless  '${text}' == 'HelloWorld'      My Keyword     ${text}

有时${text}由" \ n"分隔的两行组成。 (例如。"一行\ n两行")。如果是这样,测试将失败,并显示错误:

Evaluating expression ''One line  
two lines' == 'HelloWorld'' failed: SyntaxError: EOL while scanning string literal (<string>, line 1)

我解决了删除&#39; \ n&#39; String.Replace String如下:

${one_line_text}=     String.Replace String    ${text}     \n     ${SPACE}
Run Keyword Unless  '${one_line_text}' == 'HelloWorld'      My Keyword    ${text}   

如果没有在单独的关键字中明确删除EOL,有没有办法实现呢?

2 个答案:

答案 0 :(得分:3)

${text.replace("\n", " ")}怎么样?

答案 1 :(得分:2)

您可以使用python的字符串文字 - """''' - 而不是更改字符串:

Run Keyword Unless  '''${text}''' == 'HelloWorld'      My Keyword     ${text}

它们的设计目的非常适合用于保存具有换行符和引号的值。