为什么我们不创建一个 RemoteWebDriver driver = new ChromeDriver() 的对象; ?为什么我们为 WebDriver 接口创建它

问题描述

我见过很少有人也提出同样的问题,但所有的答案都谈到在设置网格的情况下使用 remotewebdriver。我知道我们需要将它用于 grid 。但是为什么我们不能将它用于正常情况下也可以在单台机器上执行代码

有人能解释一下原因吗?

谢谢

解决方法

与使用 IWebDriver 相比,我更倾向于使用 RemoteWebDriver。 原因是 RemoteWebDriver 有 IJavaScriptExecutor 接口,但 IWebDriver 没有,我经常需要 IJavaScriptExecuter。

在大多数情况下,最好使用您需要的最不具体的实现。 这使代码更灵活,更易于单元测试,并有助于防止冲突。