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

[Resolved] WebDriverException:.... / подключение jQuery

Теги: #<Tag:0x00007f9b03b27618> #<Tag:0x00007f9b03b27438> #<Tag:0x00007f9b03b272a8>

Драстє) При выполнении

JavascriptExecutor js = (JavascriptExecutor) driver;
public void sfa() {
    js.executeScript("$('#pList').hover()");
    firstShowTitle.click();

}

получаю ошибку

org.openqa.selenium.WebDriverException: $(...) is null

На проекте не подключен jQuery. Вся проблема в этом? Мне нужно подключить jQuery.jar к своим тестам, в свой тестовый фреймворк? (если да, то как правильно (а то вроде как подключил но ничего не получилось)?)

Спасибо.

В консоли браузера скрипт выполняется $('#pList').hover()?
Ну и если ваше приложение не поддерживает jQuery, то о чем тогда речь? Тогда надо по-старинке через document.getElementBy. Ну или передавать уже готовый WebElement в качестве аргумента скрипту.

2 Симпатий

Вам нужно подключить jQuery к тестируемой странице :smile:
Можно заинджектить например так:

var element1 = document.createElement("script");
element1.src = "//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js";
element1.type="text/javascript";
document.getElementsByTagName("head")[0].appendChild(element1);
1 Симпатия

Jquery.jar? Что это?
Нужно разделять немного понятия. Jquery - это у вас на странице

Спасибо. Сорри за глупый вопрос. Можно закрывать

Он не глупый. И он часто встречается. Зато в этом вопросе @rmerkushin рассказал нам, как подключить jquery через скрипт. Кажется очень полезно может быть, если и правда работает. Можно делать очень клевые штуки тогда через javascriptexecutor.

@rmerkushin - не сделаете пример в базу знаний? С инжектом через executor. Было бы круто!

Вот, но я не очень джаву лю-лю, написал на питоне :smile: тыц

Спасиб! Уже есть мысли где это использовать!

Привет!
А зачем вообще здесь запускать JavaScript? Навести мышку на элемент можно методом самого selenium:

new Actions(webdriver).moveToElement(webdriver.findElement(By.id("pList")).perform();

Или с помощью библиотеки Selenide ещё короче:

$("#pList").hover();
1 Симпатия