Почему недостаточно Selenium webdriver
Зачем понадобилась ещё одна обёртка над Selenium?
Вкратце: короче код, лучше читается, не надо переизобретать велосипед.
И куча дополнительных фич для тестирования.
И автоматические скриншоты и отчёты.
И запись видео.
И тесты для мобилок.
И много чего ещё…
Подробный ответ здесь
Можно ли использовать Пэдж Обжекты с Selenide?
Да! Вы можете использовать Пэдж Обжекты с Selenide.
Более того, с Selenide ваши page objects станут короче и читабельнее. Тут подробности.
Где я могу найти все доступные настройки Selenide?
Описание всех настроек и значений по умолчанию можно найти в javadoc.
Как задать настройки Selenide?
Selenide имеет очень разумные настройки по умолчанию, которые должны быть удобны для большинства “нормальных” проектов.
Но если всё-таки захочется запустить тесты с другими настройками, это можно сделать либо через System property:
-Dselenide.timeout=6000
либо программно, прямо в тестах:
public void setUp() {
Configuration.timeout = 6000;
}
Ещё можно создать файл “selenide.properties” в classpath
(в типовом проекте это значит создать файл src/test/resources/selenide.properties
):
> cat src/test/resources/selenide.properties
selenide.timeout=6000
selenide.browser=edge
selenide.remote=https://hub.lambdatest.com/wd/hub
selenide.textCheck=FULL_TEXT
Настройки браузера можно задавать не глобально, а каждый раз при открытии браузера:
Config config = new SelenideConfig().browser("firefox").browserSize("800x600");
open("/one", config);
Можно ли запустить тесты Selenide на Internet Explorer? А headless-браузере?
Да. Selenide можно запускать с любым браузером, для которого существует webdriver. Самые популярные браузеры поддерживаются из коробки (chrome, firefox, edge, ie, safari, opera).
Некоторые менее популярные тоже поддерживаются, но требуют пары строк конфигурации (например, htmlunit). См. Wiki.
Другие браузеры тоже можно использовать, передав имя класса вебдрайвера (или фабрики).
Например, чтобы запустить тесты с браузером Firefox:
-Dselenide.browser=firefox
Как сказать Selenide использовать браузер с моим кастомным профайлом?
Вы можете подсунуть Selenide любой экземпляр webdriver, который вы можете создать с какими угодно параметрами. Смотри примеры на Wiki.
Можно ли использовать Selenide в связке с Selenium Grid?
Да, Selenide поддерживает Selenium Grid. Просто добавьте настройку при запуске тестов:
-Dselenide.remote=https://your.grid.com:5678/wd/hub
Большинство функционала заработает автоматически.
Но для некоторых фич (в частности, скачивания файлов) потребуется добавить зависимость com.codeborne:selenide-grid
.
Можно ли использовать Selenide в связке с Selenoid?
Да, Selenide поддерживает Selenoid. Просто добавьте настройку при запуске тестов:
-Dselenide.remote=https://your.selenoid.com:5678/wd/hub
Но для некоторых фич (в частности, скачивания файлов) потребуется добавить зависимость com.codeborne:selenide-selenoid
.
Можно ли использовать Selenide в связке с Selenoid/Moon/BrowserStack/LambdaTest/TestContainers или другими облачными провайдерами?
Да. См. доку
Можно ли использовать Selenide для тестирования мобильных приложений?
Да, Selenide поддерживает тестирование мобильных приложений с помощью библиотеки Appium.
Вот что вам нужно сделать:
Как запустить тесты Selenide на CI - сервере непрерывной интеграции?
Для этого нужно написать билд-скрипт. Скорее всего он у вас уже есть. На Wiki page есть несколько примеров на Maven, Gradle и Ant.
Как сделать скриншот в тесте?
См. документация -> Скриншоты
Как сказать Selenide сохранять скриншоты в другую папку?
См. документация -> Скриншоты
Как переключаться между разными окошками / вкладками браузера?
Для этого можно использовать API самого Selenium WebDriver.
getWebDriver().getWindowHandles()
- возвращает множество всех вкладок или оконgetWebDriver().getWindowHandle()
- возвращает уникальный идентификатор активной вкладки или окна.Могу ли я посмотреть исходный код Selenide?
Да. Исходный код Selenide выложен на гитхабе.
Могу ли я вносить изменения в Selenide?
Конечно! На то он и open source.
Мотивируйтесь: Как законтрибьютить в опенсорс, чтобы не сгореть со стыда.
Сколько стоит Selenide?
Если наш заказчик потребует исходный код тестов, позволяет ли лицензия Selenide ему их передать?
Selenide - бесплатный продукт с открытым исходным кодом, распространяемый по лицензии MIT. Проще говоря, это значит, что вы можете делать с ним всё что угодно.
А точно вы не сделаете Selenide платным?
Точно. Selenide всегда будет бесплатным.