Как найти экземпляр драйвера в рамках QAF - PullRequest
0 голосов
/ 06 декабря 2018

Во время выполнения я хочу узнать, в каком браузере в данный момент выполняется скрипт, и выполнить некоторые действия в зависимости от браузера, в котором запущен скрипт.

Я использую

Опция 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 Ответ

0 голосов
/ 06 декабря 2018

Ниже приведено несколько примеров:

//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 и у вас есть код, специфичный для платформы / браузера, вместо использования if else у вас может быть отдельная пошаговая реализация для каждой платформы/ browser в другой пакет и соответственно загрузите пакет провайдера, например:

step.provider.pkg=com.exmple.steps.common;com.exmple.steps.chrome
...