каркас робота - не работает ключевое слово Clear Element Text - PullRequest
0 голосов
/ 28 ноября 2018

У нас есть текстовое поле со структурой html, как показано ниже.

<input class="css-1npmunl" name="some.name" aria-label="New Employee ID" data-qa="some.data" placeholder="" value="TEST1" type="Text">

Встроенное ключевое слово Selenium2Library Clear Element Text ${Field_Locator} не очищает текстовое поле, как ожидалось.Фактически, поле очищается на мгновение, и когда после этого я выполняю какую-то другую операцию, например, нажимая кнопку Save, значение поля снова заполняется тем же значением (TEST1) (атрибут value).содержит фактическое значение поля).

Но когда мы делаем ту же самую операцию вручную, она работает как положено.Когда я проверял DOM с помощью инструментов разработчика, кажется, что ключевое слово Clear Element Text на самом деле не делает значение атрибута value пустым.Но при выполнении вручную значение атрибута value не отображается.

1 Ответ

0 голосов
/ 28 ноября 2018

Я пару раз сталкивался с одной и той же проблемой (React всегда в ее основе! :) и пробовал разные вещи.Установка пустого значения, как предложено в комментариях, иногда работает, но не может быть случайной.

В конце я остановился на «прямом» решении - отправить столько символов возврата, сколько длина текущего значения.Побочным эффектом является то, что это также близко к нормальному взаимодействию с пользователем :);реальный побочный эффект заключается в том, что это медленнее, чем вызов Clear Element Text, для более длинного текста может потребоваться пара секунд.

Вот пример того, как это сделать в РФ:

${value}=     Get Element Attribute   ${Field_Locator}      value
${backspaces count}=    Get Length      ${value}
Run Keyword If    """${value}""" != ''    # if there's no current value - no need to slow down by an extra SE call
...     Repeat Keyword  ${backspaces count +1}  Press Key  ${Field_Locator}   \\08    # this is the code for the backspace key; "backspaces count +1" - just too be sure :)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...