37

测试我的网络表单应用程序的最佳方法是什么?

看起来人们喜欢Watin和硒。

4

8 回答 8

31

只是想知道,您为什么将 WatiN 称为单元测试工具?上次我检查时,它运行了集成测试。

最好的方法是将所有不依赖于 HttpContext 的代码移动到单独的程序集中并像往常一样运行单元测试。其余的可以用Ivonna进行测试。她不测试客户的行为,这就是 WatiN 可以提供帮助的地方;但是,如果您想单独测试您的页面或控件,她是您唯一的选择。

于 2009-05-26T20:49:22.963 回答
19

更新鉴于 WatiN 已经停滞了一年多,我会指导任何需要 web ui 测试的人使用selenium,它正在被许多贡献者持续使用和开发,并且被谷歌积极使用。

WatiN是我发现的最好的。它集成到 Visual Studio 单元测试或 nunit 中,您可以在浏览器中执行几乎所有您需要的操作(单击链接、提交表单、查找文本/图像等)

有关类似答案,请参阅以下问题:

于 2008-09-23T01:03:54.213 回答
15

这是 Webforms 的最大缺点——出于所有实际原因,它在测试控制器的单元测试等方面是不可测试的。

这是 MVC 框架的主要优点之一。

于 2008-09-23T01:06:52.600 回答
1

我倾向于将业务逻辑与 UI 代码分离的方法。这是一篇描述单元测试友好模式的文章(Model-View-Presenter)

http://www.unit-testing.net/CurrentArticle/How-To-Use-Model-View-Presenter-With-AspNet-WebForms.html

于 2010-06-03T04:33:58.743 回答
0

我会使用 WaitIn 之类的工具:

“WatiN 是 .NET 中的 Web 应用程序测试,此测试记录器将通过在嵌入式 IE 浏览器中记录您的点击来为您生成大量源代码”(来自Scott Hanselman 的博客——感谢 StackOverflow 上的另一篇文章,我发现了这一点

等待网站

于 2008-09-23T01:04:55.383 回答
0

我会选择 WATIR(Ruby 中的 Web 应用程序测试)- http://wtr.rubyforge.org/。我们(Acsys Interactive)已经使用了大约一年,这个工具很棒。

我在 .NET 中开发了一个简单的包装器,以便我可以从单元测试中执行我的 WATIR 脚本。该框架令人难以置信,并且您拥有完整的 Ruby 功能。支持 Firefox 和 Safari(FireWatir 项目)。

它与 WATIN 非常相似(实际上我认为 WATIN 是受 WATIR 启发的),但我发现 WATIR 社区比 WATIN 社区大得多。

那里有你可以使用的测试记录器和大量的教程。

这真的是你的选择。如果您觉得测试需要使用 .NET 并且您不想支持任何其他语言,那么您的选择是 WATIN。另一方面,如果您想尝试一种有趣且功能强大的脚本语言(这就是 Ruby),那么请选择 WATIR。

向 WATIN 伙计们提问,它是否支持 FireFox/Safari?

于 2008-09-23T01:21:36.917 回答
0

这是对 Watin、Watir 和 Selenium 的评论 http://adamesterline.com/2007/04/23/watin-watir-and-selenium-reviewed/

显然 Selenium 对测试人员的工作速度很慢,但如果您注意到,正如其中一条评论所指出的那样,这只是由于它支持多种浏览器而造成的。

然而,WatiN 有一个 CTP(社区技术预览)版本,它提供对 Internet Explorer 和 FireFox 自动化的支持。

于 2008-11-27T14:16:48.620 回答
0

I have had a great experience using Selenium. Web tests can be very fragile, but here is an article from my blog where I talk about how to make the tests less fragile. http://www.unit-testing.net/CurrentArticle/How-To-Make-Web-Tests-Less-Fragile.html

于 2012-03-07T02:20:25.570 回答