web-dev-qa-db-fra.com

Impossible de créer une nouvelle session distante

Comment résoudre ce problème. Auparavant, mon code fonctionnait, mais les paramètres IE ont été réinitialisés par quelqu'un. Maintenant, je reçois cette exception.

Started InternetExplorerDriver server (32-bit)
2.53.1.0
Listening on port 16183
Only local connections are allowed
Oct 21, 2016 10:14:12 AM org.openqa.Selenium.remote.ProtocolHandshake createSession
INFO: Attempting bi-dialect session, assuming Postel's Law holds true on the remote end
Oct 21, 2016 10:14:12 AM org.openqa.Selenium.remote.ProtocolHandshake createSession
INFO: Falling back to straight W3C remote end connection
Oct 21, 2016 10:14:12 AM org.openqa.Selenium.remote.ProtocolHandshake createSession
INFO: Falling back to original OSS JSON Wire Protocol.
Exception in thread "main" org.openqa.Selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities [{ensureCleanSession=true, browserName=internet Explorer, version=, platform=WINDOWS}], required capabilities = null
Build info: version: 'unknown', revision: '3169782', time: '2016-09-29 10:24:50 -0700'
System info: Host: 'BWT12654001', ip: '10.52.132.157', os.name: 'Windows Server 2008 R2', os.Arch: 'AMD64', os.version: '6.1', Java.version: '1.8.0_101'
Driver info: driver.version: InternetExplorerDriver
    at org.openqa.Selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.Java:80)
    at org.openqa.Selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.Java:141)
    at org.openqa.Selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.Java:82)
    at org.openqa.Selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.Java:602)
    at org.openqa.Selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.Java:242)
    at org.openqa.Selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.Java:228)
    at org.openqa.Selenium.ie.InternetExplorerDriver.run(InternetExplorerDriver.Java:180)
    at org.openqa.Selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.Java:172)
    at org.openqa.Selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.Java:144)
    at mypackage.TestIEBrowser.main(TestIEBrowser.Java:33)
12
Gourav Sinha

Cela peut fonctionner hors de la boîte sans les paramètres de capacité souhaités. Allez dans les options Internet >> Sécurité, cliquez sur: 'Réinitialiser toutes les zones au niveau par défaut et après cela, assurez-vous que la case à cocher' Activer le mode protégé 'est cochée pour les quatre zones.

6
Tester Man

Tout d'abord, vérifiez votre niveau de zoom par défaut dans Internet Explorer. Si ce n'est pas 100%, procédez comme suit:

  • Ouvrez Internet Explorer.

  • Appuyez sur Alt + X puis cliquez sur Options Internet.

  • Cliquez sur l'onglet Avancé.

  • Cochez la case "Réinitialiser le niveau de zoom pour les nouvelles fenêtres et l'onglet"

  • Appuyez sur Appliquer et ok.

  • Fermez et ouvrez la fenêtre Internet Explorer et vérifiez si le zoom par défaut est défini sur 100%.

Une fois que vous avez terminé les étapes ci-dessus, ajoutez les lignes suivantes dans votre code:

DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);

Maintenant, exécutez votre programme et cela devrait fonctionner.

J'espère que cela vous aidera !!

4
Harshil Doshi

La question est discutée sur projet Selenium sur Github

Voici la citation de la partie la plus pertinente/informative qui m'a aidé à résoudre le problème:

La bonne nouvelle est qu'il ressemble au pilote IE principalement avec IE11, à condition que (a) toute la sécurité les zones sont définies sur le même paramètre du mode protégé et (b) le mode protégé amélioré est désactivé. Notez que le registre standard vérifie que le pilote IE utilise pour tester les paramètres du mode protégé dans IE7-10 sont défectueux pour IE11, et nous n'avons jamais tenté de vérifier le mode protégé amélioré, donc il n'y a pas d'avertissement (encore) si vous n'avez pas ces paramètres correctement définis.

La mauvaise nouvelle est que la manipulation des cookies est rompue. Mal. Si vous essayez de définir ou de récupérer des cookies, il est possible que vous vous retrouviez avec l'erreur "Impossible d'obtenir le navigateur" rencontrée auparavant. Pour le moment, il n'y a pas de solution pour cela.

1

J'ai eu le même problème (dans mon cas Firefox):

 Exception in thread "main" org.openqa.Selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities [{marionette=true, browserName=firefox, moz:firefoxOptions={binary=Optional.empty, args=[], legacy=null, logLevel=null, prefs={}, profile=null}, version=, platform=ANY}], required capabilities = Capabilities [{moz:firefoxOptions={binary=Optional.empty, args=[], legacy=null, logLevel=null, prefs={}, profile=null}}]

Utilisation du pilote Selenium 3.3.1:

<dependency>
  <groupId>org.seleniumhq.Selenium</groupId>
  <artifactId>Selenium-Java</artifactId>
  <version>3.3.1</version>
</dependency>

Et résolu via une autre version comme .4 + .

<dependency>
  <groupId>org.seleniumhq.Selenium</groupId>
  <artifactId>Selenium-Java</artifactId>
  <version>3.4.0</version>
</dependency>
0
invzbl3