com.codeborne.selenide.Selenide [src]
Ядро библиотеки Selenide. Основные методы - это open
, $
и $$
:
$(String cssSelector)
– возвращает объект типа SelenideElement, который представляет первый найденный по CSS селектору элемент на странице$(By)
– возвращает "первый SelenideElement" по локатору типа By$$(String cssSelector)
– возвращает объект типа ElementsCollection, который представляет коллекцию всех элементов найденных по CSS селектру$$(By)
– возвращает "коллекцию элементов" по локатору типа By
Обычно, когда ты получаешь с помощью доллара объект SelenideElement, ты можешь либо совершить с ним какое-то действие:
$(byText("Sign in")).click();
и даже несколько действий сразу:
$(byName("password")).setValue("qwerty").pressEnter();
либо проверить какое-то условие:
$(".welcome-message").shouldHave(text("Welcome, user!"))
.
"Два доллара" же может быть удобно использовать когда нужный элемент является одним из группы однотипных элементов. Например вместо:
можно использовать более читабельный и лаконичный вариант:
Такой "составной локатор" удобный еще и тем, что в случае ошибки нахождения элемента позволяет по сообщению об ошибке - сразу определить какая из "частей" не сработала. В первом же случае мы сможем лишь получить информацию о том, что "целый локатор" не сработал, и потратим больше времени на поиск той "части" которая привела к ошибке.
Также, если нужно работать с разными элементами одной и той же коллекции, у нас теперь есть возможность вынести коллекцию элементов в переменную:
Таким образом мы не повторяем локатор "#search-results a"
в разных местах, и следовательно, если он поменяется - нам нужно будет внести изменения только в одном месте.
Также теперь удобно в IDE использовать autocomplete при наборе имени уже созданной переменной resultLinks
.
Не стесняйся поискать и найти намного больше методов внутри класса Selenide, которые могут тебе понадобиться;), просто набрав в любимом IDE Selenide.
,
Вот лишь несколько примеров:
sleep()
refresh()
title()
executeJavaScript(String jsCode, Object... arguments)
Last updated
Was this helpful?