Web 驱动程序和 Web 驱动程序后端 Selenium 和 PhantomJs 之间的区别
Difference between web driver and web driver backend Selenium and PhantomJs
i 运行 在从 Selenium 生成的 PhantomJs 代码中。使用 Selenium IDE 我可以在 2 模式下导出 java 代码:Java |网络驱动程序或 Java | Web Driver Backend,但我如何更好?
我这么问是因为一些代码用 Java | 导出Web 驱动程序不能与 PhantomJsDriver 一起使用,但使用 Java 导出相同的代码 | Web Driver 后端工作..
WebDriverBackedSelenium
是为了与不再维护的 Selenium 1.0 向后兼容而提供的。所以如果你有选择,你真的应该使用 WebDriver
,即 Selenium 2.0。从这次编辑开始,WebDriver
正在成为 w3c 标准。您可以找到草稿 here。对于那些关心 Selenium 1.0 和 Selenium 2.0 (WebDriver) 之间差异的人,这里是一个高级的,
Selenium 1.0 - 是一个纯粹的 Javascript 应用程序。它向浏览器注入一个 javascript 自动化库,并为您提供 API 与浏览器交互
Selenium 2.0 - 使用原生浏览器 API,因此可以更好地模拟用户浏览器交互。
一般来说,使用IDE对初步学习是有好处的,但是我建议你手写你的测试代码,而不是依赖IDE。根据我的经验,从 IDE 生成的选择器很脆弱且不可读。它们使您的测试变得脆弱。如果您想长期维护您的测试 运行,您应该将您的测试代码视为应用程序代码。
至于您的问题,您是否尝试过 运行使用 FirefoxDriver 或 ChromeDriver 在任何其他浏览器上运行您的 WebDriver 代码?代码片段将有助于更好地识别问题。
i 运行 在从 Selenium 生成的 PhantomJs 代码中。使用 Selenium IDE 我可以在 2 模式下导出 java 代码:Java |网络驱动程序或 Java | Web Driver Backend,但我如何更好?
我这么问是因为一些代码用 Java | 导出Web 驱动程序不能与 PhantomJsDriver 一起使用,但使用 Java 导出相同的代码 | Web Driver 后端工作..
WebDriverBackedSelenium
是为了与不再维护的 Selenium 1.0 向后兼容而提供的。所以如果你有选择,你真的应该使用 WebDriver
,即 Selenium 2.0。从这次编辑开始,WebDriver
正在成为 w3c 标准。您可以找到草稿 here。对于那些关心 Selenium 1.0 和 Selenium 2.0 (WebDriver) 之间差异的人,这里是一个高级的,
Selenium 1.0 - 是一个纯粹的 Javascript 应用程序。它向浏览器注入一个 javascript 自动化库,并为您提供 API 与浏览器交互
Selenium 2.0 - 使用原生浏览器 API,因此可以更好地模拟用户浏览器交互。
一般来说,使用IDE对初步学习是有好处的,但是我建议你手写你的测试代码,而不是依赖IDE。根据我的经验,从 IDE 生成的选择器很脆弱且不可读。它们使您的测试变得脆弱。如果您想长期维护您的测试 运行,您应该将您的测试代码视为应用程序代码。
至于您的问题,您是否尝试过 运行使用 FirefoxDriver 或 ChromeDriver 在任何其他浏览器上运行您的 WebDriver 代码?代码片段将有助于更好地识别问题。