#testing #automation #scripting #robotframework
#тестирование #автоматизация #сценарии #robotframework
Вопрос:
Что я пытаюсь сделать, так это получить запись из таблицы и сравнить ее с текстом в элементе веб-интерфейса.
Я запускаю docker и запускаю команду для извлечения верхней записи, которая работает нормально
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-9da532bc7ef3r'
echo Record: $'0327902d-6346-4c61-94b2-9da532bc7ef3r'
Record: 0327902d-6346-4c61-94b2-9da532bc7ef3 notice there is no r here
export $'req_id=0327902d-6346-4c61-94b2-9da532bc7ef3r'
req_id=$'0327902d-6346-4c61-94b2-9da532bc7ef3r' `// 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
Я пытаюсь установить значение результата из запроса к БД на $ {RESULT}, используя
${REQ_ID} = Fetch From Left ${REQ_ID} r
Я все делаю правильно? Библиотека строк импортирована
Ошибка, которую я получаю, это:-
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:
В 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
Я почти уверен, что это должно сработать. Прокомментируйте, если это не так.