Selenium Webdriver Manager
Хочу поделиться небольшой утилитой, которую я нарыл на просторах Github.
Называется она WebDriverManager.
С помощью этой библиотеки вы можете решить достаточно банальную проблему управления драйверами для Chrome, Firefox или InternetExplorer.
Я думаю, многим автоматизаторам знакома "проблема":
org.openqa.selenium.WebDriverException:
The path to the driver executable must be set by the webdriver.chrome.driver system property;
for more information, see http://code.google.com/p/selenium/wiki/ChromeDriver.
The latest version can be downloaded from http://code.google.com/p/chromedriver/downloads/list
Да, все это не ново и решается достаточно просто:
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
При таком подходе обычно нужно скачивать и хранить этот самый chromedriver в папке resources, а что еще более неприятно, - если мы запускаем тесты на разных платформах, то нужно творить разные фабрики и писать кучу дополнительного кода.
Библиотека же решает это все следующим образом:
public class ChromeTest {
protected WebDriver driver;
@BeforeClass
public static void setupClass() {
ChromeDriverManager.getInstance().setup();
}
@Test
public void test() {
// Using Selenide
open('http://automation-remarks.com');
$$('.post').shouldHave(size(10));
}
}
В целом, эта находка меня очень порадовала и я уже ее прикрутил к своему проекту - рекомендую!!