#selenium #selenium-webdriver #testng #selenium-chromedriver
#селен #selenium-webdriver #testng #selenium-chromedriver
Вопрос:
Я автоматизирую свои тесты, используя TestNG и Java:
-
Может ли WebDriver заменить ChromeDriver, чтобы наши тесты работали во всех браузерах, таких как Chrome, Firefox, Mozilla, Safari, Opera …?
-
Как мы должны настроить браузер, чтобы использовать один и тот же код для всех браузеров?
Ответ №1:
По сути, вы просто создаете экземпляр другого класса, производного от RemoteWebDriver, в зависимости от браузера, который вы тестируете.
например
void GetWebDriver(String browserName) {
if (CHROME.equals(browserName))
return new ChromeDriver(capability);
else if (FIREFOX.equals(browserName))
return new FirefoxDriver(capability);
else if (EDGE.equals(browserName))
return new EdgeDriver(capability);
else if (INTERNET_EXPLORER.equals(browserName))
return new InternetExplorerDriver(capability);
else if (OPERA.equals(browserName))
return new OperaDriver(capability);
else if (SAFARI.equals(browserName))
return new SafariDriver(capability);
}
Я предлагаю вам изучить этот проект githob: https://github.com/sebarmeli/Selenium2-Java-QuickStart-Archetype
В частности, WebDriverFactory.java досье.
Комментарии:
1. Спасибо за ваш ответ, но что мне делать, если в моем тестовом наборе мне нужно объявить драйвер, а также в некоторых методах тестирования внутри функции
run(ChromeDriver wd) {//some code }
!2. Я не уверен, что вы имеете в виду. пожалуйста, уточните.
Ответ №2:
Самый простой способ запустить ваш код в разных браузерах — использовать Selenium Grid и RemoteWebDriver. Вы можете найти документ по следующей ссылке:
Комментарии:
1. Эта ссылка по существу нарушена.