Участник: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