Le sélénium UnreachableBrowserException - “impossible de démarrer une nouvelle session” dans SoapUI Groovy TestStep
- Je utiliser SoapUI Pro 5.1.2 sur Win7 x32, et essayez de vous connecter à Selenium Webdriver en Groovy, TestStep.
À cette fin, j'ai ajouté selenium-standalone-server.jar
v2.45.0 dans $SOAP_HOME$\bin\ext
dossier.
Mon Groovy TestStep code:
import org.openqa.selenium.WebDriver
import org.openqa.selenium.chrome.ChromeDriver
System.setProperty('webdriver.chrome.driver', 'C:\\\\Windows\\system32\\chromedriver.exe')
log.info(System.getProperty('webdriver.chrome.driver')) //got 'C:\\Windows\system32\chromedriver.exe'
WebDriver driver = new ChromeDriver() //this line causes error
driver.get('http://google.com')
driver.quit()
Lorsque j'essaie d'exécuter cette étape, SoapUI renvoie le message:
org.openqa.selenium.remote.UnreachableBrowserException:
Could not start a new session.
Possible causes are invalid address of the remote server or browser start-up failure.
Build info:
version: '2.45.0',
revision: '5017cb8',
time: '2015-02-26 23:59:50'
System info:
host: 'SmithPC',
ip: '10.0.2.15',
os.name: 'Windows 7',
os.arch: 'x86',
os.version: '6.1',
java.version: '1.8.0_45'
Driver info:
driver.version: ChromeDriver
error at line: 7
J'ai essayé d'exécuter ce morceau de code par le biais de la Netbeans IDE, après l'ajout de la même selenium-standalone-server.jar
paquet vide projet java. Et il a terminé sans problèmes!
Cette erreur dans le journal de soapUI:
org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
Build info: version: '2.45.0', revision: '5017cb8', time: '2015-02-26 23:59:50'
System info: host: 'SmithPC', ip: '10.0.2.15', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_45'
Driver info: driver.version: ChromeDriver
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:593)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:240)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:126)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:139)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:171)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:160)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:117)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:57)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:186)
at Script3.run(Script3.groovy:7)
at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:92)
at com.eviware.soapui.support.scripting.groovy.SoapUIProGroovyScriptEngineFactory$SoapUIProGroovyScriptEngine.run(SourceFile:79)
at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:138)
at com.eviware.soapui.impl.wsdl.panels.teststeps.GroovyScriptStepDesktopPanel$RunAction$1.run(GroovyScriptStepDesktopPanel.java:250)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at org.apache.http.impl.conn.SystemDefaultRoutePlanner.determineProxy(SystemDefaultRoutePlanner.java:79)
at org.apache.http.impl.conn.DefaultRoutePlanner.determineRoute(DefaultRoutePlanner.java:77)
at org.apache.http.impl.client.InternalHttpClient.determineRoute(InternalHttpClient.java:124)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:183)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
at org.openqa.selenium.remote.internal.ApacheHttpClient.fallBackExecute(ApacheHttpClient.java:126)
at org.openqa.selenium.remote.internal.ApacheHttpClient.execute(ApacheHttpClient.java:72)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:133)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:66)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:572)
... 23 more
J'ai aussi essayé d'utiliser FirefoxDriver()
au lieu de ChromeDriver()
, et a obtenu le même message d'erreur.
Ressemble
J'ai essayé d'exécuter
J'ai eu la même erreur, ma solution a été d'une ancienne version de Chrome
chromedriver.exe
démarre normalement - au moins soapUI journal dans le terminal affiche le message Starting ChromeDriver 2.15.322448 (hashcode) on port 36240
droit avant de message d'erreurJ'ai essayé d'exécuter
FirefoxDriver()
sans pré-configurer - la façon la plus simple de lancer un navigateur, mais il jette la même erreur aussiJ'ai eu la même erreur, ma solution a été d'une ancienne version de Chrome
OriginalL'auteur Maxim Romanyuk | 2015-05-22
Vous devez vous connecter pour publier un commentaire.
J'ai rencontré la même erreur, qui a dit:
mais
chromedriver.exe
commencé amende. Je le vois dans le gestionnaire des tâches.Mon environnement est le suivant,
Après plusieurs essais suggéré dans les résultats de google, ma dernière solution est d'ajouter
127.0.0.1 localhost
àC:\Windows\System32\drivers\etc\hosts
.Espérons vous aider!
OriginalL'auteur xjfengck
Télécharger le pilote le plus récent(chrome ou IE) seleniumhq.org et l'utilisation de code ci-dessous
Cela a fonctionné pour moi.
OriginalL'auteur Yash Jagdale
En sélénium ce message d'erreur:
Peut avoir beaucoup de causes. Cependant, l'examen de la stacktrace dans ce cas est due à une
NullPointerException
:Le problème, c'est que vous êtes à l'aide de sélénium à l'intérieur de SOAPUI. SOAPUI semble définir le proxy par défaut pour
null
(ProxySelector.setDefault(null)
). Ainsi, lorsque le sélénium obtient le proxy par défaut une invoquer une méthode sur elle, unNullPointerException
est levée.Le problème est qu'il exécute votre code à l'intérieur de SOAPUI de sorte que vous ne pouvez pas obtenir le proxy par défaut avant de SOAPUI définie à null... puis une solution de contournement possible est dans votre Groovy testStep essayez de créer un
ProxySelector
un la définir par défaut avant deWebDriver
est exécutée:Dans cet exemple, j'ai étendre la
ProxySelector
classe abstraite dans un groovy façon, pour définir au moins un direct proxy. Si nécessaire, il est également possible d'utiliser leProxy
classe pour configurer un pas directe, de proxy et de le fixer dans la liste, mais avec ce code, j'essaie d'éviter leNPE
en raison de SOAPUIProxySelector.setDefault(null)
.OriginalL'auteur albciff
Il déjà dit que vous ce qui s'est passé:
Essayer de définir le chemin en utilisant l'un des moyens suivants:
OU
Aussi, je ne voudrais pas vous recommandons de stocker chromedriver.exe dans le dossier system32, surtout si vous n'avez pas les droits d'admin sur le poste de travail. Utilisation smt comme C:/WebDrivers/hromedriver.exe
IllegalStateException
: "Le pilote de l'exécutable n'existe pas". J'ai essayé de changer de répertoire de pilote, en plaçant nouvelle copie dechromedriver.exe
dansC:\drivers
, mais ce n'est pas de l'aide - le même message d'erreur s'affiche.OriginalL'auteur Ivan Litskevich
Cela pourrait être un problème de compatibilité entre le sélénium', 'le navigateur google chrome, la version" et "chrome" du conducteur de la version que vous utilisez.
Vous êtes à l'aide de Sélénium 2.53 (comme moi), puis à l'aide de chrome pilote de 2,25 devrait fonctionner pour vous.
Vous pouvez le télécharger à partir d'ici - https://chromedriver.storage.googleapis.com/index.html?path=2.25/
OriginalL'auteur Santosh Pillai