ant: normal; text-transform: none; padding-bottom: 7px; line-height: 16px; color: rgb(51, 51, 51); ">过去一年中,使用 AJAX (Asynchronous
JavaScript And XML) 技术的 Web 应用程序越来越受到用户的推崇。与非 AJAX Web 应用程序相比,正确编写的 AJAX Web 应用程序可显著提升
性能和改善用户体验。但由于 AJAX Web 应用程序采用的是异步工作模式,因而传统同步
测试自动化技术在此处通常便无用武之地。在本月的专栏中,我将介绍一项技术,利用该技术您便可编写小型测试自动化软件,以此来验证 AJAX Web 应用程序的功能。
就我而言,向您传达本专栏中所述观点的最佳方法是借助一些屏幕快照。
图 1 是一个使用了 AJAX 技术的简单但极具代表性的 ASP.NET Web 应用程序。该应用程序模拟映射工具,如 Microsoft
® Windows Live™ Local。当用户单击某定向按钮控件时,该应用程序会从 Web
服务器中提取适当的映射图像,然后在中心区域中显示新映射。不太容易从屏幕快照中看出的是 Web 应用程序使用 Microsoft ASP.NET AJAX 以异步方式发送和检索映射图像。当然,您的 Web 应用程序会更为复杂,但我将向您介绍的技术适用于任何复杂的应用程序,并可用于任何启用 AJAX 的应用程序,不论实施何种技术。
手动测试
图 1 中的应用程序是一件既费时低效又枯燥乏味的差事。更好的
测试方法是编写小型测试自动化软件,如
图 2 所示。这种
测试工具是由两个框架构成的简单的 HTML 页面。右侧框架是 Web 应用程序的宿主,用户未进行任何修改或检测。左侧框架是含有 JavaScript 代码的单个 HTML 页面的宿主,JavaScript 代码可使用 Internet Explorer
® 文档对象模式 (DOM) 在另一个框架中处理 Web 应用程序。
虽然该
测试技术是专用于处理使用异步操作的应用程序,但此技术也可用于使用传统同步 HTTP 请求/响应机制的 Web 应用程序。在本专栏中,我将简要介绍一下待测试的 Web 应用程序,从而使您了解传统测试自动化技术对 AJAX 应用程序无效的原因。然后,我将详细说明生成
图 2 中的图像的测试工具,并说明如何才能修改和扩展此处介绍的技术以满足您自己的
需求。最后,我相信您会发现这项技术是对
开发人员和
测试人员技能要求的一个有用补充。
图 1 待测试的 AJAX Web 应用程序 (单击该图像获得较大视图)