11

我想知道 Selenium Webdriver 和 Selenium Ghostdriver 之间的区别。

我也很困惑为什么要使用 selenium Ghostdriver?

请给我一个简短的想法。

提前致谢。

4

1 回答 1

19

Selenium WebDriver 由核心 Java API 组成,也称为 Selenium 2

Ghost Driver 是 PhantomJS 的 WebDriver Wire Protocol 的纯 JavaScript 实现。它是一个使用 PhantomJS 作为后端的远程 WebDriver。

WebDriver实现PhantomJsGhostDriver GhostDriver 的架构

驱动程序实际上加载并运行一个活动的Selenium2浏览器会话,就像人类一样操纵浏览器。ZombieJS是一个“无头”浏览器,它提供了普通浏览器的所有功能,但没有显示界面。无需花费额外的时间等待显示实际呈现,像无头浏览器这样的浏览器ZombieJS可以比普通浏览器运行得更快,因此您的测试将在短短一半的时间内执行。但是 ZombieJS 需要安装 Node.js 并且可能有点小错误,而且它有自己的 API(有利也有弊)。WebDriver Wire ProtocoSelenium2 驱动程序经过了很好的测试,并在它拥有驱动程序的所有浏览器上实现了一个标准 API—— l。

现在有一个包含 WebDriver Wire Protocol 实现的无头浏览器—— PhantomJS. 最新版本的 PhantomJS 是一个易于安装的独立二进制文件,不需要安装 Node.js 或任何其他依赖项,并附带其自己的“ Ghost Driver”用于实现 WebDriver Wire 协议。这意味着您可以使用 Codeception 中的 Selenium2 驱动程序来驱动它,以及您可以使用 Selenium2 在 Chrome、Firefox、Safari 或 IE 中测试的任何内容,您现在可以使用 PhantomJS 将测试时间缩短一半

即使不需要运行最新的 PhantomJS,安装 Selenium2 也是一个好主意,这样您就可以在其他浏览器中进行测试。

于 2015-10-12T06:15:17.787 回答