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

How to find the driver instance in QAF framework

在执行期间我想知道当前脚本是哪个浏览器 运行 并根据脚本是 运行 的浏览器执行一些操作。

我正在使用

选项 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) {   

        }

这个选项在我执行期间不起作用。有什么方法可以知道我在哪个浏览器中?

下面是几个例子:

//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 并且您有 platform/browser 特定代码,而不是使用 if else,您可以在不同的包中为每个 platform/browser 单独执行步骤,并相应地加载步骤提供程序包,对于示例:

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