Как запустить ghostdriver с Selenium с помощью java

Я хочу использовать phantomJS для некоторых веб-тестирования, и я столкнулся с GhostDriver (https://github.com/detro/ghostdriver). Я построил его с помощью инструкций в readme, и я могу запустить его на указанном порту, но я не уверен, как получить доступ к веб-драйверу из моего java-кода. Чтобы уточнить, я видел этот пример в ruby:

  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

Я просто не уверен, как сделать то же самое из java.

Ответ 1

Я верю, что эта ссылка ответит на ваши вопросы. Вам понадобятся Selenium 2.28.0 и PhantomJS 1.8. Я протестировал это, и он работает как рекламируемый, хотя мои тесты были прекурсорными. Обратите внимание, что вам нужно загрузить Selenium zip файл, чтобы получить банку, которая содержит привязки. Репозиторий Maven еще не включил его.

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

Ответ 2

Чтобы уточнить для других, кто может это увидеть, запустить его из java:

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

Затем он может использоваться как обычный WebDriver.

Ответ 3

Сначала загрузите файл exe из PhantomJSDriver. Не нужно устанавливать, загружайте этот файл только из http://phantomjs.org/download.html и просто укажите путь к файлу exe в данном коде.

 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");

   }
}

Ответ 4

Только установить системное свойство:

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