невозможно сравнить строки в тестах робота из-за исходной строки - PullRequest
0 голосов
/ 19 марта 2019

Я пытаюсь получить запись из таблицы и сравнить ее с текстом в элементе веб-интерфейса.

Я выполняю в докере и запускаю команду, чтобы вытащить верхнюю запись, которая отлично работает

+++ docker exec -it 60493033cec6 /bin/sh -c 'mysql -uroot -ppassword -Bse "use requestdb; select REQUEST_ID from infra_active_requests limit 1;"'

Команда echo для вышеперечисленных выводит следующее: -

++ req_id=$'0327902d-6346-4c61-94b2-9da532bc7ef3\r'

++ echo Record: $'0327902d-6346-4c61-94b2-9da532bc7ef3\r'    

Record: 0327902d-6346-4c61-94b2-9da532bc7ef3          notice there is no \r here

++ export $'req_id=0327902d-6346-4c61-94b2-9da532bc7ef3\r'

++ req_id=$'0327902d-6346-4c61-94b2-9da532bc7ef3\r' `// \r included in the string here.

И в тестах я использую приведенный ниже оператор для сравнения строк

${result}  Get Text  xpath = //*[@id="mat-tab-content-0-0"]/div/mat-table/mat-row[1]/mat-cell[1]/a
Should be equal as Strings   ${result}    ${REQ_ID}  //REQ_ID has the request id created before
${REQ_ID} =  Fetch From Left ${REQ_ID} \r `     // to remove the \r

Я пытаюсь установить значение результата запроса db на $ {RESULT}, используя

${REQ_ID} = Fetch From Left ${REQ_ID} \r

Я правильно делаю? Библиотека String импортирована

Я получаю ошибку: -

1. No keyword with name 'Fetch From Left ${REQ_ID} \r' found.

или

2. 0327902d-6346-4c61-94b2-9da532bc7ef3 != 0327902d-6346-4c61-94b2-9da532bc7ef3   ///when run without the fetch from left command

1 Ответ

2 голосов
/ 19 марта 2019

В ключевом слове Fetch from left должно быть как минимум 2 пробела между ключевым словом и аргументами. В вашем коде, кажется, есть только один между Fetch From Left, ${REQ_ID} и \r. Вот почему вы получаете ошибку No keyword with name 'Fetch From Left ${REQ_ID} \r' found..

Кроме того, если вы не можете сравнить строки из-за символа \r, вам следует сравнить строку после удаления /r. Обменять позиции по строкам № 2 и 3.

${result}  Get Text  xpath = //*[@id="mat-tab-content-0-0"]/div/mat-table/mat-row[1]/mat-cell[1]/a
${REQ_ID} =  Fetch From Left  ${REQ_ID}  \r      // to remove the \r
Should be equal as Strings   ${result}    ${REQ_ID}  //REQ_ID has the request id created before

Я почти уверен, что это должно сработать. Прокомментируйте, если это не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...