Comment exécuter ghostdriver avec Selenium en utilisant java

je veux utiliser phantomJS pour quelques tests web, et je suis tombé sur GhostDriver ( https://github.com/detro/ghostdriver ). Je l'ai construit en utilisant les instructions dans le readme et je peux l'exécuter sur un port spécifié, mais je ne suis pas sûr de savoir comment accéder au pilote web à partir de mon code java. Pour clarifier, j'ai vu cet exemple dans 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

Je ne sais pas comment faire la même chose depuis java.

8
demandé sur Tom 2013-01-02 16:37:12

4 réponses

je crois que ce lien répondra à vos questions. Vous aurez besoin de Selenium 2.28.0, et PhantomJS 1.8. J'ai testé ceci, et cela fonctionne comme annoncé, bien que mes tests aient été précurseurs. Notez que vous devez télécharger le fichier zip de sélénium pour obtenir le bocal qui contient les reliures. Le maven repo ne l'inclut pas encore.

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

5
répondu walton 2014-02-22 02:32:36

juste pour clarifier pour les autres qui pourraient voir cela, de l'exécuter à partir de java:

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

alors il peut être utilisé comme un WebDriver habituel.

15
répondu user650309 2013-01-04 10:44:22

téléchargez D'abord le fichier exe du PhantomJSDriver. Vous n'avez pas besoin de l'installer, Téléchargez seulement ce fichier à partir de http://phantomjs.org/download.html et donnez simplement le chemin du fichier exe dans le code donné.

 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
répondu ER.swatantra 2015-02-21 09:37:21

Seulement ensemble du système de la propriété:

System.setProperty("phantomjs.binary.path", "lib/phantomjs.exe");
WebDriver driver = new PhantomJSDriver();
2
répondu atiruz 2017-06-02 14:28:49