2013-05-17 18 views
7

Momentan kann ich ein Firefox-Profil über einen RemoteWebDriver senden, aber ich kann die RestCLient-Erweiterung nicht über das Profil senden. Ich benötige eine bestimmte REST-Client-Erweiterung (Firefox-Add-On), um für meine Testfallausführung verfügbar zu sein.Remote-Webdriver - Das Firefox-Profil mit Rest-Client-Erweiterung (Add-On) übergeben

Wenn ich den Testfall lokal mit Firefox-Treiber ausführen, funktioniert es .... aber wie erreiche ich das Gleiche mit RemoteWebDriver?

File profileDirectory = new File("c://mach//lib//prof"); 
FirefoxProfile profile = new FirefoxProfile(profileDirectory); 
driver = new FirefoxDriver(profile); 
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS); 

Prost

Antwort

19

Nach einer FilefoxProfile Instanz erstellen, übertragen, das Profil mit dem DesiredCapabilities API (FirefoxDriver.PROFILE = "firefox_profile"):

File profileDirectory = new File("c://mach//lib//prof"); 
FirefoxProfile profile = new FirefoxProfile(profileDirectory); 

DesiredCapabilities capabilities = DesiredCapabilities.firefox(); 
capabilities.setCapability(FirefoxDriver.PROFILE, profile); 
driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capabilities); 

Hinweis: Sie müssen nicht erstellen Profil im Voraus bietet die FirefoxProfile API mehrere convenient methods, um ein Profil zu erstellen. Zum Beispiel, wenn Sie Firefox mit der Erweiterung vorinstalliert starten möchten, verwenden Sie:

FirefoxProfile firefoxProfile = new FirefoxProfile(); 
File extension = new File("extension.xpi"); 
firefoxProfile.addExtension(extension); 

DesiredCapabilities capabilities = DesiredCapabilities.firefox(); 
capabilities.setCapability(FirefoxDriver.PROFILE, firefoxProfile); 
driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capabilities); 

Dokumentation mit dem Remote-Web-Treiber arbeiten:

+0

Ich habe diese Ausnahme in Zeile "RemoteWebDriver (neue URL (" http: // localhos t: 4444/wd/hub "), Fähigkeiten);" org.openqa.selenium.remote.UnreachableBrowserException: Eine neue Sitzung konnte nicht gestartet werden. Mögliche Ursachen sind eine ungültige Adresse des Remote-Servers oder der Startfehler des Browsers. Build-Info: Version: '2.43.1', Revision: – Sagar007

+0

Sie müssen Selenium Server starten, um RemoteWebDriver zu verwenden –