Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium与WebDriver相比,有什么明显的优势吗?_Selenium_Webdriver - Fatal编程技术网

Selenium与WebDriver相比,有什么明显的优势吗?

Selenium与WebDriver相比,有什么明显的优势吗?,selenium,webdriver,Selenium,Webdriver,我从SeleniumRC搬到WebDriver已经将近两年了。但我不得不说,我还没有觉得webdriver比rc有任何明显的优势。 现在,我有200多个C#driver测试用例,针对一个网站。但是当我彻底运行它们进行回归测试时,我通常通过150次,失败/出错50多次。在第二次运行失败的测试用例之后,其中许多都通过了测试,只有少数被证明是测试代码的问题。 正如我所看到的,有时候WebDriver的运行非常缓慢,而我以前在使用SeleniumRC时从未遇到过这种情况。 因此,我开始怀疑是否有必要从r

我从SeleniumRC搬到WebDriver已经将近两年了。但我不得不说,我还没有觉得webdriver比rc有任何明显的优势。 现在,我有200多个C#driver测试用例,针对一个网站。但是当我彻底运行它们进行回归测试时,我通常通过150次,失败/出错50多次。在第二次运行失败的测试用例之后,其中许多都通过了测试,只有少数被证明是测试代码的问题。 正如我所看到的,有时候WebDriver的运行非常缓慢,而我以前在使用SeleniumRC时从未遇到过这种情况。 因此,我开始怀疑是否有必要从rc迁移到webdriver,因为我花了比以前多得多的时间来验证错误和失败


所以我的问题是,webdriver比rc有什么优势,值得从rc迁移到webdriver吗?如果是这样,你能告诉我吗?另外,请告诉我缺点。

Selenium RC将Javascript注入页面以驱动交互。Webdriver直接与浏览器交互。注入额外的Javascript有缺点,SeleniumHQ站点对此做了很好的说明

虽然硒是一个巨大的工具,但它也并非没有缺点。 由于其基于Javascript的自动化引擎和安全性 浏览器应用于Javascript的局限性 不可能做到。为了让事情变得“糟糕”,网络应用程序变得越来越多 随着时间的推移,功能强大,使用各种特殊功能的新浏览器 提供并使这种限制越来越痛苦

另一种思考方式是,测试添加了更多JS的页面,并不是真正测试原始页面;您正在测试一个修改过的页面。

是@OCary说的

然而,新的更强大的WebDriver也有一些局限性。因为这是一项正在进行的工作,不同版本之间的行为会不时发生轻微变化。此外,还没有实现几乎所有的预期功能,要使其稳定、无bug和充分开发还需要一些时间。例如:SafariDriver刚刚着陆,窗口控件丢失,您无法以方便的方式下载文件等


但是WebDriver的健康开发要比Selenium 1上目前不存在的开发更好(它不会变得更好),对吗?

根据我的经验,Selenium RC是我使用过的最稳定、最健壮的web测试框架。我最近开始评估WebDriver(又名Selenium 2),因为大家都说它是Selenium的未来。到目前为止,我还没有印象深刻。简单的事情(如单击按钮)在不同的浏览器中无法保持一致,需要不同的解决方法。
我意识到JavaScript的使用存在局限性,但我不想牺牲测试的稳定性来克服这些局限性。

谢谢您的回复,OCary!所以“测试原始页面”是webdriver比rc的优势之一,对吗?这是一个很好的理由让我转向webdriver,但是你能告诉我它有什么缺陷吗?谢谢你的回复,Petr。我理解。频繁更改意味着不稳定,这对于我的自动化项目来说并不理想。我的团队正在运行一个为期两周的发布周期,因此我必须确保项目的稳定性,以便在发布之前运行回归测试。我不想因为webdriver的不稳定性而冒险。即使硒1停止生长,它也是稳定的。也许有一天我会把我的自动化项目改成使用WebDriver,但现在不行。那么,seleniumRC能做什么而WebDriver不能呢?另外,在另一方面,webdriver可以做什么而rc不能做什么?我已经受够了webdriver,我会把它改回我的宝贝selenium rc,不管代价有多大。好吧,我不得不对我两年前的评论投反对票。我尝试切换回selenium rc,但不久之后我意识到应该归咎于我糟糕的编码,而不是webdriver。我修复了我所有的代码问题,这些年来webdriver一直在为我工作。正如@Slanec所说,也许webdriver在2年前还不太好,但它正在变得更好。现在我不得不说它好得多,不仅是webdriver,还有我自己的编码技能。在webdriver工作了大约一个月后,我开始喜欢它了。它有它的怪癖和缺陷,你必须找到解决办法,但对于Selenium RC也是如此。