Запуск Selenium из процесса Java - PullRequest
2 голосов
/ 26 ноября 2008

Как бы вы запустили процесс (поток) Selenium из процесса Java, чтобы мне не пришлось запускать Selenium вручную?

Ответы [ 2 ]

9 голосов
/ 26 ноября 2008

Сервер:

import org.openqa.selenium.server.SeleniumServer;
public class SeleniumServerControl {
  private static final SeleniumServerControl instance = new SeleniumServerControl();
  public static SeleniumServerControl getInstance() {
    return instance;
  }
  private SeleniumServer server = null;
  protected SeleniumServerControl() {
  }
  public void startSeleniumServer() {
    if (server == null) {
      try {
        server = new SeleniumServer(SeleniumServer.DEFAULT_PORT);
        System.out.println(" selenium server " + server.toString());
      } catch (Exception e) {
        System.err.println("Could not create Selenium Server because of: "
            + e.getMessage());
        e.printStackTrace();
      }
    }
    try {
      server.start();
    } catch (Exception e) {
      System.err.println("Could not start Selenium Server because of: "
          + e.getMessage());
      e.printStackTrace();
    }
  }
  public void stopSeleniumServer() {
    if (server != null) {
      try {
        server.stop();
        server = null;
      } catch (Exception e) {
        System.err.println("Could not stop Selenium Server because of: "
            + e.getMessage());
        e.printStackTrace();
      }
    }
  }
}

Клиент:

browser = new DefaultSelenium("localhost", 4444, "*firefox", "http://www.google.com");
browser.start();
3 голосов
/ 15 сентября 2009

Также есть несколько дополнительных настроек, которые вы можете использовать:

    RemoteControlConfiguration settings = new RemoteControlConfiguration();
    File f = new File("/home/user/.mozilla/firefox/default");
    settings.setFirefoxProfileTemplate(f);
    settings.setReuseBrowserSessions(true);
    settings.setSingleWindow(true);
    if (this.ServerWorks == false)
    {
        try
        {
            server = new SeleniumServer(settings);
            server.start();
            this.ServerWorks = true;
        } catch (Exception e)
        {
            e.printStackTrace();
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...