web-dev-qa-db-ja.com

java)を使用してSeleniumでghostdriverを実行する方法

いくつかのWebテストにphantomJSを使用したいのですが、GhostDriverhttps://github.com/detro/ghostdriver )に出くわしました。 readmeの手順を使用してビルドし、指定したポートで実行できますが、JavaコードからWebドライバーにアクセスする方法がわかりません。明確にするために、この例を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から同じことを行う方法がわかりません。

10
user650309

このリンクがあなたの質問に答えると思います。 Selenium2.28.0とPhantomJS1.8が必要になります。私はこれをテストしました、そしてそれは宣伝されたように働きます、しかし私のテストは前兆でした。バインディングを含むjarを取得するには、SeleniumZipファイルをダウンロードする必要があることに注意してください。 Mavenリポジトリにはまだ含まれていません。

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

5
walton

これを見る可能性のある他の人のために、Javaから実行することを明確にするために:

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

その後、通常のWebDriverのように使用できます。

16
user650309

システムプロパティのみを設定します。

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

まず、PhantomJSDriverのexeファイルをダウンロードします。インストールする必要はありません。このファイルを 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");

   }
}
2
ER.swatantra