Java类变量声明

  发布于 2023-02-11 10:16

我正在尝试编写Selenium Java.class文件来遍历多个Web浏览器.但是,我对Java OOP范围问题感到困惑.下面的'driver'变量只允许声明一次.在第一个Firefox声明中.其他switch语句块不喜欢重新声明'driver'.

我以为我可以在switch语句之上声明'driver',但是,我不知道要声明它的类,因为它需要是一个不同的类,具体取决于使用的浏览器.

这种问题通常是如何处理的?

谢谢...

    switch (BrowserName){
    case "Firefox":
        FirefoxDriver driver = new FirefoxDriver();
        break;
    case "Chrome":
        System.setProperty("webdriver.chrome.driver", "C:\\chromedriver_win32\\chromedriver.exe");
        ChromeDriver driver = new ChromeDriver();
        break;
    case "IE":
        System.setProperty("webdriver.ie.driver", "C:\\InternetExplorerDriver32\\IEDriverServer.exe");
        InternetExplorerDriver driver = new InternetExplorerDriver();
        break;
    case "Safari":
        SafariDriver driver = new SafariDriver();
        break;
    default:
        System.out.println("Browser not recognized.  Spawning default Firefox browser.");
        FirefoxDriver driver = new FirefoxDriver();
        break;
    }

Elliott Fris.. 5

您缺少一个非常基本的选项,那就是使用所有各种驱动程序实现的底层接口.那就是WebDriver,你可以使用像这样的东西=

org.openqa.selenium.WebDriver driver = null;
switch (BrowserName){
// As before, but don't redefine driver, just assign it
 case "Firefox":
    driver = new FirefoxDriver(); // for example.
    break;
// ....
}

然后你应该能够driver照常使用.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有