2017-01-26 3 views
1

я использую Run Keyword Unless сравнение переменной и строку:Удалить EOL в переменной для сравнения строк

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

Иногда ${text} состоит из двух линий, разделенных «\ п» (например, «Одна строка \ Ntwo линии».) , Если да, то испытания завершается с ошибкой:

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

Я решил проблему удаления «\ п» с String.Replace String следующим образом:

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

Есть ли способ сделать это без явного удаления EOL в отдельном ключевом слове?

ответ

2

Как насчет ${text.replace("\n", " ")}?

+0

Да, это работает. Спасибо! – Psytho

+0

Добро пожаловать! –

1

Вы можете использовать строковые литералы в Python - """ или ''' - и не изменить строку на всех:

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

Они предназначены для довольно много этой цели - для хранения значений, имеющих символы новой строки, плюс кавычки.