如果 selenium RC 比 selenium IDE 更强大,为什么人们使用 selenium IDE?, 我不明白。这些都进行测试,但其中一个(RC)使用另一种语言(具有所有优点)。所以,对 selenium 的真正兴趣是使用 RC,不是吗?IDE不是很好,还是我错了?
另一个问题是(我是单元测试的新手),当你使用 selenium RC 时,最后你使用 PHPunit o Junit(即),那么,你为什么使用 selenium?,仅使用 phpunit 还不够吗?
如果 selenium RC 比 selenium IDE 更强大,为什么人们使用 selenium IDE?, 我不明白。这些都进行测试,但其中一个(RC)使用另一种语言(具有所有优点)。所以,对 selenium 的真正兴趣是使用 RC,不是吗?IDE不是很好,还是我错了?
另一个问题是(我是单元测试的新手),当你使用 selenium RC 时,最后你使用 PHPunit o Junit(即),那么,你为什么使用 selenium?,仅使用 phpunit 还不够吗?
Selenium 工具实际上是三个,而不是两个:
是一个 Firefox 附加组件,由 Selenium RC 提供支持。它很容易学习,它可以非常快速地创建测试用例,并且对于测试用例记录工具来说非常聪明。它仅具有 Selenese(内置命令)和(有限)JavaScript 的优势,因此不是很强大。但是,如果您需要在一个不太复杂的网页上快速创建测试用例,那么它就是您可以使用的工具,因为它非常易于使用并且非常快速。您必须在 Java 中为 Selenium RC(或 WebDriver)编写一百行代码,但您只需在 IDE 中单击几次即可完成。不需要 Eclipse/NetBeans,几乎不需要编程技能。它适用于基本问题和静态页面。
给你这么多。它由纯 JavaScript 支持(每次都被注入到页面中),并具有类似六种编程语言(C#、Java、Ruby、PHP、Python、Perl)的 API。它使您能够充分利用语言的潜力,例如,我们使用 Java 连接到数据库,检查其状态并检查一些先决条件。但是完成事情需要更多的时间、精力和知识。
此外,Selenium RC 已在一年前被弃用!没有更多的发展。它可以工作,但它有一些无法轻易克服的严重限制(JavaScript 的同源策略,JavaScript 的安全策略无法编辑<input type='file' />
元素,一个非常不可扩展的 API,它实际上不允许你进行所有可能的修改需要,无法处理onload
JS 对话框...)。
是 Selenium RC 的继承者。它真的从内部驱动浏览器(IE 的 DLL 挂钩、Firefox 的插件、谷歌自己为 Chrome 提供的驱动程序等),有一个非常漂亮和干净的 API 并克服了 Selenium RC 的所有问题(除了下载文件,然而),它正在积极开发和增强。现在推荐使用 Selenium WebDriver,而不是 Selenium RC。
(天哪,这么多文字只是为了说服您使用 WebDriver 而不是 RC)
关于PHPUnit:
PHPUnit 和 Selenium 做了一些非常不同的事情。PHPUnit(就像任何 xUnit 框架一样)主要用于单元测试,但 Selenium 更多的是黑盒测试或系统测试。
当您编写代码时,最好用 PHPUnit 编写测试 - 这些测试将测试您项目的内部结构。他们会一件一件、一件一件地做。Selenium 从另一个角度看待它——它测试用户可以真正看到和体验到的东西,它测试整个项目,以及所有微小的东西如何协同工作。它在浏览器本身中测试(以及其他!)您的前端,因此您可以在多个浏览器中尝试您的新更改,而无需移动手指。Selenium 从外部测试您的整个应用程序,它会查看当有人敲门时它的行为。PHPUnit 从内部测试应用程序的各个部分——是否正确的人去开门以及是否没有忘记拿钥匙。
PHPUnit 测试和 Selenium 测试都需要。这些框架并不是真正的竞争对手,它们在其中一个不足的地方相互补充。
Selenium IDE 不需要编程语言知识……这还不错。有时有人只是想设置一个简单的脚本,而 Selenium IDE 应该使工作变得轻松简单。
Selenium 的重点不是取代 JUnit 和其他框架进行单元测试;它的重点是控制浏览器,以便您可以模拟用户与您的网站或应用程序的交互。我不明白问题的那一部分。例如,Selenium 的使用并不总是与 JUnit 的使用相关联。
与您的问题相同,为什么使用 Selenium RC 而不是 Selenium 2 (WebDriver)?