Участник:Bboogwin/личная помойка
= Selenium (дополнить боевую)
[править | править код]Инструмент автоматизации функционального тестирования веб-интерфейсов Selenium 2 включает в себя два продукта: Selenium Remote Control (Selenium 1) и Webdriver. Отличаются RC и Webdriver тем, что RC взаимодействует с браузером с помощью Selenium Core — специального инструмента, который может работать с любым браузером через JavaScript. Webdriver же использует нативный интерфейс, что позволяет более точно повторять действия пользователя, однако для взаимодействия с каждым отдельным браузером нужен специальный драйвер (т.к. у каждого браузера свой собственный нативный интерфейс), но при этом скорость прохождения теста повышается. На данный момент существуют такие драйвера: HtmlUnitDriver — универсальный драйвер, не требующий установки браузера; FirefoxDriver — драйвер для Firefox; InternetExplorerDriver — драйвер для IE; ChromeDriver — драйвер для Google Chrome; OperaDriver — драйвер для Opera; SafariDriver — драйвер для Safari; AndriodDriver — драйвер для мобильного браузера на Android; IphoneDriver — драйвер для мобильного браузера на iPhone;
Использование нативного интерфейса также причиняет набольшое неудобство — любое нажатие клавиши в процессе прохождения может «обрушить» тест. В Webdriver почти всё сводится к .click или .sendKeys (вобшем-то реальный пользователь может сделать не намного больше, однако, например, простая комманда для снятия скриншота или выбора Ok/Cancel в диалоговом окне не помешала бы). Однако в Webdriver реализовано большее количество локаторов для поиска элемента на странице.
By.id — обращается к элементу по ID; By.name — обращается по имени элемента name: By.xpath — обращается к элементу по xpath выражению; By.tagName — поиск по имени HTML тэга; By.cssSelector — данный тип локаторов основан на описаниях таблиц стилей (CSS); By.className — поиск по CSS классу элемента; By.linkTex — поиск ссылки по тексту; By.partionalLinkText — поиск ссылки по части текста;
Инструмент автоматизации функционального тестирования веб-интерфейсов.
Для запуска web автотестов необходимо создать профиль для Firefox c username = selenium.
Для начала нужно настроить профиль с помощью Profile Manager. Для запуска Profile Manager нужно в командной строке выполнить команду
cd [Path_to_folder_Mozilla_Firefox]
firefox.exe -ProfileManager -no-remote
После этого откроется Profile Manager для браузера FireFox. Далее требуется выбрать существующий профиль или создать новый, и провести необходимые настройки.
После того как необходимый(ые) профили браузера будут готовы, нужно научить Selenium Server запускать требуемый нам профайл браузера.
Делается это очень просто: в строке запуска Selenium Server укажем параметр firefoxProfileTemplate < dir >.
Данным флагом мы помечаем, какой профиль необходимо использовать в тестах. Пример использования:
cd [.\fp.web.autotest\selenium-lib]
java -jar selenium-server.jar -firefoxProfileTemplate C:\selenium
После того как профиль был создан выполняем ant скрипт .\fp.web.autotest\build_test.xml