【问题标题】:What is the Difference between Selenium Webdriver and Selenium Ghostdriver? [closed]Selenium Webdriver 和 Selenium Ghostdriver 有什么区别? [关闭]
【发布时间】:2016-01-09 12:28:06
【问题描述】:

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

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

请给我一个简短的想法。

提前致谢。

【问题讨论】:

  • 我不需要很宽泛的答案。只是正反两面,差别不大。
  • Ghostdriver IS-A Webdriver :-) 另外,tag-wiki for ghostdriver 给出了简单的解释。

标签: java selenium selenium-webdriver ghostdriver differentiation


【解决方案1】:

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

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

WebDriver PhantomJs 的实现是 GhostDriver

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

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

尽管不需要运行最新的 PhantomJS,但最好安装 Selenium2,以便您可以在其他浏览器中进行测试。

【讨论】:

  • 您能详细说明一下吗?
  • 哦,非常感谢。据我了解硒,HTMLUnit 也是无头浏览器。但它不支持 Java 脚本。那么 selenium GhostDriver 可以支持吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-10
  • 2016-03-12
  • 2021-02-16
  • 2018-06-13
  • 2019-03-17
  • 1970-01-01
  • 2011-10-23
相关资源
最近更新 更多