繁体   English   中英

RemoteWebDriver和WebDriver有什么区别?

[英]What is the difference between RemoteWebDriver and WebDriver?

我实际上找不到一个很好的解释,说明了在Selenium中RemoteWebDriver和WebDriver之间的区别。

这是eclipse告诉我将WebDriver转换为RemoteWebDriver的代码。

(!((RemoteWebDriver) driver).getSessionId().toString().contains("null"))

那么为什么我不应该只使用RemoteWebDriver而不是WebDriver呢?

RemoteWebDriver是一个实现接口WebDriver的具体类。

RemoteWebDriver类包含未由接口WebDriver声明的其他方法。 方法'getSessionId()'就是其中之一。

因此,您的对象需要明确地下载以使用getSessionId方法,因为WebDriver本身不知道任何由RemoteWebDriver纯定义的方法或变量。

提出问题 - “为什么我不应该只使用RemoteWebDriver而不是WebDriver ?”

是的,您可以使用RemoteWebDriver而不是WebDriver ,但它使代码不符合设计原则 - 'Code to the interface'

您的代码可以正常工作,但没有任何问题。

但是,它不具备使用其他驱动程序实现的灵活性,这些驱动程序实现可能在将来(尽管非常不可能)实现WebDriver但不扩展RemoteWebdriver 在这种情况下, RemoteWebDriver类型的变量不能分配给类的对象是哪个WebDriver's实现但不扩展RemoteWebDriver

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM