我已经从SeleniumRC搬到WebDriver将近两年了。但我必须说,我还没有觉得webdriver比rc有任何明显的优势。 现在我有200多个针对网站的C#驱动程序测试用例。但是当我彻底运行它们进行回归测试时,我通常会通过150次,50次失败/错误。在第二次运行失败的测试用例后,其中许多测试用例通过,其中只有少数被证明是测试代码的问题。 正如我所看到的,有时WebDriver的表现非常缓慢,而我以前从未遇到过这样的情况。 结果,我开始怀疑从rc迁移到webdriver的必要性,因为我需要花费更多的时间来验证错误和失败。
所以我的问题是,对于从rc到webdriver的rc来说,使用rc是否有任何优势?如果是的话,请你告诉我吗?另外,告诉我有关的缺点。
答案 0 :(得分:13)
Selenium RC将Javascript注入页面以驱动交互。 Webdriver直接与浏览器交互。注入额外的Javascript有一些缺点,Selenium HQ网站说得很好。
虽然Selenium是一个巨大的工具,但它并非没有缺点。 因为它基于Javascript的自动化引擎和安全性 限制浏览器适用于Javascript,不同的东西变成了 不可能做到的。为了让事情变得“最糟糕”,webapps变得越来越多 随着时间的推移,使用各种特殊功能的新浏览器 提供并使这些限制变得越来越痛苦。
http://seleniumhq.org/docs/01_introducing_selenium.html#selenium-history
考虑它的另一种方法是测试添加了更多JS的页面,而不是真正测试原始页面;你正在测试一个修改过的页面。
答案 1 :(得分:2)
@OCary说的话。
然而,新的和更强大的WebDriver也有一些限制。由于它是一项正在进行的工作,因此不同版本之间的行为会不时发生变化。此外,几乎并未实现所有预期功能,需要更多时间才能使其稳定,无错误且完全开发。例如:SafariDriver刚刚登陆,错过了窗口控件,无法以方便的方式下载文件等。
但是WebDriver的健康发展比今天在Selenium 1上的不存在的开发更好(它不会变得更好。),对吗?
答案 2 :(得分:2)
根据我的经验,Selenium RC是我使用过的最稳定,最强大的Web测试框架。我最近开始评估WebDriver(又名Selenium 2),因为每个人都说它是Selenium的未来。到目前为止,我没有留下深刻印象。简单的事情(比如点击按钮)在不同的浏览器中不能一致地工作,需要不同的解决方法。 我意识到你可以用JavaScript做些什么,但我不想牺牲我的测试的稳定性来克服这些限制。