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 应用程序 (单击该图像获得较大视图)
待测试的 Web 应用程序
我使用 ASP.NET AJAX 代码库(极大地简化了 AJAX 应用程序的创建过程)创建了如图 1 所示的 AJAX 映射应用程序。我没有使用真正的映射图像,而仅使用了从数字 1 到数字 9 的九个虚拟图像,图像名称依次为 1.jpg 到 9.jpg。(有关使用 Microsoft TerraServer 来获取真正的映射图像的示例,请参阅本期中 Jeff Prosise 关于“超酷代码”专栏。)缩图区域由 3 行 3 列的网格构成,第一行为 1、2 和 3,第二行为 4、5 和 6,第三行为 7、8 和 9。5 是该区域的中心,并且如果用户从 5 单击“北”控制按钮,则应用程序应显示 2。“北”按钮的逻辑如图 3 所示。
Figure 3 “北”按钮的隐藏代码
图 2 测试运行示例 (单击该图像获得较大视图)
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/