用于分析网页中的变化的方法和系统转让专利

申请号 : CN200610146598.0

文献号 : CN100590619C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 福田健太郎齐藤新

申请人 : 国际商业机器公司

摘要 :

为提供一种方法,所述方法使测试者能够高效地执行:对使用DHTML的网页的行为或各种浏览器之间网页的行为差别的确定,或关于所述网页的可访问性的信息的分配,或对所述信息的验证。提供一种通过确定可以响应于外部事件而动态出现在使用DHTML的网页中的状态来分析网页中的变化的方法,所述方法是通过分析DOM、当在浏览器上被呈现时的样式信息、来自用户的输入数据以及JAVASCRIPT中的全局变量的值中的至少一个,存储可标识所述状态的每个的数据,标识所述存储的状态之间的状态转换,以及再现所述存储的状态来实现的。

权利要求 :

1.一种用于分析使用DHTML的网页中的变化的方法,包括:确定动态引起所述网页中的状态转换的事件;

为了获取所述转换之后的状态,虚拟执行所述事件;

作为这样的数据获取所述网页中的状态,所述数据包括文档对象模型、 浏览器上呈现的单元的样式信息、来自用户输入设备的数据和 SCRIPT中的全局变量的值中的至少一个,然后确定所述状态是否 是已出现的状态,并存储所述状态;以及在所述网页中再现所述存储的状态。

2.根据权利要求1所述的方法,包括收集和分析在虚拟执行所述事 件时从所述网页发生的HTTP请求。

3.根据权利要求2所述的方法,包括:

作为这样的数据获取并存储web服务器中的状态,所述数据包括生成 所述网页的所述web服务器上的变量的值;以及在所述web服务器中再现所述状态。

4.根据权利要求1所述的方法,包括:

向用户展现所述网页中的状态转换。

5.根据权利要求3所述的方法,包括向用户展现所述web服务器中 的状态以及所述网页中的状态的转换。

6.根据权利要求1到5中任一个所述的方法,包括:分析已在所述 网页中发生的状态转换以及所述网页的结构,检测引起所述网页中的状态 转换的操作,以及估计响应于所述操作而出现的现象以及所述操作影响的 单元的功能和状态。

7.根据权利要求1到5中任一个所述的方法,包括获取多个浏览器 上所述网页的状态,以及检测所述浏览器之间的状态的差别。

8.一种用于分析使用DHTML的网页中的变化的客户机设备,包 括:状态转换分析单元,用于确定动态引起所述网页中的状态转换的事件;

事件执行单元,用于为获取所述转换之后的状态而虚拟执行所述事件;

状态存储单元,用于:作为这样的数据获取所述网页中的状态,所述 数据包括文档对象模型、当在浏览器上呈现时的样式信息、来自用户输入 设备的数据和SCRIPT中的全局变量的值中的至少一个,确定所述 状态是否是已出现的状态,并存储所述状态;以及状态再现单元,用于在所述网页中再现所述存储的状态。

9.一种包括用于分析使用DHTML的网页中的变化的客户机设备 和服务器设备的数据处理系统,包括:状态转换分析单元,用于确定动态引起所述网页以及生成所述网页的 web服务器中的状态转换的事件;

事件执行单元,用于为获取所述转换之后的状态而虚拟执行所述事件;

状态存储单元,用于:作为这样的数据获取所述网页以及web服务器 中的状态,所述数据包括文档对象模型、当在浏览器上呈现时的样式信息、 来自用户输入设备的数据、SCRIPT中的全局变量的值以及所述 web服务器上的变量的值中的至少一个,确定所述状态是否是已出现的状 态,并存储所述状态;

HTTP请求分析单元,用于收集并分析从所述网页发生的HTTP请求;

客户机状态再现单元,用于在所述网页中再现所述存储的网页中的状 态;以及服务器状态再现单元,用于在所述web服务器中再现所述存储的web 服务器中的状态。

说明书 :

技术领域

本发明涉及用于分析网页中的状态转换的方法。更具体地,本发明涉 及用于动态分析使用DHTML的网页中的状态转换的方法、装置、系统和 程序。

背景技术

近年来,可以借助于SCRIPT(注册商标)在网页中提供交互 性的动态HTML(DHTML,注册商标)已被广泛地使用。通过使用 DHTML,能在网页中提供下拉菜单或验证输入到网页中的表格中的条目。 这使得网页可以具有相当于典型应用的功能。
尽管上面提到的“HTML”和“SCRIPT”是注册商标,但注 册商标的指示在下面的描述中将被省略。
在所述情况下,已提供了用于检查网页的行为的技术。
例如,专利文档1提出了这样一种技术,该技术用于使能web浏览器 上用户的操作的记录/再现或输入值可变的表格的执行。通过使用该技术, 能高效地收集特定表格的各种值的输入的结果。
专利文档2提出这样一种技术,该技术用来基于外部明细表格或初步 准备的屏幕转换信息检查用户界面。
【专利文档1】已出版的未审核日本专利申请No.2000-76266
【专利文档2】已出版的未审核日本专利申请No.2004-280231
然而,专利文档1的技术存在这样的问题:对表格的至少一个输入操 作需要被执行,或检查所收集的结果需要大量努力。另外,当网页中存在 多个交互单元或交互单元出现在作为特定操作的响应而新出现的单元中 时,难以充分实现所有操作和检查所有结果。
专利文档2的技术存在的问题在于:其假设例如明细的信息已准备好 并且所述信息是手工输入的。同样难以检查脱离所准备的信息的操作系列 (即未预先给定的操作系列)。
因此,在使用DHTML的网页中,其作为对用户动作的响应的功能和 行为难以检查或测试。
由于DHTML的行为随浏览器实现而不同,因此通常是这样的情形: 浏览器的类型被标识并且DHTML的操作被转换。不存在任何用于检查各 种平台之间的行为的差异的已知技术。
还已知,在使用DHTML的网页中,可访问性难以确定。例如,虽然 能确定某人是否可以操作一部分,其中对于该部分,特定处理在不依靠例 如鼠标的设备的情况下由SCRIPT引发,但由所述操作产生的所述 网页的可访问性难以检查。
为改进使用DHTML的网页的可访问性并允许其结合例如屏幕阅读器 的辅助技术(AT)软件进行操作,要求为使用DHTML的每个单元设置 例如功能和状态的信息。
然而,还不存在任何用于高效地实现对未给定所述信息的现有内容的 信息分配的技术,和/或用于验证由网页创建者提供的所述信息的技术。
由于所述情况,本发明的目的是提供这样一种方法,该方法可以允许 测试者高效地检查使用DHTML的网页的行为或各种平台之间网页的行为 的差别,或分配关于所述网页中的可访问性的信息,或验证其适当性。

发明内容

根据本发明的第一实施例,提供一种用于分析使用DHTML的网页中 的变化的方法。所述方法包括:确定动态引起所述网页中的状态转换的事 件(例如,用户的输入、计时器中断和来自另一应用的输入);为了所述 转换之后的状态而虚拟执行所述事件;作为数据获取所述网页中的状态, 确定所述状态是否是已出现的状态并存储该状态;以及在所述网页中再现 所述存储的状态。
所述方法的特征在于,其作为这样的数据获取所述网页中的状态,所 述数据包括下列至少一个:作为对象处理所述网页中的内容(例如句子、 图像或音频)及其排列或样式的文档对象模型(DOM)、显示在浏览器上 的屏幕的样式信息(例如字体、背景颜色)、来自用户等的输入数据、以 及SCRIPT中的全局变量(即针对整个程序定义的变量)的值。
根据本发明的第二实施例,提供一种分析使用DHTML的网页中的变 化的客户机设备。所述客户机设备包括:用于确定动态引起所述网页中的 状态转换的事件的状态转换分析单元(图3的内容分析模块120);用于 为获取所述转换后的状态而虚拟执行所述事件的事件执行单元(图3的事 件生成模块170);用于作为数据获取所述网页中的状态、确定所述状态 是否是已出现的状态并存储所述状态的状态存储单元(图3的状态确定模 块140);以及用于在所述网页中再现所述存储的状态的状态再现单元(图 3的状态转换管理模块160、SCRIPT状态管理模块130和DOM操 作模块180)。
根据本发明的第三实施例,提供一种数据处理系统,该系统包括用于 分析使用DHTML的网页中的变化的客户机设备和服务器设备。所述数据 处理系统包括:用于确定动态引起所述网页和生成所述网页的web服务器 中的状态转换的事件的状态转换分析单元(图3的内容分析模块120和图 13的调试模块214);用于为获取所述转换之后的状态而虚拟执行所述事 件的事件执行单元(图3的事件生成模块170);用于作为数据获取所述 网页和web服务器中的状态、确定所述状态是否是已出现的状态并存储所 述状态的状态存储单元(图3的状态确定模块140和图13的服务器侧状态 转换管理模块220);用于收集和分析可以从所述网页发生的HTTP请求 的HTTP请求分析单元(图3的HTTP请求管理模块150);用于在所述 网页中再现所存储的状态的客户机状态再现单元(图3的状态转换管理模 块160、SCRIPT状态管理模块130和DOM操作模块180);以及 用于在所述web服务器中再现所存储的状态的服务器状态再现单元(图13 的服务器侧状态转换管理模块220和调试模块214)。
所述数据处理系统的特征在于,其作为这样的数据获取所述网页和 web服务器中的状态,所述数据包括DOM、当屏幕在浏览器上显示时的 样式信息、来自用户的输入数据、SCRIPT中的全局变量的值,以 及所述web服务器上的变量的值中的至少一个。
根据本发明的第四实施例,提供一种计算机程序,所述计算机程序用 于使得计算机执行根据所述第一实施例的方法。
根据所述实施例,计算机可以自动并且高效地记录和再现可在使用 DHTML的网页中发生的状态。
根据本发明,能高效地确定使用DHTML的网页的可访问性和需求定 义,这曾经通常是难以实现的。

附图说明

图1是示出了本发明的优选实施例的整体概念图;
图2是示出了根据本发明的优选实施例的计算机的配置的框图;
图3是示出了根据本发明的优选实施例的客户机设备10的测试装置的 实现配置的框图;
图4是示出了由根据本发明的优选实施例的测试装置的内容分析模块 120执行的内容分析过程的过程的流程图;
图5是示出了由根据本发明的优选实施例的测试装置的状态确定模块 140执行的状态确定过程的过程的流程图;
图6示出了根据本发明的优选实施例的状态表50;
图7示出了根据本发明的优选实施例的状态转换表60;
图8示出了根据本发明的优选实施例的单元功能估计表70;
图9是示出了由根据本发明的优选实施例的测试装置的状态转换管理 模块160及其指令信号执行的状态转换管理过程的过程的流程图;
图10是示出了在根据本发明的优选实施例的测试装置的状态转换管 理过程期间返回到所述参考状态的过程的流程图;
图11是示出了在根据本发明的优选实施例的测试装置的状态转换过 程期间改变到所述下一状态的过程的流程图;
图12是示出了在根据本发明的优选实施例的测试装置的状态转换管 理过程中的用户输入接受过程的过程的流程图;
图13是示出了在根据本发明的优选实施例的测试环境被扩展到服务 器设备20的情况下的实现配置的框图;
图14示出了关于根据本发明的优选实施例的测试装置的状态转换管 理过程中的状态转换信息的展现的对用户的示例性展现;
图15示出了关于根据本发明的优选实施例的测试装置的状态转换管 理过程中的状态转换信息的展现的对用户的示例性展现;以及
图16示出了关于根据本发明的优选实施例的测试装置的状态转换管 理过程中的状态转换信息的展现的对用户的示例性展现。

具体实施方式

本发明的优选实施例的例子下面将考虑附图进行描述。
【实施例的概念图】
图1是示出了本发明的优选实施例的例子的整体概念图。
客户机设备10通过通信网络40连接到服务器设备20。所述客户机设 备10将HTTP(超文本传输协议)请求发送到所述服务器设备20并从那 里接收HTTP响应,以便显示由所述服务器设备20管理的网页来被用户 察看。
这里,客户机设备10具有根据本发明的测试装置,并操作所述测试装 置来测试网页的行为。
在测试时,所述客户机设备10接受来自测试者的预定的操作设置信息 的输入,或酌情接受用于提示所述测试者的输入,并实现测试。
然后,所述客户机设备10输出网页的状态转换图或网页中的单元的功 能估计信息,例如作为所述测试的结果,这将在随后讨论。
【数据处理系统的配置】
本发明可以被实现为计算机、数据处理系统和计算机程序。所述计算 机程序可以被记录在计算机可读记录媒体上。计算机可读记录媒体可以是 能够容纳、存储、交流、传播或携带程序的任何设备,其中所述程序用于 或关于指令执行系统、装置或设备。
所述记录媒体可以是电子、磁性、光学、电磁、红外或半导体系统(或 装置或设备)或传播媒体。计算机可读媒体的例子包括半导体或固态存储 设备、磁带、可移除计算机软盘、RAM、ROM、硬磁盘或光盘。当前光 盘的例子包括CD-ROM、CD-R/W和DVD。
图2是示出了根据本发明的优选实施例的计算机(客户机设备10和服 务器设备20)的配置的框图。
控制器11、存储单元12、输入单元13、显示单元14和通信控制器15 经由总线16互连。
控制器11是执行信息处理和操作的信息处理单元(CPU),其负责整 个计算机的控制。控制器11酌情读取存储在存储单元12中的各种程序, 并执行相同的程序,以配合上面提到的硬件和实现本发明的各种功能。
存储单元12可以包括用于结合控制器11进行程序执行的本地存储器、 大容量的海量存储器,以及用于所述海量存储器中的高效搜索的高速缓冲 存储器。
输入单元13接受用户的输入,并且包括键盘、定点设备等。输入单元 13可以直接或经由中间I/O控制器连接到计算机。
显示单元14显示用于接受用户的数据输入的屏幕,或显示所述计算机 的处理结果,其包括例如阴极射线管(CRT)显示设备和液晶显示器(LCD) 的显示设备。显示单元14能够直接或经由中间I/O控制器连接到计算机。
通信控制器15是网络适配器,其用于使所述计算机能够通过专用网络 或公用网络被连接到另一操作处理系统、远程打印机或存储设备。通信控 制器15可以包括调制解调器、电缆调制解调器和以太网(注 册商标)卡。
【测试装置的整体配置】
图3是示出了在根据本发明的优选实施例的客户机设备10中提供的测 试装置的实现配置的框图。
包括用于实现DHTML的SCRIPT引擎112的浏览器110接 收来自状态管理模块130、HTTP请求管理模块150、事件生成模块170和 DOM操作模块180的信号,并改变所显示的网页的状态。
内容分析模块120从浏览器110接收网页的DOM、样式信息数据、 DOM变异事件,或从SCRIPT状态管理模块130接收全局变量数 据,并且执行DOM分析、SCRIPT分析、样式分析和SCRIPT 状态分析(所述将在下面更详细描述)。这里,DOM变异事件是指标识 例如DOM部件的添加、删除或修改的变化的事件(更多信息见因特网 URL:http://www.w3.org/TR/DOM-Level-2-Events/events.html上2000年 11月13日的W3C“Document Object Model Events”(联机)(搜索于 2005年10月18日))。
所述SCRIPT状态管理模块130获取或修改用于包含在网页中 的SCRIPT中的全局变量。所述SCRIPT状态管理模块130 将由获得全局变量的值产生的数据发送到内容分析模块120。
状态确定模块140经由内容分析模块120存储例如这样的数据:DOM、 样式信息、例如鼠标或键盘的输入单元13的状态以及包含在数据库30中 的SCRIPT中的全局变量的值(所述将在随后更详细描述)。
当响应于例如对包含在网页中的链接的点击的事件而生成到不同页或 子窗口的一个定位时,浏览器110生成HTTP请求。一旦接收到HTTP请 求,HTTP请求管理模块150临时取消所述HTTP请求,并使所述原始页 面由浏览器110进行处理。HTTP请求管理模块150还将所述HTTP请求 保存在数据库30中。这使得所述HTTP请求管理模块150能够响应于来 自状态转换管理模块160的指令信号而再现所述HTTP请求,或将进行了 一些修改的HTTP请求发布到所述网页中。
状态转换管理模块160当需要时经由用户输入模块190接受来自测试 者的输入,并且,基于获取自内容分析模块120的信息,经由 SCRIPT状态管理模块130、HTTP请求管理模块150、事件生成模 块170和DOM操作模块180虚拟执行可能发生在网页中的状态转换(所 述过程的细节将在下面描述)。
事件生成模块170在没有接收到来自所述用户的输入的情况下,作为 对来自状态转换管理模块160的指令信号的响应,虚拟执行例如浏览器110 上鼠标的移动或点击或者键盘的操作的输入事件。
DOM操作模块180作为对来自状态转换管理模块160的指令信号的 响应,执行例如在浏览器110上处理的DOM的单元添加或删除或者值的 修改的操作。
用户输入模块190提示用户输入对例如各种值(例如,日期、随机值 和网页内的表格的输入值)的变化范围和所述测试装置中的尝试的数量的 设置,并接受来自所述测试者的输入(细节在下面描述)。
【内容分析流程】
图4是示出了由根据本发明的优选实施例的测试装置的内容分析模块 120实现的内容分析的过程的流程图。
在步骤S100,内容分析模块120从浏览器110获得网页的DOM,并 分析该DOM,以获取出现在所述网页中的表格单元和事件。
在步骤S105,内容分析模块120向所述在步骤S100获取的表格单元 和事件的每个给予ID,并将其存储在数据库30(未示出)中。
在步骤S110,内容分析模块120从SCRIPT状态管理模块130 接收全局变量的值。
在步骤S115,内容分析模块120统计分析出现于在步骤S100获得的 DOM中的SCRIPT单元以及所包括的SCRIPT,以便标识 基于全局变量、随机值或日期的条件分支。如果存在基于DOM中的值(例 如表格中的值)的条件分支,则内容分析模块120标识被该条件分支影响 的单元。
在步骤S120,内容分析模块120从浏览器110获取关于例如网页的字 体大小或背景颜色的样式信息的数据。从而,当事件例如在状态转换管理 过程中被发出时,内容分析模块120可以获取所需要的鼠标的坐标,其中 所述状态转换管理过程将在下面更详细描述。
在步骤S125,内容分析模块120基于DOM变异事件或对从浏览器110 接收的样式信息和DOM的差别的计算,标识DOM和样式已改变的部分。
在步骤S130,内容分析模块120对变化的部分使用用于估计HTML 中的单元的功能的技术(例如日本专利早期公开No.2004-355528),以 便估计作为对事件的响应发生的现象(例如,下拉菜单的弹出和屏幕的高 亮突出)、被所述事件影响的单元(例如,菜单、按钮、单选按钮、滑动 条等)的功能和/或所述单元的状态(例如,被扩展、省略、显示、隐藏、 写入使能、写入禁止等)。
在步骤S135,内容分析模块120监视被在步骤S115的SCRIPT 分析中确定的条件分支影响的DOM中的单元或全局变量的值,并且标识 用于状态转换的分支条件,例如用于转换到特定状态的全局变量的值。所 述全局变量的值已在步骤S110获得。
所述过程步骤的顺序不限于这里所公开的顺序。
【状态确定流程】
图5是示出了由根据本发明的优选实施例的测试装置的状态确定模块 140执行的状态确定的过程的流程图。
在步骤S200,状态确定模块140从所述内容分析模块接收例如DOM、 样式信息、输入单元13的状态以及所述全局变量的值的数据,并且根据其 组合确定状态。
这里,表格的输入值或由SCRIPT输出的字符串可被抽象为“数 值”、“字符”或“时间/日期”,和/或变量的值可被分为例如“等于或小 于10的整数”,和/或浏览器110的显示区域可基于事件可能发生所在的 单元的坐标数据被分割成一些区域,并且相同的区域可被置于相同的状态, 和/或具有特定形式的区域的状态可被置于相同的状态,以便减少状态的数 量。
在步骤S205,状态确定模块140将在步骤S200确定的状态与之前存 储在数据库30中的状态进行比较。如果所述状态是相同的,所述处理进行 到步骤S215,否则到步骤S210。
在步骤S210,状态确定模块140将在步骤S200标识的状态存储到数 据库30中。为具体起见,例如图6中所示的状态表50可被使用。在状态 ID字段中,标识状态的状态ID被新给定和存储。在页字段中,出现所述 状态的网页的名字被存储。在类别字段、条目字段和描述字段中,类别及 其描述被存储,例如DOM、包括字体和背景颜色的样式、例如全局变量 的SCRIPT的状态,和/或例如鼠标和键盘的输入单元13的状态。
在步骤S215,状态确定模块140将关于所标识的状态的转换的数据存 储在数据库30中。更具体地,状态确定模块140使用图7中的状态变化表 60来存储发生事件的单元ID、事件ID、所述事件发生之前的状态ID以及 所述事件发生之后的状态ID。
状态确定模块140还将由内容分析模块在步骤S130(图4)估计的结 果存储到数据库30中。更具体地,其将作为对所述事件的响应发生的现象 存储在状态变化表60(图7)中,将被所述事件影响的单元的功能与该单 元的ID一起存储在单元功能估计表70(图8)中,并且将所述单元的状 态存储在状态表50(图6)中。
【状态转换管理流程】
图9是示出了由根据本发明的优选实施例的测试装置的状态转换管理 模块160以及来自其的指令信号实现的状态转换管理的过程的流程图。
在步骤S300,状态确定模块140将网页的初始状态存储到数据库30 中(即上面描述的状态确定)。在将所述初始状态作为参考状态存储之后, 状态转换管理模块160转移处理到步骤S305。
在步骤S305,内容分析模块120执行所述参考状态下的上面所描述的 内容分析。
在步骤S310,状态转换管理模块160读取在步骤S105(图4)被存储 的事件,并使所述事件经由事件生成模块170发生。于是,所述网页的状 态改变。
在步骤S315,如果所述HTTP请求管理模块150由于在步骤S310发 生的事件而接收到HTTP请求,则其临时取消所述HTTP请求,并且使所 述原始页面由浏览器110进行处理。
在步骤S320,状态确定模块140将在步骤S310的变化之后的状态存 储到数据库30中(即上面描述的状态确定)。
在步骤S325,状态转换管理模块160确定是否所述参考状态下的所有 事件已被发出。更具体地,如果在内容分析(步骤S305)中获得的所述参 考状态下的所有事件都已被执行(步骤S310),则其转移处理到步骤S335; 并且如果存在任何还未被生成的事件,则其转移处理到步骤S330。
在步骤S330,状态转换管理模块160返回状态至所述参考状态(细节 将在随后描述),用以为下一个事件的发生作准备。
在步骤S335,状态转换管理模块160确定是否已针对所述网页中的所 有状态执行内容分析和状态确定过程。为具体起见,其对于在步骤S320 被存储的所有状态执行内容分析,并且当不再存在未被处理的状态时,其 转移处理到步骤S345。然而,如果存在任何未被处理的状态,则其转移处 理到步骤S340。
在步骤S340,状态转换管理模块160改变状态至下一状态(这将在下 面详细描述),用以为所述下一状态的分析作准备。
在步骤S345,状态转换管理模块160格式化存储在数据库30中的所 述网页中的单元的状态、状态转换以及估计功能,并将其显示在显示单元 14上。所述显示的例子将在下面详细描述(图14和15)。
在所述状态转换管理序列中,在特定参考状态下的所有事件都已被发 出之后,状态转换管理模块160改变所述参考状态至还未完成事件发出的 状态并存储该状态,并且重复相同的过程直到新状态不再出现。
在SCRIPT等中的事件处理中,可能存在基于日期/事件、随 机值或表格的输入值的条件分支。状态转换管理模块160为执行所有所述 条件分支而借助于对SCRIPT的静态分析和/或调试技术来标识将 被改变的值,并且通过执行SCRIPT改变所述值用于操作。
将被改变的值的范围可以通过用户输入接收过程(所述将在随后详细 描述)从用户处询问到,或者可以基于指定的操作设置信息。另外,出于 记录和再现的目的,对条件分支的描述可被盖写,并且在所有所述分支目 的地被执行后,用于转换到所述分支目的地的每个的条件可被存储或用客 户机设备10的显示单元14(例如显示器或打印机)展现给所述测试者。
在随机值或日期被用在SCRIPT中并且无穷个或大量状态被生 成的情况下,相关事件发出可以以特定数量的发出来完成,或者事件可以 基于通过用户输入接受过程的用户输入或操作设置信息被发出,所述将在 随后讨论。
【返回到参考状态的流程】
图10是示出了根据本发明的优选实施例的测试装置中的状态转换管 理过程(图9)中返回到所述参考状态的过程的流程图。
在步骤S400,状态转换管理模块160从数据库30读取已在步骤S300 (图9)被存储或已在步骤S340(图9)被重置的参考状态。
在步骤S405,状态转换管理模块160经由DOM操作模块180将浏览 器110上的网页的DOM变成提取自在步骤S400读取的参考状态的DOM。
在步骤S410,状态转换管理模块160经由状态管理模块130将浏览器 110上的SCRIPT的状态变成提取自在步骤S400读取到的参考状 态的SCRIPT的状态。
步骤S405和S410的过程的顺序不限于这里所公开的顺序。
【改变到下一状态的流程】
图11是示出了根据本发明的优选实施例的测试装置中的状态转换管 理过程(图9)中改变到下一状态的过程的流程图。
在步骤S500,状态转换管理模块160从数据库30读取这样的状态, 所述状态已在步骤S320(图9)被存储,并且对于该状态,事件还未被发 出。
在步骤S505,状态转换管理模块160经由DOM操作模块180将浏览 器110上的网页的DOM变成提取自在步骤S500读取到的状态的DOM。
在步骤S510,状态转换管理模块160经由状态管理模块130将浏览器 110上的SCRIPT的状态变成提取自在步骤S500读取到的状态的 SCRIPT的状态。
在步骤S515,状态转换管理模块160重置并存储在步骤S500读取的 状态作为所述参考状态。
【接受用户输入的流程】
图12是示出了根据本发明的优选实施例的测试装置中的状态转换管 理过程(图9)中接受用户输入的过程的流程图。
在步骤S600,用户输入模块190在客户机设备10的显示单元14上展 现用于接受用户输入的显示(未示出)。
在步骤S605,用户输入模块190从客户机设备10的输入单元13(例 如键盘或鼠标)接受所述用户的输入。
所述用户输入接受可以是如上面所提到的当被要求时产生对用户的查 询并且等待该用户的应答,或提前接受输入,或读取作为指定数据存储在 所述系统中的操作设置信息数据并自动执行其的过程。
【包括服务器设备的测试环境的配置】
图13是示出了在根据本发明的优选实施例的测试环境被扩展到服务 器设备20的情况下的实现配置的框图。
在其中用于支持调试的模块通过在SCRIPT中设置断点或使能 web服务器上的步骤执行来实现的环境被称为集成开发环境(见因特网 URL http://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepap ers/wp-radrwd-medres.pdf上的2004年10月IBM Rational白皮书中 Parkin,S.的“Rapidand J2EE Development with IBM WebSphere Studio and IBM Rational Developer”(联机)(搜索于2005年10月18 日))。
在集成开发环境210中,调试模块214获取并修改web服务器212上 的变量的值。
这里,服务器侧状态转换管理模块220经由调试模块214监视web服 务器212上的变量的值,包括所述值作为网页的状态,并且例如将其存储 在数据库30的状态表50中。
从而,所述测试过程可以存储不仅单一网页,还可以存储贯穿web服 务器212上管理的web应用的状态转换。
数据库30可以位于客户机设备10内部、服务器设备20内部、或客户 机设备10和服务器设备20的外部。
【转换信息展现的例子】
图14至16示出了关于根据本发明的优选实施例的测试装置中的状态 转换管理过程(步骤S345)中状态转换信息的展现的对用户的展现的例子。
状态转换管理模块160指示单一网页或许多网页的状态以及关于那些 状态之间的转换的信息。
在图14的例子中,状态转换管理模块160指示状态1至4的网页显示 的结果,以及导致所述状态之间的转换的事件。例如,在状态1(初始状 态),当鼠标移动到菜单中的“产品”上时,子菜单1出现(状态2)。 于是,当鼠标移动到所述子菜单中的“PC”上时,二级子菜单1出现(状 态3)。
在图15中所示的例子中,对于从状态1到状态2的状态转换,网页显 示的结果被关联于例如当时的样式、SCRIPT状态和DOM的数据, 并且由事件发出导致的改变被指示。例如,在状态2的屏幕例子中,导致 事件发出的单元(即“产品”)以及已由于所述事件而被改变的单元(即 产品的下拉菜单)被高亮突出。由所述事件(即所述下拉菜单的弹出)引 起的现象在所述屏幕上的显示有助于测试者的理解。另外,已改变的样式、 SCRIPT状态以及DOM的任意部分都被高亮突出。
尽管在图15的例子中树型视图被用来代表DOM,但例如图16中所 示的文本格式可以也被使用。在图16中所示的例子中,所述测试者的理解 通过由于状态转换(即从“隐藏”到“可见”)已改变的HTML部分的高 亮突出而变得更便利。
可选地,可以按照所述测试者要求来提供各种显示格式,例如,仅仅 改变的部分被显示,而不是显示整个屏幕,和/或特定操作系列被像动画一 样逐帧地显示。
基于条件的缩小也是有可能的,例如,当特定事件被发出时所产生的 行为的列表,关于具有特定功能的单元的事件的列表,或在特定 SCRIPT状态下的状态转换的列表。
根据上面描述的实施例,能够检查使用DHTML的网页的可访问性或 需求定义,这曾经通常是困难的。
例如,通过使用现有的可访问性检查器,难以检查使用DHTML的页 面中除初始状态之外的状态。通过使用本发明,能自动收集和再现使用 DHTML的网页中可能出现的状态,即,例如DOM和样式的信息,以便 测试者可以实现对所述状态的每个的可访问性检查。
所述测试者可以使用通过本发明获取的状态转换信息来确定是否存在 取决于特定输入单元13的转换(例如,行为在用鼠标的操作和用键盘的操 作之间有所不同)。
为将网页链接到例如上面所提到的屏幕阅读器的AT软件,要求正确 的功能被给予每个使用DHTML的单元。通过结合用于估计HTML的单 元的功能的技术来利用本发明,所述测试者可以将由事件引起的现象和/ 或对被事件影响的单元的功能和状态的估计结果与实际给定的功能进行比 较,以找出所述网页的创建者的任何错误。所述测试者可以还通过在纠正 错误或向现有内容给定信息时作为候选项展现所估计的结果来高效地实现 任务,其中,对于所述现有内容,功能和状态还未被给予单元。
由于DHTML的操作随浏览器的实现而不同,所以网页通常确定浏览 器的类型并且改变其操作,所述测试者可以比较使用本发明获取的状态转 换信息块,从而轻易地掌握各种浏览器之间操作的差别。
尽管已描述了本发明的实施例,但本发明不限于上面所描述的实施例。 在本发明的优选实施例中描述的优点仅提到由本发明提供的最优选的优 点,并且本发明的优点不限于在本发明的实施例中所提到的那些。