Как найти экземпляр драйвера в рамках 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
Другие вопросы по тегам