【问题标题】:selenium IDE, RC y XUnitselenium IDE、RC 和 XUnit
【发布时间】:2012-06-13 17:51:13
【问题描述】:

如果 selenium RC 比 selenium IDE 更强大,为什么人们使用 selenium IDE?,我不明白。这些都进行测试,但其中一个(RC)使用另一种语言(具有所有优点)。所以,对 selenium 的真正兴趣是使用 RC,不是吗? IDE不是很好,还是我错了?。

另一个问题是(我是单元测试新手),当你使用 selenium RC,最后你使用 PHPunit o Junit(即),那么,你为什么使用 selenium?,不是只用 phpunit 就够了吗?

【问题讨论】:

  • 你有两个问题;最好一次问一个问题。 (一个很好的理由:如果一个人回答了一个问题,而另一个人回答了您的另一个问题,那么您怎么知道将哪个标记为正确 :-)

标签: selenium junit phpunit selenium-rc selenium-ide


【解决方案1】:

Selenium 工具实际上是三个,而不是两个:


硒 IDE

是一个 Firefox 插件,由 Selenium RC 提供支持。它很容易学习,它可以非常快速地创建测试用例,并且对于测试用例记录工具来说非常聪明。它仅具有 Selenese(内置命令)和(有限)JavaScript 的优势,因此不是很强大。但是,如果您需要在一个不太复杂的网页上快速创建一个测试用例,那么它就是可以使用的工具,因为它非常易于使用并且非常快速。您必须在 Java 中为 Selenium RC(或 WebDriver)编写一百行代码,但您只需在 IDE 中单击几次即可完成。不需要 Eclipse/NetBeans,几乎不需要编程技能。它适用于基本问题和静态页面。


硒 RC

为您提供更多。它由纯 JavaScript 支持(每次都被注入到页面中),并具有类似六种编程语言(C#、Java、Ruby、PHP、Python、Perl)的 API。它使您能够充分利用语言的潜力,例如,我们使用 Java 连接到数据库,检查其状态并检查一些先决条件。但完成工作需要更多的时间、精力和知识。

此外,Selenium RC 已在一年前被弃用!没有更多的发展。它可以工作,但它有一些无法轻易克服的严重限制(JavaScript 的 Same origin policy,JavaScript 的安全策略是无法编辑 <input type='file' /> 元素,这是一个非常不可扩展的 API,它实际上并不能让你完成所有可能需要修改,无法处理onload JS 对话框...)。


Selenium WebDriver(又名 Selenium 2)

是 Selenium RC 的继承者。它真的从内部驱动浏览器(IE 的 DLL 挂钩、Firefox 的插件、谷歌自己为 Chrome 提供的驱动程序等),有一个非常漂亮和干净的 API 并克服了 Selenium RC 的所有问题(除了下载文件,然而),它正在积极开发和增强。现在推荐使用 Selenium WebDriver,而不是 Selenium RC。

(天哪,这么多文字只是为了说服您使用 WebDriver 而不是 RC)


关于PHPUnit

PHPUnit 和 Selenium 做了一些非常不同的事情。 PHPUnit(就像任何 xUnit 框架一样)主要是为 Unit testing 制作的,但 Selenium 更多的是 Black-box testingSystem testing

当您编写代码时,最好用 PHPUnit 编写测试 - 这些测试将测试您项目的内部结构。他们会一件一件、一件一件地做。 Selenium 从另一个角度看待它——它测试用户可以真正看到和体验到的东西,它测试整个项目,测试所有微小的东西如何协同工作。它在浏览器本身测试(除其他外!)您的前端,因此您无需移动手指即可在多个浏览器中尝试新的更改。 Selenium 从外部测试您的整个应用程序,它会查看当有人敲门时它的行为。 PHPUnit 从内部测试应用程序的各个部分 - 是否正确的人去开门以及是否没有忘记拿钥匙。

需要 PHPUnit 测试和 Selenium 测试。这些框架并不是真正的竞争对手,它们在其中一个不足的地方相互补充。

【讨论】:

    【解决方案2】:

    Selenium IDE 不需要编程语言知识……这还不错。有时有人只是想设置一个简单的脚本,而 Selenium IDE 应该让工作变得轻松简单。

    Selenium 的重点不是取代 JUnit 和其他框架进行单元测试;它的重点是控制浏览器,以便您可以模拟用户与您的网站或应用程序的交互。我不明白问题的那一部分。例如,Selenium 的使用并不总是与 JUnit 的使用相关联。

    与您的问题相同,为什么使用 Selenium RC 而不是 Selenium 2 (WebDriver)?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-23
      • 2011-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-28
      • 1970-01-01
      相关资源
      最近更新 更多