t.me/atinfo_chat Telegram группа по автоматизации тестирования

Не выполняется jquery в тестах selenium java

Теги: #<Tag:0x00007f7488b988a0> #<Tag:0x00007f7488b987b0> #<Tag:0x00007f7488b98698>

Добрый день!

Пытаюсь выполнить jquery скрипт с помощью JavascriptExecutor. В приложении используется jquery. (В браузере выполняются те скипты что хочу запустить). Также пробовал сделать инъекцию jq, не помогло. Просто js выполняется.

Приведите примеры кода где и как Вы пытаетесь выполнить jquery.
Что на выходе? Exception? Или просто ничего не происходит?

@NikS
> String script = “$(’[data-id=“50622”] .jsViewItem’).click();”;

JavascriptExecutor js = (JavascriptExecutor) WebDriverRunner.getWebDriver();
js.executeScript(script);

Ничего не происходит

А если в консоли браузера выполнить этот код? Работает?

Когда вы работаете через консоль, приложение находится в состоянии “покоя”, т.е. элементы уже все найдены. Логично, что с поиском никаких проблем не будет. А следовательно и команды будут прекрасно выполняться.

Когда же вы запускаете сценарий через WebDriver, ваш скрипт не будет ничего ждать. И если элемент не бы найден (не успел прогрузиться / обновиться и т.п.), ничего собственно и не произойдет.

Так что, во-первых, вам следует возвращать результат операции на элементе, что есть - список найденных объектов, либо пустой список.

А во-вторых, перед непосредственным запуском скрипта, нужно как минимум подождать появления объекта средствами WebDriver.

По второму до выполнения скрипта жду появления элемента.

Проблема оказалась пока не актуальной. В форме не используется скролл.