分析web应用程序的结构的制作方法_3

文档序号:9240052阅读:来源:国知局
后可以被提供给能够消耗令牌的扫描器。扫描器消耗可操作的令牌来为可操作的令牌中的每一个可操作的令牌确定要在web应用程序中执行的一组测试。然后,扫描器为可操作的令牌中的每一个可操作的令牌执行基于各定位器定位的各组测试和与各定位器有关的相应的允许动作。如此,当进行测试时,扫描器不需要消耗额外的时间来尝试与各选择器不兼容的动作。
[0037]图4为根据一个示例的能够分析web应用程序的结构的装置的框图。计算设备400包括例如处理器410和包括用于分析web应用程序的结构的指令422、424、426的机器可读存储介质420。计算设备400可以是例如笔记本计算机、平板计算设备、服务器、工作站、台式计算机、或任何其它计算设备。
[0038]处理器410可以是至少一个中央处理单元(CPU)、至少一个基于半导体的微处理器、至少一个图形处理单元(GPU)、其它适于检索和执行存储在机器可读存储媒体420中的指令的硬件设备,或者其组合。例如,处理器410可以包括芯片上的多个核,跨多个芯片的多个核,跨多个设备(例如,如果计算设备400包括多个节点设备)的多个核、或其组合。处理器410可以获取、译码和执行指令422、424、426来实施分析DOM结构,例如,如在方法300中实现的那样实施分析DOM结构。作为检索和执行指令的替代或者附加于检索和执行指令,处理器310可以包括:包括用于执行指令422、424和426的功能的若干电子部件的至少一个集成电路(IC)、其它控制逻辑、其它电子电路、或其组合。
[0039]机器可读存储媒体420可以是任何包含或存储可执行指令的电子的、磁的、光的或其它物理存储设备。因此,机器可读存储介质可以是,例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储驱动器、紧致盘只读存储器(⑶-ROM)等等。如此,机器可读存储介质可以是非暂时的。如在本发明中详细说明地,机器可读存储介质320可以以用于分析DOM结构的一系列可执行指令被编码。
[0040]网页指令422可以由处理器410执行,以把web应用程序加载到浏览器布局引擎中。然后,扫描指令424可以由处理器410执行,来在web应用程序的用户界面元素上模拟用户动作。可以与爬行网页类似地,来完成用户动作,并且用户动作可以是随机的或基于算法。
[0041]在模拟用户动作的过程中,分析器指令426可以被执行来确定与web应用程序有关的一个或多个选择器。分析器可以根据规则和模拟的用户动作来遍历web应用程序的结构,并分析web应用程序的复杂DOM以确定一组可操作的令牌。各可操作的令牌可以包括该web应用程序的、能够改变基于该web应用程序而被呈现的用户界面的部分。该部分的示例可以包括键盘事件、点击事件、JS事件、或其组合的目标。
[0042]进一步地,各可操作的令牌包括定位器和一组允许动作。定位器可以基于各种方法(例如,XPath、Attribute、TruClient等)中的一个方法。允许动作可以基于所用框架的类型和/或与令牌有关的对象的类型/作用。
[0043]一旦产生了令牌,那么令牌可以被发送给扫描器。扫描指令424可以被执行来消耗可操作的令牌来确定要在web应用程序中执行的一组测试。扫描器可以为可操作的令牌中的每一个可操作的令牌执行根据各定位器定位的测试和根据与定位器有关的相应的允许动作的可操作。
【主权项】
1.一种系统,包括: 浏览器布局引擎,用于加载Web应用程序; 扫描器,用于在该web应用程序的用户界面元素上模拟用户动作;和 文档分析器,用于根据规则遍历该web应用程序的结构和将该web应用程序的复杂文档对象模型转换为一组可操作的令牌, 其中各个可操作的令牌包括该web应用程序的、能够改变基于该web应用程序而被呈现的用户界面的部分。2.根据权利要求1所述的系统,其中该部分包括下列中至少一个的有效目标:键盘事件、点击事件和JavaScript对象。3.根据权利要求1所述的系统,其中所述规则包括至少一个选择器,并且该至少一个选择器返回所述可操作的令牌中的至少一个可操作的令牌。4.根据权利要求3所述的系统,其中该文档分析器根据所述可操作的令牌中的一个可操作的令牌确定一组选择器是相关的,并且根据该相关性确定启用该组选择器,并且其中该相关性确定至少部分地基于该浏览器布局引擎的缓存。5.根据权利要求1所述的系统,其中所述各个可操作的令牌包括定位器和一组允许动作。6.根据权利要求5所述的系统,其中该扫描器或其它扫描器包括用于消耗所述可操作的令牌的事件处理程序,其中该扫描器或该其它扫描器使用所述可操作的令牌确定要在该web应用程序上执行的一组测试。7.根据权利要求6所述的系统,其中该扫描器或该其它扫描器通过为所述可操作的令牌中的每一个可操作的令牌都执行根据各个定位器定位的测试和在该定位器处的相应的允许动作,来根据所述可操作的令牌在该web应用程序中执行所述测试。8.根据权利要求5所述的系统,其中该文档分析器确定特定类型的代码在该web应用程序中可执行,并且其中该文档分析器根据该特定类型确定所述允许动作中的至少一个允许动作。9.一种非暂时性机器可读存储介质,该存储介质用于存储指令,所述指令如果被计算系统的至少一个处理器执行,致使该计算系统: 加载web应用程序; 在该web应用程序的用户界面元素上模拟用户动作;和 根据规则和所述用户动作来遍历web应用程序的结构,并分析该web应用程序的复杂文档对象模型(DOM)以确定一组可操作的令牌, 其中各个可操作的令牌包括该web应用程序的、能够改变基于该web应用程序而被呈现的用户界面的部分,并且 其中所述各个可操作的令牌包括定位器和一组允许动作。10.根据权利要求9所述的非暂时性机器可读存储介质,进一步包括指令,所述指令如果由该至少一个处理器执行,致使该计算系统: 消耗所述可操作的令牌以确定要在该web应用程序中执行的一组测试;和 为所述可操作的令牌中的每一个可操作的令牌执行根据各个定位器定位的测试和与该定位器有关的相应的允许动作。11.根据权利要求9所述的非暂时性机器可读存储介质,进一步包括指令,所述指令如果由该至少一个处理器执行,致使该计算系统: 根据所述可操作的令牌中的一个可操作的令牌确定一组选择器是相关的; 根据该相关性确定,启用该组选择器;和 根据所述选择器进一步分析该DOM,以产生另外多组所述可操作的令牌。12.根据权利要求9所述的非暂时性机器可读存储介质,其中该部分包括JavaScript对象的有效目标。13.—种方法,包括: 加载web应用程序; 在该web应用程序的用户界面元素上模拟用户动作;和 根据规则来遍历该web应用程序的结构,并分析该web应用程序的复杂文档对象模型(DOM)以确定一组可操作的令牌, 其中各个可操作的令牌包括该web应用程序的、能够改变基于该web应用程序而被呈现的用户界面的部分,并且 其中所述可操作的令牌中的每一个可操作的令牌包括相应的定位器和相应的一组允许动作。14.根据权利要求13所述的方法,进一步包括: 消耗所述可操作的令牌来为所述可操作的令牌中的每一个可操作的令牌确定要在该web应用程序中执行的一组测试,和 为所述可操作的令牌中的每一个可操作的令牌执行基于所述相应的定位器定位的相应一组测试和与所述相应的定位器有关的相应的允许动作。15.根据权利要求13所述的方法,其中该部分包括键盘事件和点击事件中的至少一个事件的有效目标。
【专利摘要】本发明公开的示例实施例涉及分析web应用程序。web应用程序被加载。在该web应用程序的用户界面元素上模拟用户动作。根据规则遍历该web应用程序的结构以确定一组可操作的令牌。所述各可操作的令牌包括该web应用程序的、能够改变基于该web应用程序而被呈现的用户界面的部分。
【IPC分类】G06F17/00, G06F17/21, G06F9/44
【公开号】CN104956362
【申请号】CN201380071708
【发明人】肖恩·摩根·森普森, 基里尔·缅杰列维, 戴维·斯科特·蒂勒
【申请人】惠普发展公司,有限责任合伙企业
【公开日】2015年9月30日
【申请日】2013年1月29日
【公告号】EP2951718A1, WO2014120128A1
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1