2010-10-07 4 views
5

Я хотел бы иметь конфигурацию, где мой сервер сборки запускает тест NUnit, который открывает и управляет браузером на удаленной машине. Какой был бы лучший способ сделать это?Выполнение тестов Selenium 2 против удаленного браузера

Это было легко сделать в Selenium 1, потому что прокси-сервер java сидел между вашими тестами и браузером. В Selenium 2 ваши тесты напрямую связаны с браузером (по крайней мере, в IE и Firefox).

Есть ли хороший способ сделать это? Возможно, с помощью службы WCF или что-то еще?

ответ

6

Вам необходимо получить автономный сервер Selenium (текущий - selenium-server-standalone-2.0a6.jar) от http://code.google.com/p/selenium/. Затем начать с командной строки на удаленной машине (вам нужно Java установлен там):

java -jar selenium-server-standalone-2.0a6.jar

Также есть .NET implementation of the server, но его версия за Java одной

Тогда вы должны использовать RemoteWebDriver:

IWebDriver driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4444/wd/hub"),DesiredCapabilities.InternetExplorer()); 

И затем использовать драйвер, как вы в вашей "местные" тестирует

Дополнительная информация:

http://www.google.com/codesearch/p?hl=en#CJyJMZi8hYc/trunk/remote/client/src/csharp/webdriver-remote/RemoteWebDriver.cs

http://code.google.com/p/selenium/wiki/RemoteWebDriverServer

2

C# пример выполнения этого указана в ссылке ниже. Файлы драйверов для firefox встроены в банку сервера selenium, которые должны выполняться на удаленной машине. Но водитель хром и расположение Интернет драйвера исследователь должен быть передан на сервер с опциями -Dwebdriver.ie.driver и -DWebdriver.chrome.driver на начальном

Более подробную информацию по этой ссылке How to invoke/run different type of web driver browser using remote webdriver in C#

Базовый код показан ниже

 [Test] 
    public void Test_OpeningHomePageUsingIE() 
    { 
     // Step b - Initiating webdriver 
     IWebDriver driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4444/wd/hub"), DesiredCapabilities.InternetExplorer()); 
     //Step c : Making driver to navigate 
     driver.Navigate().GoToUrl("http://docs.seleniumhq.org/");  
     //Step d 
     IWebElement myLink = driver.FindElement(By.LinkText("Download")); 
     myLink.Click(); 
     //Step e 
     driver.Quit(); 
    } 
Смежные вопросы