gpt4 book ai didi

selenium - 为什么我们不写 RemoteWebdriver driver = new ChromeDriver();

转载 作者:行者123 更新时间:2023-12-04 04:13:55 26 4
gpt4 key购买 nike

我脑子里突然冒出这个问题,为什么我们不写RemoteWebdriver driver = new ChromeDriver();有什么坏处有什么好处为什么我们在创建我们的时候不这样写驱动程序实例。

我们确实这样写:

Webdriver driver = new ChromeDriver(); 
ChromeDriver driver = new ChromeDriver();

但不是这样的:

RemoteWebdriver driver = new ChromeDriver(): 

我是新来的,所以任何帮助将不胜感激。

谢谢

最佳答案

当初始化 ChromeDriver 并将其分配给类型为 ChromeDriver 的变量时,您可以使用该类型可用的所有具体方法。如果您需要配置 Chrome 浏览器窗口,这将非常有用:

ChromeDriver driver = new ChromeDriver();

// Configure Google Chrome

WebDriver 是一个接口(interface)。 ChromeDriver 是实现 WebDriver 接口(interface)的具体类。将 WebDriver 变量初始化为 ChromeDriver 的新实例时,您只是为 WebDriver 抽象提供具体实现。当您想在 Chrome 中进行测试时可以这样做,但您不需要 Chrome 特定的配置,并且 WebDriver 接口(interface)提供的方法足以满足您的测试。

WebDriver driver = new ChromeDriver();

// Use the WebDriver abstraction without needing to know it is Chrome

RemoteWebDriver 类是派生 ChromeDriver 的抽象类。它有一些与对运行在同一台计算机上的“网络驱动程序”进程进行网络服务调用相关的具体实现。它还包含像 ChromeDriver 这样的具体类必须实现的抽象。

之所以不经常看到将新的 ChromeDriver 分配给 RemoteWebDriver 变量,是因为从测试的角度来看,WebDriver 对象和 RemoteWebDriver 对象在功能上没有区别。 RemoteWebDriver 提供的抽象级别根本不是很有用。

RemoteWebDriver driver = new ChromeDriver();

// test code tends to only call methods defined in the WebDriver interface,
// so why bother with a concrete class?

关于selenium - 为什么我们不写 RemoteWebdriver driver = new ChromeDriver();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61122401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com