Выполните тесты Selenium 2 против удаленного браузера - PullRequest
5 голосов
/ 08 октября 2010

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

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

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

Ответы [ 2 ]

6 голосов
/ 14 октября 2010

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

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

Также есть .NET-реализация сервера , но его версия отстает от Java

Тогда вам следует использоватьRemoteWebDriver:

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

А затем используйте драйвер, как вы делаете в своих «локальных» тестах

Подробнее:

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

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 голосов
/ 10 октября 2013

C # пример этого приведен в ссылке ниже.Файлы драйверов для Firefox поставляются со встроенным JAR-сервером Selenin, который требуется для запуска на удаленной машине.Но местоположение драйвера chrome и драйвера Internet Explorer должно быть передано на сервер с параметрами -Dwebdriver.ie.driver и -DWebdriver.chrome.driver при запуске

Для получения более подробной информации см. Эту ссылку Какдля вызова / запуска другого типа браузера веб-драйвера с использованием удаленного веб-драйвера в 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();
    }
...