【IT168 评论】在浏览器中打开页面并加以判断,无疑是测试一个Web应用程序最直接的方式。借助一款合适的自动测试工具或框架,测试人员就可以在一定程度上从繁重的手动测试工作中解放出来。Ruby平台下的Watir无疑是这方面的姣姣者,因此被大量用于Web应用程序的回归测试或验收测试。不过对于使用.NET Framework的技术团队来说,Watir不一定是最好的选择。目前社区中已经出现了几款.NET平台下的Web测试框架,测试人员现在就可以使用自己最熟悉的语言来实现同样的功能,并与自己的开发环境无缝集成。
WatiN
WatiN是Watir的“应对之作”,使用C#语言开发,不过能够使用任意.NET语言编写测试代码。WatiN 1.0只支持IE浏览器,不过从2.0版本开始也能自动操作FireFox(需安装插件)浏览器了。其最新版本是2月19日发布的2.0 CTP3,对面向FireFox的相关功能进行了增强并修改了一些bug。其附属项目WatiN Test Recorder支持对浏览器操作的捕获,并自动生成测试代码。WatiN Test Recorder目前刚发布了alpha版本,您可以从它的主页上跟进其最新消息。WatiN是一个开源项目,使用Apache License 2.0协议发布。
Selenium
严格说来,Selenium是一套完整的Web应用程序测试系统,它包含了测试的录制(Selenium IDE)、编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因此可运行于任何支持JavaScript的浏览器上。
Selenium Core由一种指定格式的HTML文件驱动,在一定程度上增强了测试套件(Test Suite)的可读性。Selenium Remote Control允许测试人员使用常见的语言(自然包括C#等.NET语言)编写测试代码,并支持不同操作系统下的各种主流浏览器。Selenium Grid的作用是将测试分发至多台机器,这样便可大大加快测试速度。与WatiN相同,Selenium也是一款同样使用Apache License 2.0协议发布的开源框架。
LTAF
Lightweight Test Automation Framework for ASP.NET(轻量级ASP.NET自动测试框架,下文简称为LTAF)是一款由ASP.NET QA团队开发的框架,并用于产品的回归测试。测试人员能够使用任意.NET代码编写测试,并使用内置的API操作DOM元素。LTAF最近发布了April Update并包含了框架代码,它的Release Note记录了框架的使用方式。赵劼最近在博客中谈到了利用LTAF对ASP.NET MVC应用程序中的视图作独立的单元测试,他在文章中对LTAF有这样的评价:
虽然在某些方面(例如DOM元素的选取)不如其“竞争对手”,但是LTAF自有其独到之处:
由于直接在浏览器中运行,它天生便支持现有的——以及未来可能出现的任意浏览器。
由于直接部署在被测试的网站中,因此测试代码和网站页面是在同一个进程中。