10

Selenium / WatiNSimpleTest(也有网络测试功能)之间似乎很少有比较。

我尝试了 Selenium,发现GUI 非常适合创建测试,因为您无需手动输入所有命令即可查看和记录正在发生的事情。

至于运行测试,Selenium 比 SimpleTest 复杂得多。对于 SimpleTest,您只需要运行一个 PHP 脚本即可完成所有测试(客户端或浏览器端)。这意味着无论您使用什么浏览器或浏览器设置,您都可以简单地转到测试 URL,它会以同样的方式工作

这里有用的是使用 Selenium 或 WatiN 的人的一些评论:为什么 Selenium 如此著名?换句话说,与 SimpleTest 相比,使用 Selenium 的主要好处是什么?

PS:请排除“SimpleTest需要PHP”之类的原因;很明显,PHP 无论如何都包含在大多数 LAMP 中。

4

4 回答 4

14

SimpleTest 的 web-testerSelenium 套件之间有一个主要区别:

  • Selenium 与真正的浏览器一起工作:
    • 每次启动测试时,都会启动真正的 Firefox 或真正的 Internet Explorer
    • 所有浏览都在那个真正的浏览器中完成
    • 这意味着您可以从浏览器获得所有 Javascript 功能——即您可以测试完全动态的网页。
  • SimpleTest 的 web-tester模拟浏览器
    • 发送 HTTP 请求,获取 HTML 内容
    • 并且解析了 HTML 内容
    • 有一些功能可以测试 cookie 和表单;但没有关于 Javascript


一些后果和想法:

  • Selenium 测试需要大量时间来执行:启动浏览器和冲浪(包括下载 JS/CSS/图像,显示包括广告在内的所有内容,...),既长又慢
  • SimpleTest 测试应该更快:只发送 HTTP 请求,解析 HTML,仅此而已
  • Selenium 需要一台带有图形界面的机器来启动浏览器,这是一个图形软件;这也意味着安装/配置更难
  • Selenium 允许您更好地测试基于富/动态/javascript 的应用程序,而不是仅获取和解析 HTML
  • 如果您正在测试 PHP 应用程序,通常认为 PHPUnit 比 SimpleTest 好得多(至少它是积极维护和开发的);并且 PHPUnit 支持 Selenium 测试


如果可以的话,我会推荐两者的组合:

  • 使用 SimpleTest (或者Zend_Test,如果使用 Zend Framework)测试与 HTML 相关的东西:
    • 它会更快
    • 这些测试将不依赖于浏览器
  • 使用 Selenium 测试动态页面

即使用两种工具中最好的;-)

于 2010-02-24T12:07:26.820 回答
9

由于 SimpleTest 仅处理页面的 HTML 内容,因此您无法使用它测试依赖于 JavaScript 行为的页面。归根结底,这是速度和功能的权衡。

  • 如果您需要 JavaScript 功能或想要测试特定于浏览器的行为,请使用 Selenium。
  • 如果您想要速度并拥有静态 HTML 页面,请使用 SimpleTest。

顺便说一句,Selenium 可以集成到 PHPUnit 测试套件中:http ://www.phpunit.de/manual/3.1/en/selenium.html

于 2010-02-24T12:16:18.037 回答
0

只是添加另一个选项,TestPlan 可以与 Selenium 后端和 HTMLUnit 一起使用,因此它可以在没有浏览器的情况下与我们一起使用。脚本语言很简单,可以快速创建自动化任务。

无浏览器后端很好地支持 JavaScript,但对于那些它不起作用的情况,您只需切换到 Selenium 模式并使用真正的浏览器。

于 2010-03-10T14:10:13.643 回答
0

另请注意,simpletest 需要修补 drupal 代码库。您无法在生产站点的精确镜像上测试您的站点。

问候。

于 2010-07-16T06:45:01.127 回答