2012-07-20 2 views
0

Удаленный WebDriver может быть создан с помощью имени браузера как «firefox» через объект DesiredCapabilties.Selenium - Как получить локальный WebDriver по имени браузера

Но как получить локальный драйвер, например, «FireFoxDriver» с именем браузера?

Мой случай использования выглядит следующим образом: проверяемые браузеры задаются с помощью свойств во внешнем текстовом файле. с другим свойством устанавливается сетка url. если grid url установлен в «local», я хочу запустить тесты локально в браузерах, установленных в текстовом файле.

(как) это возможно?

ответ

1

Несомненно. Что-то на этом пути?

public static void main(String[] args) { 
    WebDriver driver = openBrowser(args[0]); 
    // now work with driver as usual 
} 

public static WebDriver openBrowser(String browserName) { 
    if ((browserName == null) || (browserName.trim().isEmpty())) { 
     throw new IllegalArgumentException("No browser name found."); 
    } 

    // works with Java 7, on Java < 7, you have to write an if-else block instead 
    switch (browserName.toLowerCase()) { 
     case "ff": // fall through 
     case "firefox": 
      return new FirefoxDriver(); 
     case "ie": // fall through 
     case "iexplore": // fall through 
     case "internet explorer": 
      return new InternetExplorerDriver(); 
     default: 
      throw new IllegalArgumentException("No valid browser name found."); 
    } 
} 
+0

Это то, что я не хочу делать: измените код для поддержки дополнительного браузера. с конструктором, который берет строку (например, удаленный веб-драйвер), достаточно изменить внешний текстовый файл, чтобы протестировать дополнительный браузер. – dermoritz

1

Я могу предложить взломать. Запустите селен-сервер на вашем локальном компьютере, а затем вы можете использовать remotewebdriver с адресом хоста, как http://localhost:4444/wd/hub.

Таким образом, вы сможете использовать один и тот же удаленный драйвер и внешний текстовый файл для контроля своих тестов на локальном компьютере.

+0

thx для этого совета - я подумаю об этом. на данный момент локальный тест работает только на firefox. – dermoritz

Смежные вопросы