java - 如何在 WebDriver 中切换实例

标签 java firefox selenium webdriver

您好,我对当前框架进行了以下设置,

ClassA
{
    //Which Receives Selenium WebDriver call the 'driver' object reference to manipulate the locators in UI

    public WebDriver get()
    {
        return MainClass.driver;
    }
}

MainClass
{
    public static Webdriver driver;
    method A()
    {
        //which uses Firefox instance and it is passed to ClassA to operate
    driver = new FirefoxDriver();
    }

    methodB()
    {
        //which creates new instance of Chrome
        driver = new ChromeDriver();
    }
}

我想做的是,一旦我调用methodB(),Chrome的实例就被创建了,但是一旦完成,我想恢复到chrome运行之前可用或调用的firefox实例,但是用我的方法,因为我引用相同的 webdriver 对象,旧的 Firefox 引用将被删除。

有什么建议吗?

PS:请原谅我遵循的错误代码约定

最佳答案

最简单的解决方案是为 FF 和 Chrome 创建单独的对象。修改get方法,接受一个参数(browserType),然后返回对应的对象。

为什么要切换浏览器?

关于java - 如何在 WebDriver 中切换实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17855406/

相关文章:

VS-Code 中的 Java 项目, "No delegateCommandHandler for vscode.java.validateLaunchConfig"错误

java - 我在 defaultWriteObject 处收到 NotActiveException,但我不知道为什么

css - 在 Mac OS X 上的 Firefox 中强制显示滚动条

java - Selenium:当某些 xpath 没有元素时如何编写 if 条件

jquery - 国际域名 + JQuery attr ('href' ) Firefox 中的问题

html - 表 : How to make Firefox act same like IE 中的图像

java - Selenium 查找多种可能类型的元素

java - Webdriver:查找并单击隐藏元素,其中 id 不断变化

python - 属性错误: 'module' object has no attribute 'runTest'

java - 如何在 java 中检查两个属性对象是否重叠?