Как запустить Ghostdriver с Selenium, используя Java
Я хочу использовать phantomJS
для некоторого веб-тестирования, и я сталкивался GhostDriver
( https://github.com/detro/ghostdriver). Я построил его, используя инструкции в файле readme, и я могу запустить его на указанном порту, но я не уверен, как получить доступ к веб-драйверу из моего кода Java. Чтобы уточнить, я видел этот пример в 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.
4 ответа
Я считаю, что эта ссылка ответит на ваши вопросы. Вам понадобится Selenium 2.28.0 и PhantomJS 1.8. Я проверил это, и оно работает как рекламируется, хотя мои тесты были предварительными. Обратите внимание, что вам нужно скачать zip-файл Selenium, чтобы получить банку с привязками. Репозиторий 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.
Только установить системное свойство:
System.setProperty("phantomjs.binary.path", "lib/phantomjs.exe");
WebDriver driver = new PhantomJSDriver();
Сначала загрузите исполняемый файл 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");
}
}