基于规则呈现用户界面元素的制作方法_2

文档序号:9240065阅读:来源:国知局
户界面元素。在一个示例中,可向用户提供能够找到那个用户界面元素的选项。在另一示例中,可向用户提供能够找到其它类似的用户界面元素的选项。使用这个方法,规则可基于与选择的用户界面元素相关联的信息,将与选择的用户界面元素类似的其它用户界面元素转换成其它可行令牌。在一些示例中,信息可包括与选择的用户界面元素和将被启用的其它元素相关联的公共类名。在其它示例中,信息可包括属性、标签、标识符、类等。此外,因为一个或多个信息可被自动确定,因此规则可被自动产生或修改而无需额外的输入。
[0031]在另一示例中,选择未加亮的用户界面元素。标记模块122可用于给用于创建规则的用户界面元素加标记。元素信息模块120可接着用于产生关于用户界面元素的信息并促使存储该信息。信息可包括与UI元素相关联的类型、与用户界面元素相关联的访问标识符、与用户界面元素相关联的一个或多个事件处理程序、在文档对象模型内的关系信息(例如父母、孩子、兄弟姊妹等)。
[0032]这个信息可接着被提供给开发者以产生或修改规则,和/或用于修改/产生规则而无需开发者输入。也可提供只选择这个Π元素或选择类似的Π元素的选项。在开发者或其他人被分派任务以提供其它信息的情形中,可使用定制输入信息,例如用于选择与用于规则的UI元素相关联的一个或多个所存储的信息的定制信息。因此,规则模块118可产生或修改规则,以基于类型、访问标识符、事件处理程序、关系信息和定制输入信息中的一个或多个来将与选择的Π元素类似的其它用户界面元素转换成其它可行令牌。
[0033]在另一情形中,选定用户界面元素中的另一个。这个Π元素可以是加亮用户界面元素之一。规则模块可基于Π元素选择来对规则执行一个或多个任务。在一个情形中,可修改或产生规则以排除UI元素。在另一情形中,可基于该选择来取消选择规则。例如,规则可被设置为不与注销交互、日程表交互、调色板交互等中的一个或多个的令牌交互,或可被设置为不创建注销交互、日程表交互、调色板交互等中的一个或多个的令牌。
[0034]使用这些方法,输入模块可接收选择输入,以选择所呈现的网页的用户界面元素。规则模块可使用选择输入作为样本,来创建在扫描期间相应的用户界面元素的显式选择或取消选择的一个或多个规则。如上面提到的,这可通过基于规则产生令牌或不产生令牌来实现。如所提到的,规则可以是非常特定的,例如单个用户界面元素所特定的,或较不特定的,例如与用户界面元素相关联的类所特有的。
[0035]在一个示例中,客户端可进行选择。例如,希望测试应用的客户端可注意确保web应用的重要部分被测试。此外,因为这是在整个扫描发生之前,它可节省时间。一次可选择零个、一个或多个Π元素,且可使用各选项之一。规则可被自动更新和提炼或基于额外的输入来更新。
[0036]视觉化模块116可基于新的一组规则来重新运行具有加亮Π元素的网页的加载。因此,新的一组Π元素可在被呈现时被加亮。之后,可使用更新的规则和从更新的规则产生的令牌来执行扫描。在一些示例中,以使用新规则和老规则的爬行开始,重新测试web应用。在其它示例中,web应用可仅使用用于产生额外的令牌和/或确定在扫描期间要移除的一个或多个令牌的新规则被重新爬行。扫描器112可接着使用令牌来扫描web应用。
[0037]在一个示例中,视觉化模块116与系统的扫描部分分离。因此,在web应用的爬行期间创建/更新的规则库可被保存并发送到视觉化模块116。视觉化模块在对web应用进行操作时可使用规则库。可在web应用的该部分的呈现期间修改/更新规则库。然后,规则库可以以例如配置文件、可扩展标记语言(XML)格式中等保存。规则库可接着被提供到扫描器,以产生令牌并执行扫描。可在视觉化模块116和/或扫描器上实现这些特征中的一个或多个。
[0038]处理器130,例如中央处理单元(CPU)或适合于获取并执行指令的微处理器和/或电子电路,可被配置成执行本文描述的模块110、112、114、116、118、120、122中的任一个的功能。在某些情形中,指令和/或例如令牌信息、规则等的其它信息可包括在存储器132或其它存储器中。输入/输出模块134可另外由计算系统10b提供。例如,诸如键盘、传感器、触摸界面、鼠标、麦克风等之类的输入设备140可用于从计算系统10b周围的环境接收输入。此外,例如显示器的输出设备142可用于向用户呈现信息。输出设备的示例包括扬声器、显示设备、放大器等。此外,在某些实施例中,一些部件可用于实现本文所述的其它部件的功能。
[0039]模块110-122中的每一个可包括例如硬件设备,硬件设备包括用于实现本文所述的功能的电子电路。此外或作为可选方案,每个模块110-122可被实现为在计算系统100的机器可读存储介质上编码并由处理器130可执行的一系列指令。应注意,在一些实施例中,一些模块被实现为硬件设备,而其它模块被实现为可执行指令。
[0040]图2是根据一个示例的用于分析web应用的结构以产生供呈现的可行令牌的计算系统的框图。在这个示例中,计算系统200可包括用于模拟针对web应用204的用户界面元素采取的用户操作的扫描器202。Web应用204可被加载到浏览器布局引擎206中,并由文档分析器208根据一组规则210来分析。视觉化模块250可用于显示在爬行期间在网页上找到的用户令牌。视觉化模块250也可基于用户界面改变激活规则、产生规则、去激活规贝1J、激活排斥规则等。可使用至少一个处理器和存储器来实现计算系统200的一个或多个部件。此外,可利用一个或多个计算机来实现部件中的每一个,或部件中的每一个可在单个计算系统上实现。
[0041]扫描器202可将web应用204的定位符或标识符(例如通用资源定位符(URL))发送到浏览器布局引擎206。浏览器布局引擎206可基于URL来加载web应用204。在一些示例中,浏览器布局引擎206可以是web浏览器或被配置成作为计算系统200的部分而工作的修改浏览器。Web应用204的示例包括日程表应用、电子邮件界面、新闻页面、例如流视频、生产率应用等的其它内容资源。
[0042]扫描器202可接着模拟在web应用204的用户界面元素上的用户行动。模拟可以是随机的或基于预定义的设置。当文档分析器208遍历web应用204的结构时,模拟可出现。模拟可用于帮助文档分析器208确定一个或多个规则激活,以产生可行令牌。因此,文档分析器208基于规则来遍历web应用204的结构,以将web应用204的复杂DOM转换成一组可行令牌。相应的可行令牌可包括可改变基于web应用204而呈现的用户界面的web应用的一部分。可改变用户界面的web应用的部分的示例可包括键盘事件的目标、点击事件的目标、其它可行元素等。在一些示例中,可行元素可包括JavaScript对象。
[0043]在一个示例中,文档分析器208可根据所模拟的行动确定特定类型的框架存在于web应用204上。在一个示例中,框架是其中可通过用户代码选择性地改变提供一般功能的软件以提供专用软件的抽象。这可通过使用所模拟的行动确定与框架相关联的选择器存在而发生。可基于这个方法来确定多个框架。Web框架的示例包括jQuery、YUI Lobrary>
Dojo工具箱、MooTools、原型JS框架、Ajax、Web可访问性提议(WAI)--可访问的富互联网应用(ARIA)和Flash。框架可进一步被粒化成版本,因为版本变化可影响能力和相关联的选择器。
[0044]可为所识别的每个框架启用一组选择器。在一个示例中,也可启用一些默认选择器。在另一示例中,当识别出框架时,可启用所有相关联选择器。在又一示例中,当与框架相关联的选择器被识别出时,框架被识别出。
[0045]而且,可基于关于web应用204可搜索的内容来过滤选择器。例如,知道jQuery存储关于选择器的信息的方式,文档分析器208可通过查询jQuery的高速缓存存储器结构来得到选择器的列表。高速缓存存储器结构可基于jQuery发布来改变。
[0046]在一个示例中,为了找到相关联的选择器,文档分析器可评估jQuery.cache [window, document [jQuery.expando]]的JS代码。结果可以是包含DOM元素的选择器的JS对象的阵列,DOM元素是鼠标和/或键盘事件的有效目标。这个示例可基于jQuery1.6。在jQuery 1.7中,改变内部结构,因此可编写更复杂的JS代码以得到相关联元素。可特别针对特定类型的框架来编写这种类型的代码。在某些示例中,jQuery可被称为框架,且1.6和1.7可被称为框架的版本或类型。当找到特定的框架时,可基于框架的细节针对可行令牌分析web应用204。例如web应用代码的处理的其它方法可用于确定特定框架的存在。而且,文档分析器208的规则可被实现,以自动检测一个或多个框架并获取相关联元素的列表。
[0047]当分析web应用204时,确定越来越多的选择器。如所提到的,规则可用于确定一般的、框架特定的或实现方式特定的选择器(例如从高速缓存存储器退出的选择器)。然后文档分析器208可使用令牌化特征来试图找到被激活的选择器的作用和位置。使用选择器,文档分析器208和/或扫描器202可寻找在web应用204上的令牌。如上面提到的,在某些示例中,令牌代表DOM元素,DOM元素为鼠标或键盘事件或可以用任何其它方式被调用、评估或修改的JS实体的有效目标。可为每个选择器找到一组令牌。在一些示例中,这组可以是空的。令牌可包括令牌的定位符和可对令牌执行的/由令牌执行的一个或多个作用或行动。
[0048]因此,当被实现时,规则可激活至少一个选择器,且该至少一个选择器可返回至少一个可行令牌。而且,相应的可行令牌可包括相关联定位符和与相应的可行令牌相关联的一组被允许的行动。此外,当文档分析器208确定特定类型的代码在web
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1