嗨,我想要 selenium RC 和 webDriver 架构之间的差异。我阅读了很多功能差异,但没有找到任何架构差异。
如果有人可以发送/发布真正适用的差异链接。
提前致谢
嗨,我想要 selenium RC 和 webDriver 架构之间的差异。我阅读了很多功能差异,但没有找到任何架构差异。
如果有人可以发送/发布真正适用的差异链接。
提前致谢
差异是相当大的。
Selenium RC 仅在其每个命令中使用 JavaScript。这意味着您编写的所有内容最终都会翻译成 Javascript 并在浏览器中运行。这种方法有几个优点和缺点 - 它应该在每个浏览器中以相同的方式工作,但仅限于“同源策略”和 JavaScript 限制。
http://seleniumhq.org/docs/05_selenium_rc.html#how-selenium-rc-works
WebDriver 实际上使用每个浏览器自己的原生 API 来处理它们。这意味着它有时需要浏览器开发团队的直接帮助,有时在新的浏览器版本发布时失败,有时在不同浏览器上的行为略有不同(但是,在 IE 上,js 也不是最可靠的东西),但整体上更强大的工具。它应该更快,它应该允许更复杂的工作而没有任何 js 限制。
请注意,虽然 Selenium RC 已被正式弃用,但 WebDriver 现在正在快速开发中,但它仍然存在一些儿童疾病,并且还没有完全发挥作用。也就是说,使用 WebDriver,您可以做任何 Selenium RC 可以做的事情。有时更多。偶尔有一个小错误。
虽然页面项目模型有很多优点,但其中一些值得一提的是:
具有合理方法名称的简单明了的页面类。
您实际上可以为您的方法提供自定义名称。像上面一样,所以你不需要记住任何事情。
只需查看方法名称,您就可以全面了解该方法的功能。
使测试更具可读性。与 selenium 的上述命令相比,您需要在测试脚本中添加所有命令。在页面对象模型中,您需要放置方法名称。您根据对应用程序的理解创建的方法,因此这些方法名称更具可读性和易于理解。
Stay [DRY] 页面对象模型相信不要重复自己的原则。
良好的测试支持,因为一切都存储在一个地方。
轻松创建新测试。事实上,测试可以由不了解自动化工具特性的人创建。
因为我已经在我的项目中实际实现了它,所以肯定存在一些缺陷:
所有定位器都应保存在页面类文件中。
这种抽象导致页面类文件中的一些混乱。因此,您需要在页面对象模型之上实现诸如关键字驱动之类的东西,以充分发挥其优势。
在这里你可以 Selenium Webdriver Architecture http://qeworks.com/selenium-webdriver-architecture/
您还可以找到差异。在http://qeworks.com/difference-between-selenium-rc-and-selenium-webdriver/下面的 RC 和 webdriver 之间