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