如何使用java运行Selenium的ghostdriver

我想使用phantomJS进行一些网络测试,我遇到了GhostDriver ( https://github.com/detro/ghostdriver )。 我使用自述文件中的说明构建它,我可以在指定的端口上运行它,但我不知道如何从我的Java代码访问Web驱动程序。 为了澄清,我在ruby中看到了这个例子:

  caps = { :browserName => "phantomjs", :platform => "LINUX" } urlhub = "http://key:secret@hub.testingbot.com: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做同样的事情。

我相信这个链接会回答你的问题。 你需要Selenium 2.28.0和PhantomJS 1.8。 我已经对此进行了测试,虽然我的测试是前瞻性的,但它的工作方式与广告一样。 请注意,您需要下载Selenium zip文件以获取包含绑定的jar。 Maven回购还没有包含它。

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

只是为了澄清其他可能会看到这个的人,从java运行它:

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

然后它可以像通常的WebDriver一样使用。

首先下载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"); } } 

仅设置系统属性:

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