2017-04-19 5 views
0

Wenn ich den folgenden Code ausführen, wird unten angezeigt Fehler: org.openqa.selenium.remote.UnreachableBrowserException: Konnte eine neue Sitzung nicht starten. Mögliche Ursachen sind eine ungültige Adresse des Remote-Servers oder der Startfehler des Browsers.Selenium: UnreachableBrowserException wird in chromeDriver mit testNG angezeigt

Der Chrome-Browser wird nicht gestartet.

//baseClass.java:

public class Baseclass {

//ThreadLocal will keep local copy of driver 
public static ThreadLocal<RemoteWebDriver> dr = new ThreadLocal<RemoteWebDriver>(); 

@BeforeTest 
//Parameter will get browser from testng.xml on which browser test to run 
@Parameters("myBrowser") 
public void beforeClass(String myBrowser) throws MalformedURLException{ 
    try { 
     RemoteWebDriver driver = null; 

     if(myBrowser.equals("chrome")){ 
      DesiredCapabilities capability = new DesiredCapabilities().chrome(); 
      capability.setBrowserName("chrome"); 
      capability.setPlatform(Platform.WINDOWS); 
      driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability); 
     } 
     else if(myBrowser.equals("firefox")){ 
      DesiredCapabilities capability = new DesiredCapabilities().firefox(); 
      capability.setBrowserName("firefox"); 
      capability.setPlatform(Platform.WINDOWS); 
      driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability); 
     } 

     //setting webdriver 
     setWebDriver(driver); 

     getDriver().manage().window().maximize(); 
     getDriver().manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
    }catch (Exception ex){ 
     System.out.println(ex.toString()); 
    } 
} 

public WebDriver getDriver() { 
    return dr.get(); 
} 

public void setWebDriver(RemoteWebDriver driver) { 
    dr.set(driver); 
} 

@AfterClass 
public void afterClass(){ 
    getDriver().quit(); 
    dr.set(null); 

} 

}

+0

Mögliche Duplikat [Selen UnreachableBrowserException - in SoapUI Groovy Testschritt "Es konnte keine neue Sitzung starten"] (http://stackoverflow.com/questions/30397043/selenium-unreachablebrowserexception-could-not- Start-eine-neue-Sitzung-in-Soapui) – JeffC

Antwort

1

Sie haben die Systemeigenschaft für Chrom/Gecko Fahrer zu setzen, bevor die RemoteWebDriver initialisiert. So etwas wie,

if(myBrowser.equals("chrome")){ 
     DesiredCapabilities capability = new DesiredCapabilities().chrome(); 
     capability.setBrowserName("chrome"); 
     capability.setPlatform(Platform.WINDOWS); 
     System.setProperty("webdriver.chrome.driver", "C:\\chromedriver\\chromedriver.exe"); 
     driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability); 
    } 
    else if(myBrowser.equals("firefox")){ 
     DesiredCapabilities capability = new DesiredCapabilities().firefox(); 
     capability.setBrowserName("firefox"); 
     capability.setPlatform(Platform.WINDOWS); 
     System.setProperty("webdriver.gecko.driver", "C:\\geckodriver\\geckodriver.exe"); 
     driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability); 
    } 
Verwandte Themen