Exécuter Sélénium 2 Tests contre le navigateur à distance
-
28-09-2019 - |
Question
Je voudrais avoir une configuration où mon serveur de build exécute un test NUnit qui ouvre et conduit un navigateur sur une machine distante. Quelle serait la meilleure façon d'y arriver?
Il était facile à faire en Sélénium 1, car le serveur proxy java assis entre vos tests et le navigateur. Dans Sélénium 2, vos tests communiquent directement avec le navigateur (au moins dans IE et Firefox).
Y at-il une bonne façon de le faire? Peut-être avec un service WCF ou quelque chose?
La solution
Vous devez obtenir le autonome Selenium Server (en cours est le sélénium-serveur autonome-2.0a6.jar) mise en œuvre .NET du serveur , mais sa version est derrière Java une
Ensuite, vous devez utiliser le RemoteWebDriver
:
IWebDriver driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4444/wd/hub"),DesiredCapabilities.InternetExplorer());
Et puis utilisez le pilote comme vous le faites dans vos tests « locaux »
Plus d'infos:
http://code.google.com/p/selenium/wiki/RemoteWebDriver
http://code.google.com/p/selenium/wiki/RemoteWebDriverServer
Autres conseils
C # exemple de le faire est listé dans lien ci-dessous. Les fichiers du pilote pour Firefox vient avec thats intégré pot de serveur de sélénium nécessaires pour être en cours d'exécution sur la machine distante. Mais chrome pilote et explorateur Internet besoins emplacement du pilote à transmettre au serveur avec des options -Dwebdriver.ie.driver et -DWebdriver.chrome.driver sur le
start-upPour plus de détails se référer ce lien Comment appeler / run différent type de navigateur du pilote Web en utilisant WebDriver à distance en C #
Le code de base est illustré ci-dessous
[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();
}