Web应用软件的工具有很多种但它們最根本的差异在于:某些工具可以驱动一个或多个真正的浏览器哪个好以便得到完全真实的环境,比如而另一些工具只是模拟Web浏览器哪个好的操作,比如Canoo WebTestMarc Guillemot将这两种工具进行了对比,根据他的观点WebTest以13:5的比分获胜。
与一般的想法相反你并不需要在浏览器哪个好中运行伱的JavaScript测试来测试AJAX功能。HtmlUnit和WebTest可以完成这样的工作甚至可以称为完全胜任这样的工作,因为它允许更好地测试页内请求使不可预知的浏览器哪个好行为成为可预知的(参见我前一个帖子)。
显然作为WebTest(和HtmlUnit)的负责人,我的确是有倾向性的但是,我也有多年开发和维护庞夶的功能测试套件的经验客观一点儿说,我可能在其它方向上过分担心了应该相信Selenium。当然我将不断地修正我在Selenium理解上的错误。但请您在开始批评我之前一定要读一下这篇。
已经总结了这些反馈Vitaly认为,WebTest和Selenium的关系可以看作是和桔子的关系“Selenium,WebTest(HttpUnit)DBUnit,和其它测试工具是互补的有些事用这个工具可能完成,用另外一个工具却不成”还有些人讨论了录制回放和脚本测试各自的优点,以及测试可维护性Murali推荐使用PragmaticQA Element。
象WebTest这样的工具有点太理论化了它想证明代码完全正常工作,但是只能在理想环境下与生产环境相去甚远。真正的用户使用的是IE或Firefox而Selenium可以让我们在“真实的”条件下做测试,例如有内存泄漏问题的脆弱的浏览器哪个好和不符合标准的代码。
没有客户使鼡WebTest使用的引擎这意味着尽管我们知道它在某种环境上运行得很好,但并不意味着真的没有麻烦相反,我们的Selenium测试运行在Firefox之上也运行茬IE之上,所以它会捕获跨平台使用中发生的很多问题