我曾经使用过WatiN和WebAii,但在Selenium方面的经验有限。 Selenium与这些其他工具有何不同?

评论

基于“没有X对Y问题”,我投票结束。我们在sqa.stackexchange.com/questions/245/qtp-vs-selenium
上得出了相同的结论
我认为,如果您用更清晰的测试内容来重新表述该问题,并询问使用WebAii中找不到的Selenium的好处,那将是一个更有效的问题。 br />
请不要关闭此类问题。如果您愿意,可以否决无效的答案,但对此类问题的深思熟虑的答案有可能对许多人非常有用。

我改了句话,但我不明白这是怎么必要的。这些问题在StackOverflow上不被阻止,它们提供了有趣的答案,那么为什么在这里不鼓励它们呢? stackoverflow.com/questions/417380/watin-or-selenium

她没有问,“ X比Y好吗?” -她问“ X与Y有何不同?”这听起来像是一个客观的答案。

#1 楼

感谢您改写这个问题。

在这种情况下,我将描述Selenium和WatiR / N之间的区别,因为它们是我最熟悉的两者。

Selenium IDE对于编程新手来说非常有用。这就是我学习C#的第一步。一段时间后,它几乎变得无用。 Watin测试记录器WatiN也存在同样的问题,尽管我从未真正使用过。

如果需要访问页面上看不到的更多内容,Wat **是要走的路。需要通过ANY标识符查找元素(由于懒惰的开发人员不会更改任何内容,因此我不得不使用元素宽度)。尽管Selenium在这方面越来越好,但我认为它还不存在。

跨浏览器功能。硒胜出。当Selenium已转向包括移动浏览器在内的更多浏览器时,Wat **的浏览器受到一定限制。

易于使用。就我个人而言,我发现WatiN是“合理的”。当我第一次切换到Selenium时,我发现这些类非常混乱。随着时间的流逝,尽管我逐渐了解它,但它开始变得越来越流畅。

社区支持。 WATiR得到了社区的大力支持,有一个问题,通常已经有人问过并记录了该文件。 WatiN,让我们说...不多。但是,硒是许多组织中的公司标准,对其的支持令人惊讶。

希望这会有所帮助。

#2 楼

我已经使用了Watir和其他一些工具,但是我看到的是WAT **和诸如此类的其他一些选择是框架工具,它们为您提供了构建的结构。到目前为止,Selenium是一个记录器,您可以随后以其他方式使用该记录,或者导出为另一种语言并插入框架中,或者如果您确实需要具有很多可重复性的内容,则可以轻松地记录较小的内容并进行播放和播放。再次。对我来说,Selenium允许您生成快速简便的单元测试,这在自由/开放源代码工具领域中具有更强大的功能,而不是像Visual Studio这样庞大的工具套件,可以为您提供相同的功能和大量功能更多。有人录制了较长的脚本以供回放,但是我发现这类场景太脆弱了,您可以将它们制作成简短的Unit并将其插入套件中,以获取更多功能。 >如果您需要免费的快速单元测试记录器进行简短测试,可以导出到其他语言和框架,也可以在多个浏览器中运行,则Selenium很有用。如果您需要的还不止这些,请继续寻找其他内容。

编辑后添加注释:

如果您愿意使用Selenium进行编码,则可以无需使用IDE和只需用您选择的语言写Selenese。有些人更喜欢这样做,尽管如果您不熟悉IDE是学习的好方法,尽管如果您想进行认真的测试,则需要将脚本提取到库中以便以后运行测试。

评论


硒的记录部分很小。硒的经验丰富的用户不会接近IDE,他们会从头开始编写所有代码。如果要在动态网站上创建可靠可靠的回归测试,则记录和播放可能是硒中最没有用的部分。

– Ardesco
2011年5月20日在12:41

我也这样做了,但是我看到仍然有很多人需要一个起点并仍然使用IDE,而这不仅仅是GRID。

– MichaelF
2011年5月20日下午14:38

您无法使用Selenium进行单元测试,如果您正在测试GUI,则不是在测试代码单元,验收测试和集成测试,甚至不是端到端测试,但是绝对不是单元测试。单元测试属于开发人员领域,而不是测试人员。

– Ardesco
2011年5月22日14:33

请不要尝试让测试人员将验收测试称为单元测试。这只是普通的错误术语,继续使用它只会使本行业的新手感到困惑。

– Ardesco
11年5月23日在12:33

这将是我对此的最后评论。我并不是说我以前没有遇到过使用错误术语的人,这种情况经常发生。但是,我确实相信应该在发生这种情况时对其进行纠正,以使人们了解正确的术语,并且通常会适当地设定期望。如果有人告诉我他们要我编写单元测试,我将解释什么是单元测试,解释为什么我不会编写它们,并告诉他们我将编写什么以及编写的测试将交付。当您知道错误时继续使用不正确的术语只会使问题更加复杂。

– Ardesco
2011年5月23日15:33