Selenium v​​s. SimpleTest vs. WatiN

Wer*_*ght 10 php selenium watin functional-testing

似乎Selenium/WatiNSimpleTest之间的比较很少(它也有Web测试功能).

我尝试了Selenium并发现GUI非常适合创建测试,因为您可以看到正在进行的操作并且无需手动键入所有命令即可进行记录.

至于运行测试,Selenium比SimpleTest更复杂.对于SimpleTest,您只需运行一个PHP脚本来执行所有测试(客户端或浏览器端).这意味着无论您使用何种浏览器或浏览器设置,您都可以直接转到测试网址,它的工作方式也相同.

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

PS:请排除"SimpleTest需要PHP"等原因; 很明显,PHP无论如何都包含在大多数LAMP中.

Pas*_*TIN 14

SimpleTest的Web测试器Selenium套件之间存在重大差异:

  • Selenium使用真正的浏览器:
    • 每次启动测试时,都会启动真正的Firefox或真正的Internet Explorer
    • 所有浏览都在真实的浏览器中完成
    • 这意味着您可以从浏览器获得所有Javascript功能 - 即您可以测试完全动态的网页.
  • SimpleTest的网络测试程序模拟浏览器:
    • 发送HTTP请求,获取HTML内容
    • 并且解析了HTML内容
    • 测试cookie和表单有一定的功能; 但没有关于Javascript


一些后果和结果:

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


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

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

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

  • Selenium 2(WebDriver)可以是单一解决方案,使用HTMLUnitDriver测试页面,而无需启动浏览器. (4认同)

chi*_*org 9

由于SimpleTest仅处理页面的HTML内容,因此无法使用依赖于JavaScript行为的页面对其进行测试.在一天结束时,这是速度和功能的权衡.

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

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