什么是测试Webforms应用程序(ASP.NET)的最佳方法

时间:2020-03-06 14:34:30  来源:igfitidea点击:

测试我的Webforms应用程序的最佳方法是什么?

看起来人们喜欢Watin和硒。

解决方案

更新:鉴于WatiN停滞了一年多,我将需要Web ui测试的任何人都转向硒,许多贡献者正在不断使用和开发它,并且Google也在积极使用它。

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

请参阅以下问题以获取类似的答案:

  • 对ASP网页(C#)进行单元测试的最佳方法是什么?
  • .Net的Web应用程序测试(watin测试记录器)
  • 我们如何以编程方式填写表格并发布网页?

我会使用类似WaitIn的工具:

" WatiN是.NET中的Web应用程序测试,该测试记录器将通过在嵌入式IE浏览器中记录点击来为我们生成大量的源代码"(来自Scott Hanselman的博客,我发现这要归功于StackOverflow上的另一篇文章

WaitIn网站

这是Webforms的最大缺点-出于所有实际原因,就测试控制器的单元测试而言,这是不可测试的。

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

我将使用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?

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

显然,Selenium对于测试人员而言工作相当缓慢,但正如评论之一所指出的那样,如果我们注意到这一点,则仅仅是因为它支持多种浏览器。

但是,WatiN有一个CTP(社区技术预览)版本,它同时支持Internet Explorer和FireFox自动化。

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

最好的方法是将所有不依赖于HttpContext的代码移到一个单独的程序集中,并像往常一样运行单元测试。其余的可以用Ivonna进行测试。她没有测试客户的行为,因此WatiN可能会有所帮助。但是,如果我们要单独测试页面或者控件,则她是我们唯一的选择。

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

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