3.4.6. Konfigurieren von WebDriver-Instanzen

Teilweise ist es erforderlich, dass WebDriver-Instanzen für die entsprechende Umgebung konfiguriert werden. Bei der Registrierung von neuen WebDriver-Instanzen erfolgt diese Konfiguration in den WebDriverCreator-Implementierungen. Bei der Verwendung von bestehenden WebDriver-Instanzen wie z.B. für den Firefox-Browser sind bereits Basisklassen vorhanden, denen die Konfiguration übergeben werden kann. Zu diesem Zweck verfügen die Creator-Instanzen über Konstruktoren mit den gleichen Parametern wie die WebDriver-Instanzen selbst. Das folgende Code-Beispiel enthält die Konstruktoren der FirefoxDriverCreator-Implementation.

Beispiel 3.6. Konstruktoren FirefoxDriverCreator

public class FirefoxDriverCreator extends AbstractWebDriverCreator {
  /**
   * Erzeugt einen Creator.
   */
  public FirefoxDriverCreator() {...}

  /**
   * Erzeugt einen Creator.
   *
   * @param firefoxBinary
   *    {@link FirefoxDriver#FirefoxDriver(FirefoxBinary, FirefoxProfile)}
   * @param firefoxProfile
   *    {@link FirefoxDriver#FirefoxDriver(FirefoxBinary, FirefoxProfile)}
   */
  public FirefoxDriverCreator(FirefoxBinary firefoxBinary,
                                      FirefoxProfile firefoxProfile) {...}

  /**
   * Erzeugt einen Creator.
   *
   * @param firefoxProfile
   *            {@link FirefoxDriver#FirefoxDriver(FirefoxProfile)}
   */
  public FirefoxDriverCreator(FirefoxProfile firefoxProfile) {...}

  /**
   * Erzeugt einen Creator.
   *
   * @param capabilities
   *            {@link FirefoxDriver#FirefoxDriver(Capabilities)}
   */
  public FirefoxDriverCreator(Capabilities capabilities) {...}

Die Konstruktoren für den InternetExplorerDriverCreator und den ChromeDriverCreator enthalten ebenfalls die Parameter, die auch bei der Erzeugung der entsprechenden WebDriver-Instanz erforderlich sind.

Um eine neue Konfiguration für einen bestehenden WebDriver zu ändern, wird die Methode WebConfiguration.registerWebDriverCreator(WebDriverCreator creator) verwendet. Dadurch werden die bestehenden Konfigurationen überschrieben.