2013-01-02 18 views
6

Chcę używać phantomJS dla niektórych testów internetowych i natknąłem się na GhostDriver (https://github.com/detro/ghostdriver). Zbudowałem go za pomocą instrukcji w pliku readme i mogę uruchomić go na określonym porcie, ale nie mam pewności, jak uzyskać dostęp do sterownika internetowego z mojego kodu Java. Aby wyjaśnić, widziałem ten przykład w Ruby:Jak uruchomić ghostdriver z Selenium używając java

caps = { 
    :browserName => "phantomjs", 
    :platform => "LINUX" 
    } 

urlhub = "http://key:[email protected]:4444/wd/hub" 

client = Selenium::WebDriver::Remote::Http::Default.new 
client.timeout = 120 

@webdriver = Selenium::WebDriver.for :remote, :url => urlhub, :desired_capabilities => caps, :http_client => client 
@webdriver.navigate.to "http://www.google.com/" 
puts @webdriver.title 
@webdriver.save_screenshot("./screenshot.png") 
@webdriver.quit 

ja po prostu nie wiem, jak zrobić to samo z java.

Odpowiedz

5

Wierzę, że ten link odpowie na twoje pytania. Będziesz potrzebował Selenium 2.28.0 i PhantomJS 1.8. Przetestowałem to i działa jak w reklamie, chociaż moje testy były prekursorskie. Zwróć uwagę, że musisz pobrać plik zip Selenium, aby pobrać słoik zawierający wiązania. Repo Maven jeszcze go nie zawiera.

http://ivandemarino.me/2012/12/04/Finally-GhostDriver-1-0-0/

+0

Tak mam to działa teraz. Nie było jasne, że potrzebujesz selenu 2.28. Dzięki! – user650309

+0

@walton dzięki człowiekowi) wskazałeś mi w dobrym kierunku – klvtsov

14

prostu do wyjaśnienia dla innych, którzy mogą zobaczyć to, aby uruchomić go z Java:

DesiredCapabilities caps = new DesiredCapabilities(); 
caps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, 
       "/Path/to/bin/phantomjs");     
driver = new PhantomJSDriver(caps); 

to może być używany jak zwykły WebDriver.

+0

Co to znaczy "/ Path/to/bin/phantomjs", nie zrozumiałem, proszę wyjaśnij. – devsda

+0

Wystarczy użyć ścieżki do pliku binarnego phantomJS. – user650309

+0

Tak, rozwiązałem ten problem. :) – devsda

2

Najpierw pobierz plik exe sterownika PhantomJSDriver. Nie musisz instalować, pobierasz tylko ten plik z http://phantomjs.org/download.html i po prostu podaj ścieżkę pliku exe w podanym kodzie.

public class Browserlaunch { 
    public static void main(String[] args) { 
     DesiredCapabilities DesireCaps = new DesiredCapabilities(); 
     DesireCaps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "C:/Drivers/phantomjs/bin/phantomjs.exe"); 
     WebDriver driver=new PhantomJSDriver(DesireCaps); 
     driver.get("http://google.com"); 

    } 
} 
1

tylko ustawić właściwość systemu:

System.setProperty("phantomjs.binary.path", "lib/phantomjs.exe"); 
WebDriver driver = new PhantomJSDriver(); 
Powiązane problemy