【问题标题】:Explanation required for WebDriver object mapping using Selenium使用 Selenium 进行 WebDriver 对象映射所需的说明
【发布时间】:2021-09-07 03:26:14
【问题描述】:

在创建我们使用的 WebDriver 对象时,例如

WebDriver driver = new ChromeDriver();

为什么不能如下,

WebDriver driver = new WebDriver();

只是想知道原因。

【问题讨论】:

    标签: selenium automation webdriver


    【解决方案1】:

    WebDriver 是一个interface,我们不能创建它的an instance

    其中 ChromeDriver 是一个扩展 RemoteWebDriver 类的类。

    RemoteWebDriver 类基本实现了 WebDriver Interface.

    所以写new WebDriver(); 在Java 中是无效的,因为我们不能创建接口对象。这将导致编译时错误。

    WebDriver 接口的内部实现:

    public interface WebDriver extends SearchContext{
    
    void get(String url);
    
    String getCurrentUrl();
    
    // and so on....
    }
    

    上面所有的方法都被RemoteWebDriver覆盖了

    【讨论】:

    • 所以写 new WebDriver();在 Java 中无效,因为我们可以创建接口对象。
    • @Prophet :那是错字,谢谢指出
    猜你喜欢
    • 1970-01-01
    • 2012-06-30
    • 2013-07-07
    • 2013-05-24
    • 2018-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多