用于分析网页中的变化的方法和系统的制作方法

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

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

图3是示出了在根据本发明的优选实施例的客户机设备10中提供的测试装置的实现配置的框图。
包括用于实现DHTML的JAVASCRIPT引擎112的浏览器110接收来自状态管理模块130、HTTP请求管理模块150、事件生成模块170和DOM操作模块180的信号,并改变所显示的网页的状态。
内容分析模块120从浏览器110接收网页的DOM、样式信息数据、DOM变异事件,或从JAVASCRIPT状态管理模块130接收全局变量数据,并且执行DOM分析、JAVASCRIPT分析、样式分析和JAVASCRIPT状态分析(所述将在下面更详细描述)。这里,DOM变异事件是指标识例如DOM部件的添加、删除或修改的变化的事件(更多信息见因特网URLhttp://www.w3.org/TR/DOM-Level-2-Events/events.html上2000年11月13日的W3C“Document Object Model Events”(联机)(搜索于2005年10月18日))。
所述JAVASCRIPT状态管理模块130获取或修改用于包含在网页中的JAVASCRIPT中的全局变量。所述JAVASCRIPT状态管理模块130将由获得全局变量的值产生的数据发送到内容分析模块120。
状态确定模块140经由内容分析模块120存储例如这样的数据DOM、样式信息、例如鼠标或键盘的输入单元13的状态以及包含在数据库30中的JAVASCRIPT中的全局变量的值(所述将在随后更详细描述)。
当响应于例如对包含在网页中的链接的点击的事件而生成到不同页或子窗口的一个定位时,浏览器110生成HTTP请求。一旦接收到HTTP请求,HTTP请求管理模块150临时取消所述HTTP请求,并使所述原始页面由浏览器110进行处理。HTTP请求管理模块150还将所述HTTP请求保存在数据库30中。这使得所述HTTP请求管理模块150能够响应于来自状态转换管理模块160的指令信号而再现所述HTTP请求,或将进行了一些修改的HTTP请求发布到所述网页中。
状态转换管理模块160当需要时经由用户输入模块190接受来自测试者的输入,并且,基于获取自内容分析模块120的信息,经由JAVA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从JAVASCRIPT状态管理模块130接收全局变量的值。
在步骤S115,内容分析模块120统计分析出现于在步骤S100获得的DOM中的JAVASCRIPT单元以及所包括的JAVASCRIPT,以便标识基于全局变量、随机值或日期的条件分支。如果存在基于DOM中的值(例如表格中的值)的条件分支,则内容分析模块120标识被该条件分支影响的单元。
在步骤S120,内容分析模块120从浏览器110获取关于例如网页的字体大小或背景颜色的样式信息的数据。从而,当事件例如在状态转换管理过程中被发出时,内容分析模块120可以获取所需要的鼠标的坐标,其中所述状态转换管理过程将在下面更详细描述。
在步骤S125,内容分析模块120基于DOM变异事件或对从浏览器110接收的样式信息和DOM的差别的计算,标识DOM和样式已改变的部分。
在步骤S130,内容分析模块120对变化的部分使用用于估计HTML中的单元的功能的技术(例如日本专利早期公开No.2004-355528),以便估计作为对事件的响应发生的现象(例如,下拉菜单的弹出和屏幕的高亮突出)、被所述事件影响的单元(例如,菜单、按钮、单选按钮、滑动条等)的功能和/或所述单元的状态(例如,被扩展、省略、显示、隐藏、写入使能、写入禁止等)。
在步骤S135,内容分析模块120监视被在步骤S115的JAVASCRIPT分析中确定的条件分支影响的DOM中的单元或全局变量的值,并且标识用于状态转换的分支条件,例如用于转换到特定状态的全局变量的值。所述全局变量的值已在步骤S110获得。
所述过程步骤的顺序不限于这里所公开的顺序。
状态确定流程图5是示出了由根据本发明的优选实施例的测试装置的状态确定模块140执行的状态确定的过程的流程图。
在步骤S200,状态确定模块140从所述内容分析模块接收例如DOM、样式信息、输入单元13的状态以及所述全局变量的值的数据,并且根据其组合确定状态。
这里,表格的输入值或由JAVASCRIPT输出的字符串可被抽象为“数值”、“字符”或“时间/日期”,和/或变量的值可被分为例如“等于或小于10的整数”,和/或浏览器110的显示区域可基于事件可能发生所在的单元的坐标数据被分割成一些区域,并且相同的区域可被置于相同的状态,和/或具有特定形式的区域的状态可被置于相同的状态,以便减少状态的数量。
在步骤S205,状态确定模块140将在步骤S200确定的状态与之前存储在数据库30中的状态进行比较。如果所述状态是相同的,所述处理进行到步骤S215,否则到步骤S210。
在步骤S210,状态确定模块140将在步骤S200标识的状态存储到数据库30中。为具体起见,例如图6中所示的状态表50可被使用。在状态ID字段中,标识状态的状态ID被新给定和存储。在页字段中,出现所述状态的网页的名字被存储。在类别字段、条目字段和描述字段中,类别及其描述被存储,例如DOM、包括字体和背景颜色的样式、例如全局变量的JAVA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改变所述参考状态至还未完成事件发出的状态并存储该状态,并且重复相同的过程直到新状态不再出现。
在JAVASCRIPT等中的事件处理中,可能存在基于日期/事件、随机值或表格的输入值的条件分支。状态转换管理模块160为执行所有所述条件分支而借助于对JAVASCRIPT的静态分析和/或调试技术来标识将被改变的值,并且通过执行JAVASCRIPT改变所述值用于操作。
将被改变的值的范围可以通过用户输入接收过程(所述将在随后详细描述)从用户处询问到,或者可以基于指定的操作设置信息。另外,出于记录和再现的目的,对条件分支的描述可被盖写,并且在所有所述分支目的地被执行后,用于转换到所述分支目的地的每个的条件可被存储或用客户机设备10的显示单元14(例如显示器或打印机)展现给所述测试者。
在随机值或日期被用在JAVASCRIPT中并且无穷个或大量状态被生成的情况下,相关事件发出可以以特定数量的发出来完成,或者事件可以基于通过用户输入接受过程的用户输入或操作设置信息被发出,所述将在随后讨论。
返回到参考状态的流程图10是示出了根据本发明的优选实施例的测试装置中的状态转换管理过程(图9)中返回到所述参考状态的过程的流程图。
在步骤S400,状态转换管理模块160从数据库30读取已在步骤S300(图9)被存储或已在步骤S340(图9)被重置的参考状态。
在步骤S405,状态转换管理模块160经由DOM操作模块180将浏览器110上的网页的DOM变成提取自在步骤S400读取的参考状态的DOM。
在步骤S410,状态转换管理模块160经由状态管理模块130将浏览器110上的JAVASCRIPT的状态变成提取自在步骤S400读取到的参考状态的JAVASCRIPT的状态。
步骤S405和S410的过程的顺序不限于这里所公开的顺序。
改变到下一状态的流程图11是示出了根据本发明的优选实施例的测试装置中的状态转换管理过程(图9)中改变到下一状态的过程的流程图。
在步骤S500,状态转换管理模块160从数据库30读取这样的状态,所述状态已在步骤S320(图9)被存储,并且对于该状态,事件还未被发出。
在步骤S505,状态转换管理模块160经由DOM操作模块180将浏览器110上的网页的DOM变成提取自在步骤S500读取到的状态的DOM。
在步骤S510,状态转换管理模块160经由状态管理模块130将浏览器110上的JAVASCRIPT的状态变成提取自在步骤S500读取到的状态的JAVASCRIPT的状态。
在步骤S515,状态转换管理模块160重置并存储在步骤S500读取的状态作为所述参考状态。
接受用户输入的流程图12是示出了根据本发明的优选实施例的测试装置中的状态转换管理过程(图9)中接受用户输入的过程的流程图。
在步骤S600,用户输入模块190在客户机设备10的显示单元14上展现用于接受用户输入的显示(未示出)。
在步骤S605,用户输入模块190从客户机设备10的输入单元13(例如键盘或鼠标)接受所述用户的输入。
所述用户输入接受可以是如上面所提到的当被要求时产生对用户的查询并且等待该用户的应答,或提前接受输入,或读取作为指定数据存储在所述系统中的操作设置信息数据并自动执行其的过程。
包括服务器设备的测试环境的配置图13是示出了在根据本发明的优选实施例的测试环境被扩展到服务器设备20的情况下的实现配置的框图。
在其中用于支持调试的模块通过在JAVASCRIPT中设置断点或使能web服务器上的步骤执行来实现的环境被称为集成开发环境(见因特网URLhttp://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/wp-radrwd-medres.pdf上的2004年10月IBM Rational白皮书中Parkin,S.的“Rapid Javaand J2EE Development with IBM WebSphereStudio 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的状态转换,网页显示的结果被关联于例如当时的样式、JAVASCRIPT状态和DOM的数据,并且由事件发出导致的改变被指示。例如,在状态2的屏幕例子中,导致事件发出的单元(即“产品”)以及已由于所述事件而被改变的单元(即产品的下拉菜单)被高亮突出。由所述事件(即所述下拉菜单的弹出)引起的现象在所述屏幕上的显示有助于测试者的理解。另外,已改变的样式、JAVASCRIPT状态以及DOM的任意部分都被高亮突出。
尽管在图15的例子中树型视图被用来代表DOM,但例如图16中所示的文本格式可以也被使用。在图16中所示的例子中,所述测试者的理解通过由于状态转换(即从“隐藏”到“可见”)已改变的HTML部分的高亮突出而变得更便利。
可选地,可以按照所述测试者要求来提供各种显示格式,例如,仅仅改变的部分被显示,而不是显示整个屏幕,和/或特定操作系列被像动画一样逐帧地显示。
基于条件的缩小也是有可能的,例如,当特定事件被发出时所产生的行为的列表,关于具有特定功能的单元的事件的列表,或在特定JAVASCRIPT状态下的状态转换的列表。
根据上面描述的实施例,能够检查使用DHTML的网页的可访问性或需求定义,这曾经通常是困难的。
例如,通过使用现有的可访问性检查器,难以检查使用DHTML的页面中除初始状态之外的状态。通过使用本发明,能自动收集和再现使用DHTML的网页中可能出现的状态,即,例如DOM和样式的信息,以便测试者可以实现对所述状态的每个的可访问性检查。
所述测试者可以使用通过本发明获取的状态转换信息来确定是否存在取决于特定输入单元13的转换(例如,行为在用鼠标的操作和用键盘的操作之间有所不同)。
为将网页链接到例如上面所提到的屏幕阅读器的AT软件,要求正确的功能被给予每个使用DHTML的单元。通过结合用于估计HTML的单元的功能的技术来利用本发明,所述测试者可以将由事件引起的现象和/或对被事件影响的单元的功能和状态的估计结果与实际给定的功能进行比较,以找出所述网页的创建者的任何错误。所述测试者可以还通过在纠正错误或向现有内容给定信息时作为候选项展现所估计的结果来高效地实现任务,其中,对于所述现有内容,功能和状态还未被给予单元。
由于DHTML的操作随浏览器的实现而不同,所以网页通常确定浏览器的类型并且改变其操作,所述测试者可以比较使用本发明获取的状态转换信息块,从而轻易地掌握各种浏览器之间操作的差别。
尽管已描述了本发明的实施例,但本发明不限于上面所描述的实施例。在本发明的优选实施例中描述的优点仅提到由本发明提供的最优选的优点,并且本发明的优点不限于在本发明的实施例中所提到的那些。
权利要求
1.一种用于分析使用DHTML的网页中的变化的方法,包括确定动态引起所述网页中的状态转换的事件;为了所述转换之后的状态,虚拟执行所述事件;作为这样的数据获取所述网页中的状态,所述数据包括DOM、浏览器上呈现的单元的样式信息、来自用户输入设备的数据和JAVASCRIPT中的全局变量的值中的至少一个,然后确定所述状态是否是已出现的状态,并存储所述状态;以及在所述网页中再现所述存储的状态。
2.根据权利要求1所述的方法,包括收集和分析在虚拟执行所述事件时可从所述网页发生的HTTP请求。
3.根据权利要求2所述的方法,包括作为这样的数据获取并存储web服务器中的状态,所述数据包括生成所述网页的所述web服务器上的变量的值;以及在所述web服务器中再现所述状态。
4.根据权利要求1或2所述的方法,包括向用户展现所述网页中的状态转换。
5.根据权利要求3所述的方法,包括向用户展现所述web服务器中的状态以及所述网页中的状态的转换。
6.根据权利要求1到5中任一个所述的方法,包括分析已在所述网页中发生的状态转换以及所述网页的结构,检测引起所述网页中的状态转换的操作,以及估计响应于所述操作而出现的现象以及所述操作影响的单元的功能和状态。
7.根据权利要求1到6中任一个所述的方法,包括获取多个浏览器上所述网页的状态,以及检测所述浏览器之间的状态的差别。
8.一种用于分析使用DHTML的网页中的变化的客户机设备,包括状态转换分析单元,用于确定动态引起所述网页中的状态转换的事件;事件执行单元,用于为获取所述转换之后的状态而虚拟执行所述事件;状态存储单元,用于作为这样的数据获取所述网页中的状态,所述数据包括DOM、当在浏览器上呈现时的样式信息、来自用户输入设备的数据和JAVASCRIPT中的全局变量的值中的至少一个,确定所述状态是否是已出现的状态,并存储所述状态;以及状态再现单元,用于在所述网页中再现所述存储的状态。
9.一种包括用于分析使用DHTML的网页中的变化的客户机设备和服务器设备的数据处理系统,包括状态转换分析单元,用于确定动态引起所述网页以及生成所述网页的web服务器中的状态转换的事件;事件执行单元,用于为获取所述转换之后的状态而虚拟执行所述事件;状态存储单元,用于作为这样的数据获取所述网页以及web服务器中的状态,所述数据包括DOM、当在浏览器上呈现时的样式信息、来自用户输入设备的数据、JAVASCRIPT中的全局变量的值以及所述web服务器上的变量的值中的至少一个,确定所述状态是否是已出现的状态,并存储所述状态;HTTP请求分析单元,用于收集并分析可从所述网页发生的HTTP请求;客户机状态再现单元,用于在所述网页中再现所述存储的状态;以及服务器状态再现单元,用于在所述web服务器中再现所述存储的状态。
10.一种用于分析使用DHTML的网页中的变化的计算机程序,其使得计算机执行确定动态引起所述网页中的状态转换的事件;为了所述转换之后的状态,虚拟执行所述事件;作为这样的数据获取所述网页中的状态,所述数据包括DOM、当在浏览器上呈现时的样式信息、来自用户输入设备的数据以及JAVASCRIPT中的全局变量的值中的至少一个,确定所述状态是否是已出现的状态,并存储所述状态;以及在所述网页中再现所述存储的状态。
全文摘要
为提供一种方法,所述方法使测试者能够高效地执行对使用DHTML的网页的行为或各种浏览器之间网页的行为差别的确定,或关于所述网页的可访问性的信息的分配,或对所述信息的验证。提供一种通过确定可以响应于外部事件而动态出现在使用DHTML的网页中的状态来分析网页中的变化的方法,所述方法是通过分析DOM、当在浏览器上被呈现时的样式信息、来自用户的输入数据以及JAVA
文档编号G06F17/30GK1987862SQ200610146598
公开日2007年6月27日 申请日期2006年11月15日 优先权日2005年12月22日
发明者福田健太郎, 齐藤新 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1