Selenium Remote Control | shredder05.ru shredder05.ru Разговоры об Интернет Технологиях Posts Tagged ‘Selenium Remote Control’ Как использовать Selenium плюс .NET среда, ноября 26, 2008

В этой статье я расскажу как быстро внедрить приёмочное тестирование используя Selenium. В качестве языка, на котором будут написаны и выполняться тесты я выбрал C#. Что нам понадобиться?
1. Selenium IDE ( _http://selenium-ide.seleniumhq.org/download.jsp) - это плагин к браузеру FireFox. С его помошью можно удобно и быстро написать тест кейсы и сконвертировать в нужный нам язык. Кроме того плагин позволяет запустить записанные тесты, что даёт возможность сразу увбедиться в правильности работы теста. Если плагин что либо не так записал, то в нём же можно отредактировать\удалить\добавить шаги.

Selenium ide

2. Selenium Remote Control _http://selenium-rc.seleniumhq.org/download.jsp) - с помошью этого программного продукта можно будет запускать созданные тесты на других браузерах. Selenium RC по сути является веб сервером, который будет обрабатывать команды посылаемые ему. Эти команды будут формироваться нашим .NET приложением. Необходимая для этого библиотека поставляется с Selenium RC. Нам достаточно будет её подключить и всё.
Итак начнём. Скачиваем и устанавливаем выше указанные программые продукты. Запускаем FireFox и идём в меню Инструменты - выбираем Selenium IDE. Далее идём на сайт, для которого необходимо создать тесты. Проделываем все операции, а плагин в это время запишет все действия. Останавливаем запись и сразу запускаем тест, что бы проверить на работоспособность. В некоторых местах вероятнее всего нужно будет вставить паузы, что бы тест успевал отрабатывать. После того как тест успешно отработал конвертируем его в C#, меню Options -> Format -> C# Selenium RC. Далее запускаем Microsoft Visual Studio 2005\2008. Создаём новый проект, выбираем шаблон Console Application и язык C#.

После того как Microsoft Visual Studio сгенерирует проект, необходимо добавить библиотеки, для этого справа в окне Solution Explorer нажимаем правой кнопкой миши по нашему проекту и выбираем Add Reference -> вкладка Browse и идём в папку selenium-remote-control, она в архиве Selenium Remote Control . Далее выбираем папку selenium-dotnet-client-driver, выделяем все *.DLL файлы в ней - это nmock.dll , nunit.core.dll, nunit.framework.dll, ThoughtWorks.Selenium.Core.dll, ThoughtWorks.Selenium.IntegrationTests.dll , ThoughtWorks.Selenium.UnitTests.dll и добавляем их. Теперь возвращаемся в окно Selenium IDE и копируем с него все объявления (using) и заменяем ими вместо тех что в студии. Далее копируем оствашуюся часть кода и вставляем ниже тоже в студию. После этого находим функцию static void Main(string[] args) и в её теле создаём объект класса SeleniumTests.NewTest, для того чтобы потом можно было вызвать его две функции: SetupTest() и TheNewTest(). Делается всё это счастье тремя строчками

SeleniumTests.NewTest obj = new SeleniumTests.NewTest();
obj.SetupTest();
obj.TheNewTest();

Теперь осталось указать нужный нам браузер, в котором будет отрабатывать наш тест. Это указывается в качестве параметра в функции DefaultSelenium. Там по умоллчанию стоит "*chrome". Чтобы тест запустился в Internet Explorer указываем "*iexplore". Следующий параметр этой функции указывает на стартовую страницу, значение по умолчанию  "h ttp://change-this-to-the-site-you-are-testing/", его нужно заменить на URL вашего сайта. Теперь необходимо запустить сам Selenium Remote Control сервер, что бы он мог принимать и выполнять команды от нашего приложения. Сервер находится в паке selenium-server - это Java приложение и для его работы необходимо поставить (если не установлено) Java Virtual Machine (_http://www.java.com/ru/download/index.jsp). Для удобного запуска я создал Selenium RC.bat файл разместил его на панели быстрого запуска и написал следующие команды:

cd D:\путь\к\Selenium Remote Control
cls
java -jar selenium-server.jar -interactive

Параметр -interactive позволяет давать команды серверу вручную прямо из консоли. Сохраняем файл и запускаем сервер двойным кликом по bat файлу. Если всё сделали правильно, то в консоли должны увидеть что-то вроде этого:

13:02:57.283 INFO - Java: Sun Microsystems Inc. 11.0-b15
13:02:57.299 INFO - OS: Windows XP 5.1 x86
13:02:57.299 INFO - v1.0-beta-1 [2201], with Core v1.0-beta-1 [1994]
13:02:57.377 INFO - Version Jetty/5.1.x
13:02:57.377 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
13:02:57.393 INFO - Started HttpContext[/selenium-server,/selenium-server]
13:02:57.393 INFO - Started HttpContext[/,/]
13:02:57.408 INFO - Started SocketListener on 0.0.0.0:4444
13:02:57.408 INFO - Started [email protected]
Entering interactive mode... type Selenium commands here (e.g: cmd=open&1=http://www.yahoo.com)

Теперь возвращаемся к нашему тесту в Microsoft Visual Studio и запускаем его (F5). Если ошибок в коде нет, то должен запуститься Internet Explorer с тремя фреймами. В верхних двух можно наблюдать какой в данный момент выполняется шаг, ну а внизу ваш сайт, для которого будет выполняться тест. Теперь для запуска теста в Internet Explorer в следующий раз необходимо будет просто запустить Selenium Remote Control сервер и ваш exe файл, который создала Microsoft Visual Studio. Если будете перемещать exe файл из папки, то не забудьте скопировать ту да же и файлы библиотек. Продуктивного тестирования!


  • shredder05.ru is proudly powered by WordPress
    Entries (RSS) and Comments (RSS).

    rss