如何在QAF框架中找到驱动程序实例

时间:2018-12-06 09:08:16

标签: selenium selenium-webdriver 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 个答案:

答案 0 :(得分: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