Réglage à Distance Webdriver pour exécuter des tests dans un ordinateur distant à l'aide de Java
J'essayais de configuration à distance webdriver pour exécuter mes tests pour ordinateur distant, comme mon application est déployée sur mon localhost. En utilisant Selenium RC, j'ai utilisé l'adresse d'hôte pour exécuter ces tests et il a bien fonctionné; mais je vais avoir de la difficulté à mettre en place la classe de base à l'aide de remote webdriver. J'ai essayé le code suivant mais il n'a pas fonctionné. Par ailleurs, j'avais sélénium tests dont je suis la migration à distance webdriver. J'ai essayé webdriver qui fonctionne très bien mais n'a pas pu configurer la télécommande webdriver pour exécution à distance. Toute aide sera appréciée.
public static String base_url = "http://localhost:8084";
Proxy proxy = new Proxy();
proxy.setProxyAutoconfigUrl(base_url);
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(CapabilityType.PROXY, proxy);
RemoteWebDriver driver = new RemoteWebDriver(capabilities);
selenium = new WebDriverBackedSelenium(driver, base_url);
Exemple de grille 2 code qui fonctionne pour firefox, mais ne fonctionne pas sur IE9
String hubURL = "http://myip:4444/wd/hub";
DesiredCapabilities capability = DesiredCapabilities.internetExplorer();
//capability.setBrowserName("internet explorer");
//capability.setPlatform("WINDOWS");
//capability.setVersion("9.0.4");
WebDriver driver = new RemoteWebDriver(new URL(hubURL), capability);
driver.get("http://www.google.com");
WebElement element = driver.findElement(By.name("q"));
element.sendKeys("Cheese!");
element.submit();
driver.quit();
Erreur que j'ai été reçu quand il est IE9 bien que j'ai précisé c'est à dire de mode de commande à partir d'un nœud:
Exception in thread "main" org.openqa.selenium.WebDriverException: Error forwarding the new session cannot find : {platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}
Command duration or timeout: 110 milliseconds
Build info: version: '2.16.1', revision: '15405', time: '2012-01-05 12:23:11'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.38-13-generic', java.version: '1.6.0_26'
Driver info: driver.version: RemoteWebDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:147)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:113)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:435)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:135)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:94)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:102)
at com.main.SelTest.main(SelTest.java:25)
Caused by: org.openqa.grid.common.exception.GridException: Error forwarding the new session cannot find : {platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}
at org.openqa.grid.web.servlet.handler.RequestHandler.process(RequestHandler.java:151)
at org.openqa.grid.web.servlet.DriverServlet.process(DriverServlet.java:81)
at org.openqa.grid.web.servlet.DriverServlet.doPost(DriverServlet.java:67)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.openqa.jetty.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
at org.openqa.jetty.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473)
at org.openqa.jetty.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1530)
at org.openqa.jetty.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1482)
at org.openqa.jetty.http.HttpServer.service(HttpServer.java:909)
at org.openqa.jetty.http.HttpConnection.service(HttpConnection.java:820)
at org.openqa.jetty.http.HttpConnection.handleNext(HttpConnection.java:986)
at org.openqa.jetty.http.HttpConnection.handle(HttpConnection.java:837)
at org.openqa.jetty.http.SocketListener.handleConnection(SocketListener.java:243)
at org.openqa.jetty.util.ThreadedServer.handle(ThreadedServer.java:357)
at org.openqa.jetty.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
Je voulais dire qu'il ne fonctionne pas. comme je n'ai jamais mentionné qui va être mon ordinateur hôte.
OriginalL'auteur Reaz Patwary | 2012-01-12
Vous devez vous connecter pour publier un commentaire.
Vous devez installer le Sélénium Serveur (Moyeu) et le registre de votre télécommande WebDriver. Ensuite, votre client va parler au Hub qui va trouver un correspondant de WebDriver pour l'exécution de votre test.
Vous pouvez avoir un coup d'oeil à ici pour plus d'informations.
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.38-13-generic', java.version: '1.6.0_26
Avez-vous vraiment essayer de lancer IE9 sur une machine Linux ?Nop, j'ai hub est un ubuntu boîte où j'ai déployé mon projet et d'essayer de faire des tests sur un windows 7 vm avec IE9
Sur le Sélénium page wiki, j'ai trouvé ce question . Une autre chose que ne puis-je pas être en mesure d'exécuter à distance un conducteur de machine virtuelle windows de mon linux? ou j'ai besoin d'une zone de windows pour exécuter une autre télécommande pilote windows?
non, une linux box pour le moyeu doit être fine
OriginalL'auteur Grooveek
Cette question est pour moi en raison du fait que .. j'ai été serveur en cours d'exécution avec le sélénium-serveur-autonome-2.32.0 et le client enregistré avec le sélénium-serveur-autonome-2.37.0 .. Quand j'ai fait les deux sélénium-serveur-autonome-2.32.0 et a couru puis tout s'était bien passé
OriginalL'auteur Vishwaradhya Hiremath
Par Défaut, le InternetExplorerDriver écoute sur le port "5555". Changer votre huburl corresponde. vous pouvez regarder sur la boîte cmd fenêtre pour confirmer.
OriginalL'auteur user2383377
C'est comment je me suis débarrassé de l'erreur:
Dans votre nodeconfig.json, version doit être une Chaîne de caractères, un entier.
Donc, au lieu d'utiliser
"version": 11
utilisation"version": "11"
(notez les guillemets).Un exemple complet d'un travail nodecondig.fichier json pour un RemoteWebDriver:
OriginalL'auteur Cagy79
-jar selenium-server-standalone-2.44.0.jar -role hub
Java -jar selenium-server-standalone-2.44.0.jar -role webdriver -hub http://HubmachineIPAddress:4444/grid/register -port 5566
Une chose, c'est que chaque fois que nous utilisons Internet Explorer ou Google Chrome nous avons besoin de définir:
System.setProperty("webdriver.ie.driver",path);
OriginalL'auteur Avinash Pande