Цель расплывчата: понять и сделать хоть что-нибудь =)
Selenium
Selenium - группа продуктов. Отличное описание в статье Что такое Selenium?
Selenium IDE - плагин для Firefox, позволяет записать тест, выполняя действия в браузере. Казалось бы, Selenium WebDriver должен дать больше возможностей: всё таки не из графического интерфейса тесты пишем, а с помощью языка программирования, но интересная мысль в другой статье того же автора Что такое Selenium WebDriver?:
Выбрать элемент на странице можно используя локаторы. Локаторы (в Selenium IDE в поле target) используют DOM, XPath или CSS (или просто ищут по id/name). Полезное:
Selenium
Selenium - группа продуктов. Отличное описание в статье Что такое Selenium?
Selenium IDE - плагин для Firefox, позволяет записать тест, выполняя действия в браузере. Казалось бы, Selenium WebDriver должен дать больше возможностей: всё таки не из графического интерфейса тесты пишем, а с помощью языка программирования, но интересная мысль в другой статье того же автора Что такое Selenium WebDriver?:
"... WebDriver не имеет прямого отношения к тестированию. Он всего лишь предоставляет автотестам доступ к браузеру. На этом его функции заканчиваются.Структурирование, группировку и запуск тестов, а также генерацию отчётов о тестировании, обеспечивает фреймворк тестирования, такой как JUnit или TestNG для Java, .."Локаторы
Выбрать элемент на странице можно используя локаторы. Локаторы (в Selenium IDE в поле target) используют DOM, XPath или CSS (или просто ищут по id/name). Полезное:
- XPath: XML Path Language (XPath) на примерах. Неплохая помощь XPath Checker в firefox'е.
- CSS: CSS selectors in Selenium demystified
ChromeDriver
Тест из SeleniumIDE можно экспортировать в java/junit4. В качестве WebDriver'а будет использован FirefoxDriver. Если вы хотите использовать ChromeDriver, то надо представлять, что взаимодействуют три части:
- сам браузер - Chrome;
- драйвер - привязка к языку - то, что поставляет Selenium WebDriver;
- исполняемый файл chromedriver, как связующее звено между первыми двумя.
Необходимо загрузить chromedriver и как написано на странице ChromeDriver:
"Make sure the server can be located on your PATH or specify its location via thewebdriver.chrome.driver system property."На практике это возможно разными путями, из опробованных:
- В коде unit теста:
System.setProperty("webdriver.chrome.driver", "X:/path/to/chromedriver.exe");
- В pom.xml:
<properties> <webdriver.chrome>X:/path/to/chromedriver.exe</webdriver.chrome> </properties> <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <systemPropertyVariables> <webdriver.chrome.driver>${webdriver.chrome}</webdriver.chrome.driver> </systemPropertyVariables> </configuration> </plugin>
Мне больше нравится дописывание в pom.xml (можно настраивать профили и пути для разных сборок), но мой eclipse не хочет видеть путь и завершает тест с ошибкой.
P.s.: сам браузер тоже должен находиться в стандартной директории - см. ChromeDriver.
P.s.: сам браузер тоже должен находиться в стандартной директории - см. ChromeDriver.
Comments
Post a Comment