2013-01-02 12 views
6

WebテストではphantomJSを使用したいと思いますが、GhostDriverhttps://github.com/detro/ghostdriver)にアクセスしました。私はreadmeの指示に従ってビルドしましたが、指定したポートで実行できますが、JavaコードからWebドライバにアクセスする方法がわかりません。明確にするために、私はこの例をルビーで見た:Javaを使用してSeleniumでghostdriverを実行する方法

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からどうやって行うのか分かりません。

答えて

5

私はこのリンクがあなたの質問に答えると信じています。 Selenium 2.28.0とPhantomJS 1.8が必要です。私はこれをテストしましたが、私のテストは先行していましたが、広告として動作します。バインディングを含むjarを取得するには、Selenium zipファイルをダウンロードする必要があることに注意してください。 Mavenレポにはまだそれが含まれていません。

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

+0

うん、それが今取り組みました。セレン2.28が必要であることは明らかではありませんでした。ありがとう! – user650309

+0

@waltonありがとう)あなたは正しい方向に私を指摘しました – klvtsov

14

ただ、Javaからそれを実行するために、これを見るかもしれない他の人のために明確にする:

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

は、その後、それはいつものwebdriverを同じように使用することができます。

+0

これは "/ Path/to/bin/phantomjs"という意味で、私は理解できませんでした、説明してください。 – devsda

+0

phantomJSバイナリへのファイルパスを使用してください。 – user650309

+0

はい、私はこの問題を解決しました。 :) – devsda

2

最初に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"); 

    } 
} 
1

のみ設定されたシステムプロパティ:

System.setProperty("phantomjs.binary.path", "lib/phantomjs.exe"); 
WebDriver driver = new PhantomJSDriver(); 
関連する問題