【问题标题】:How to find the driver instance in QAF framework如何在 QAF 框架中找到驱动程序实例
【发布时间】:2019-03-16 10:06:31
【问题描述】:

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

我正在使用

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

        }

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

【问题讨论】:

    标签: selenium selenium-webdriver qaf


    【解决方案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
    

    【讨论】:

    • 谢谢! String browserName =getDriver().getCapabilities().getBrowserName();这符合我的目的。
    猜你喜欢
    • 1970-01-01
    • 2012-09-05
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 2014-12-26
    • 2014-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多