2010-10-07 16 views
5

Mi piacerebbe avere una configurazione in cui il mio build server esegue un test NUnit che apre e guida un browser su una macchina remota. Quale sarebbe il modo migliore per realizzare questo?Esegui test selenio 2 contro il browser remoto

È stato facile farlo in Selenium 1, perché il server proxy java si trovava tra i test e il browser. In Selenium 2, i test comunicano direttamente con il browser (almeno in IE e Firefox).

C'è un buon modo per farlo? Forse con un servizio WCF o qualcosa del genere?

risposta

6

È necessario ottenere il server standalone Selenium (corrente è selenio-server-autonomo-2.0a6.jar) da http://code.google.com/p/selenium/. Poi partenza è con la riga di comando sulla macchina remota (è necessario Java installato lì):

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

Inoltre c'è un .NET implementation of the server, ma la sua versione è dietro il Java uno

Poi si dovrebbe utilizzare il RemoteWebDriver:

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

e quindi utilizzare il driver come fai nel "locale" test

Maggiori informazioni:

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# esempio di fare questo è elencato nel link qui sotto. I file di driver per firefox sono incorporati con il jar del server di selenio che è necessario eseguire sulla macchina remota. Ma autista cromo e posizione Internet explorer conducente deve essere passato al server con le opzioni -Dwebdriver.ie.driver e -DWebdriver.chrome.driver sulla start-up

Per ulteriori informazioni si veda questo link How to invoke/run different type of web driver browser using remote webdriver in C#

Il codice di base è mostrato sotto

 [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(); 
    } 
Problemi correlati