2017-11-29 3 views
2

Ich kann Firefox von Selenium nicht mit geckodriver steuern. Das ist seltsam, weil Chrome mit demselben Framework ohne Fehler betrieben wird!SessionNotCreatedException: Es kann kein neuer Dienst erstellt werden: GeckoDriverService mit Selenium Grid unter Ubuntu kann Firefox nicht steuern

Das sind meine Versionsnummern:

Firefox 54.0 (64-bit) 
Chrome Version 62.0.3202.94 (Official Build) (64-bit) 

selenium-server-standalone-3.7.1.jar 
client-combined-3.5.3-nodeps.jar 

geckodriver-v0.19.1-linux64 
chromedriver_linux64 

Ubuntu 16.10 

Der Fehler, den ich von Selen WebDriver mit Java erhalten, ist die folgende:

--------------------------------Error: 
[email protected]:~/Source/SeleniumCheese/bin$ ./execute_grid.sh 
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Unable to create new service: GeckoDriverService 
Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-06T21:07:36.161Z' 
System info: host: 'leder-VirtualBox', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.8.0-59-generic', java.version: '1.8.0_131' 
Driver info: driver.version: unknown 
Command duration or timeout: 1.39 seconds 
---------------------------------Schnapp 

Dies ist mein Setup, wo firefox gebrochen und Chrom ist OK :

Grid_SetUp.java

package de.auticon.selenium_server; 
import org.openqa.selenium.WebDriver;  
import org.openqa.selenium.By; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.remote.DesiredCapabilities;  
import org.openqa.selenium.remote.RemoteWebDriver; 
import java.net.MalformedURLException;  
import java.net.URL; 

public class Grid_SetUp { 
    public static WebDriver driver; 

    public static void main(String[] args) throws MalformedURLException, InterruptedException{ 
     System.setProperty("webdriver.chrome.driver","/opt/selenium/chromedriver");  
     String URL = "http://www.google.de";  
     String Node = "http://192.168.40.40:4444/wd/hub";  
     DesiredCapabilities cap = DesiredCapabilities.firefox(); 
     driver = new RemoteWebDriver(new URL(Node), cap); 
     driver.navigate().to(URL); 
     WebElement element = driver.findElement(By.name("q")); 
     //Enter something to search for 
     element.sendKeys("Cheese!"); 
     // Now submit the form. WebDriver will find the form for us from the element 
     element.submit(); 
     // Check the title of the page 
     System.out.println("Page title is: " + driver.getTitle()); 

     Thread.sleep(5000); 

     driver.quit();  
    }  
} 

selenium_grid.sh:

#!/bin/bash 
java -jar /opt/selenium/selenium-server-standalone-3.7.1.jar -role hub & 
java -Dwebdriver.gecko.driver=/opt/selenium/geckodriver -jar /opt/selenium/selenium-server-standalone-3.7.1.jar -role webdriver -hub http://192.168.40.40:4444/grid/register -nodeConfig /opt/selenium/defaultNodeConfig.json -browser "browserName=firefox,platform=LINUX" & 

execute_grid.sh:

#!/bin/bash 
java -cp ".:/opt/selenium/selenium-server-standalone-3.7.1.jar" de.auticon.selenium_server.Grid_SetUp 

ich die Frage für Arbeitskonfiguration jetzt aktualisiert. Aber wenn das firefox Selenium TC TC vervollständigt läuft leider beendet der Server mit einer Fehlermeldung „Sitzung nicht erstellt“:

13:49:10.376 INFO - Removing session [email protected] 
13:49:10.381 INFO - To downstream: {"value":{"error":"session not created","message":"Tried to run command without establishing a connection","stacktrace":"stack backtrace:\n 0:   0x4edb3c - backtrace::backtrace::trace::hc4bd56a2f176de7e\n 1:   0x4edb72 - backtrace::capture::Backtrace::new::he3b2a15d39027c46\n 2:   0x4409a1 - webdriver::error::WebDriverError::new::h81babdd86c977032\n 3:   0x4280ea - <webdriver::server::Dispatcher<T, U>>::run::h2119c674d7b88193\n 4:   0x4029b9 - std::sys_common::backtrace::__rust_begin_short_backtrace::h21d98a9ff86d4c25\n 5:   0x40be65 - std::panicking::try::do_call::h5cff0c9b18cfdbba\n 6:   0x5e6a6c - panic_unwind::__rust_maybe_catch_panic\n      at /checkout/src/libpanic_unwind/lib.rs:99\n 7:   0x41eb22 - <F as alloc::boxed::FnBox<A>>::call_box::h413eb1d9d9f1c473\n 8:   0x5df13b - alloc::boxed::{{impl}}::call_once<(),()>\n      at /checkout/src/liballoc/boxed.rs:692\n       - std::sys_common::thread::start_thread\n      at /checkout/src/libstd/sys_common/thread.rs:21\n       - std::sys::imp::thread::{{impl}}::new::thread_start\n      at /checkout/src/libstd/sys/unix/thread.rs:84"}} 

Antwort

1

Einige Worte über Selenium Grid Konfiguration:

  • Sie erwähnten Ihre Test Bed als selenium-server-standalone-3.7.1.jar und client-combined-3.5.3-nodeps.jar.

    : Richtet sich nach Best Practices, sollten Sie selenium-server-standalone-3.7.1.jar

  • In der neuesten veröffentlichten Version dh zu verwenden selenium_grid.sh: Sie Folgendes ändern müssen verwenden versuchen, eine der folgenden nicht beide

  • Immer

    java -Dwebdriver.gecko.driver=/opt/selenium/geckodriver 
    
+0

Danke, DebanjanB! Ich kann ''/opt/selen/client-combined-3.5.3-nodeps.jar' problemlos auslassen und 'java -Dwebdriver.gecko.driver =/opt/selen/geckodriver' läuft jetzt gut! – Leder

+0

Ich habe die Frage auf die funktionierende Konfiguration aktualisiert und eine neue Fehlermeldung hinzugefügt, bitte sehen Sie nach. – Leder

Verwandte Themen