Как найти экземпляр драйвера в рамках QAF
Во время выполнения я хочу знать, в каком браузере в данный момент выполняется скрипт, и выполнить некоторые действия в зависимости от браузера, в котором запущен скрипт.
я использую
Опция 1:
if (new QAFExtendedWebDriver().getUnderLayingDriver().equals("ChromeDriver")) {
// Do`enter code here` some thing if this is a chrome browser
}
else if (new QAFExtendedWebDriver().getUnderLayingDriver() instanceof FirefoxDriver) {
}
Эта опция не работает во время моего извинения. Как узнать, в каком браузере я нахожусь?
1 ответ
Ниже приведено несколько примеров:
//to get driver name for this thread which provided using driver.name
String drivername = TestBaseProvider.instance().get().getDriverName();
//if running in browser, browser name for this thread, will not be avialable for mobile native or hybrid apps
String browserName =getDriver().getCapabilities().getBrowserName();
//underlying driver class name, which can be remote driver if you are using remote driver
String driverClassname = getDriver().getUnderLayingDriver().getClass().getSimpleName();
Вы не предоставили подробную информацию о том, что вы пытаетесь достичь. Если вы хотите что-то сделать при открытии браузера, вы можете использовать драйвер слушателя.
Если вы используете bdd и у вас есть код, специфичный для платформы / браузера, вместо использования, если еще, вы можете иметь отдельную пошаговую реализацию для каждой платформы / браузера в отдельном пакете и соответственно загружать пакет провайдера шага, например:
step.provider.pkg=com.exmple.steps.common;com.exmple.steps.chrome