2

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

我在用

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

        }

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

4

1 回答 1

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 并且您有平台/浏览器特定的代码,而不是使用 if else 您可以在不同的包中为每个平台/浏览器设置单独的步骤实现,并相应地加载步骤提供程序包,例如:

step.provider.pkg=com.exmple.steps.common;com.exmple.steps.chrome
于 2018-12-06T18:04:57.597 回答