黑盒应用状态推进与时序场景捕获方法、设备和产品

摘要: 本申请涉及计算机自动化领域,特别是涉及一种黑盒应用状态推进与时序场景捕获方法、设备和产品。背景技术:1、在软件自动化测试、内容分析、多模态数据标注、内容安全审核...
黑盒应用状态推进与时序场景捕获方法、设备和产品

本申请涉及计算机自动化领域,特别是涉及一种黑盒应用状态推进与时序场景捕获方法、设备和产品。

背景技术:

1、在软件自动化测试、内容分析、多模态数据标注、内容安全审核以及应用检索建库等众多场景中,系统需要获取能够体现目标应用核心功能或玩法的界面画面。然而,如果仅仅截取应用的启动屏、加载页或主菜单,后续的分析系统将难以判断应用的交互方式、功能结构和核心价值。

2、现有的网页自动化方案,如selenium或puppeteer,通常依赖于文档对象模型(dom)来定位界面元素,通过读取按钮文本、控件id或css选择器来执行交互。然而,大量的现代应用,特别是轻量级互动应用、互动广告、嵌入式应用等,采用html5的canvas、webgl或webgpu技术进行渲染。在这类应用中,用户所见的按钮、菜单和交互对象仅仅是渲染区域内的像素集合,其内部结构和语义信息对于外部自动化工具是不可见的,导致传统基于dom的方案完全失效。此外,对于远程串流应用或运行在模拟器中的应用,自动化系统能接触到的也只有最终呈现的视频流画面,同样面临“黑盒”困境。

3、为了应对这类黑盒场景,业界提出了一些基于计算机视觉(cv)的自动化测试方案。这些方案通常尝试通过图像识别模型来理解界面元素的语义(例如,识别“开始”按钮),或利用强化学习来训练智能体(agent)完成特定任务。然而,这些方案存在其固有的局限性。首先,它们往往需要大量的样本进行模型训练,或者需要预先定义明确的测试用例和成功标准,这对于需要批量处理大量未知应用的场景来说,成本高昂且适应性差。其次,这些方案的目标是模拟人类用户或完成特定测试任务,其内部状态通常表示为复杂的场景向量或模型参数,而不是一个可供外部直接复核的、清晰的证据链。

4、因此,现有技术普遍存在以下不足:在无法读取应用内部状态、调用引擎接口或依赖控件语义的黑盒条件下,难以准确判断应用是否已从加载、广告等非交互阶段进入到可稳定交互的时机;难以生成一套可跨应用适配的、与具体引擎无关的物理输入动作来有效探索应用状态;在执行动作后,难以判断画面变化是形成了新的有意义的状态,还是仅仅是无关紧要的动画或重复帧,从而导致存储大量冗余或无效的截图;在遇到菜单阻塞、授权遮罩、假死或加载卡顿等弱响应情况时,系统容易过早判定失败而中断探索;最终,也难以将整个状态推进过程输出为一份包含触发动作和时间顺序的、可供人工或机器复核的结构化证据。

技术实现思路

1、本申请的目的是提供一种黑盒应用状态推进与时序场景捕获方法、设备和产品,旨在不依赖应用内部状态或语义理解的前提下,通过外部视觉反馈闭环,可靠地推进应用状态,并捕获可复核的时序场景证据链。

2、为实现上述目的,本申请提供了如下方案:

3、第一方面,本申请提供了一种黑盒应用状态推进与时序场景捕获方法,包括:

4、确定承载目标黑盒应用的视觉内容的渲染区域,并建立所述渲染区域的空间基准;

5、根据所述渲染区域的画面变化确定所述目标黑盒应用的可交互时机,将所述可交互时机对应的渲染区域画面作为初始可观测状态节点添加至历史有效状态节点集合;

6、基于所述空间基准生成与所述目标黑盒应用的引擎解耦的候选物理动作队列;

7、在处于所述可交互时机时,在所述渲染区域内依次执行所述候选物理动作队列中至少部分动作,并采集执行每个所述动作后的所述渲染区域的画面作为动作后反馈画面;

8、将所述动作后反馈画面与历史有效状态节点集合中的一个或多个历史有效状态节点的画面进行视觉内容差异比较,当一个所述动作后反馈画面与进行比较的所述历史有效状态节点的画面均不构成预设的相似关系时,将所述动作后反馈画面作为新的可观测状态节点并添加至所述历史有效状态节点集合;

9、当在预设的探索周期内未能通过执行所述候选物理动作队列中的动作生成新的可观测状态节点时,触发备用探索策略以生成补充物理输入动作,并将所述补充物理输入动作添加至所述候选物理动作队列以供后续执行;

10、当所述动作的执行满足停止条件后,基于所述历史有效状态节点集合中的所有可观测状态节点及其关联的动作,整理并输出结构化的时序场景证据链。

11、第二方面,本申请提供了一种计算机设备,包括:存储器、处理器以存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序以实现上述中任一项所述的黑盒应用状态推进与时序场景捕获方法的步骤。

12、第三方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述中任一项所述的黑盒应用状态推进与时序场景捕获方法的步骤。

13、第四方面,本申请提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述中任一项所述的黑盒应用状态推进与时序场景捕获方法的步骤。

14、根据本申请提供的具体实施例,本申请公开了以下技术效果:

15、1.降低了对应用源码、引擎接口和控件语义的依赖。本发明完全基于外部可观测的视觉信息和物理输入进行闭环控制,无需侵入应用内部,因此能够广泛适用于采用canvas、webgl、远程串流等技术的各类黑盒应用,解决了传统自动化方案的适用性难题。

16、2.提高了在未知黑盒应用中进入核心功能状态的成功率和效率。通过动态判断可交互时机、生成标准化的物理动作队列以及基于视觉差异判定新状态,本发明构建了一套通用的状态探索框架,避免了为每款应用编写定制化脚本的巨大成本,实现了对异构应用的自动化批量处理。

17、3.增强了在弱响应或卡死场景下的脱困能力。本发明通过监测新状态节点的生成情况来判断探索是否停滞,并在停滞时触发备用探索策略,如网格化点击等,从而有效应对假就绪、菜单阻塞、授权遮罩等疑难场景,显著提升了状态推进的鲁棒性。

18、4.提升了输出结果的证据质量和可用性。本发明输出的不是零散的截图,而是结构化的时序场景证据链,其中包含了状态截图序列、触发每个状态的精确动作以及宫格证据图等。这种形式的输出清晰地记录了状态的演进路径,为后续的人工复核、多模态模型分析、异常定位或检索建库提供了高质量、可信的输入数据。

1.一种黑盒应用状态推进与时序场景捕获方法,其特征在于,包括:

2.根据权利要求1所述的黑盒应用状态推进与时序场景捕获方法,其特征在于,所述备用探索策略包括:

3.根据权利要求1所述的黑盒应用状态推进与时序场景捕获方法,其特征在于,根据所述渲染区域的画面变化确定所述目标黑盒应用的可交互时机,具体包括:

4.根据权利要求1所述的黑盒应用状态推进与时序场景捕获方法,其特征在于,所述视觉内容差异比较是通过计算图像哈希距离、结构相似性ssim、平均绝对像素差mad或感知哈希中的至少一种来实现的;

5.根据权利要求1所述的黑盒应用状态推进与时序场景捕获方法,其特征在于,基于所述空间基准生成与所述目标黑盒应用的引擎解耦的候选物理动作队列,具体包括:

6.根据权利要求1所述的黑盒应用状态推进与时序场景捕获方法,其特征在于,所述时序场景证据链包括:所述历史有效状态节点集合中的多个可观测状态节点的截图按时间顺序拼接形成的宫格证据图。

7.根据权利要求1所述的黑盒应用状态推进与时序场景捕获方法,其特征在于,所述目标黑盒应用为运行在浏览器环境中的、使用html5 canvas或webgl进行渲染的应用,或为通过远程串流协议呈现画面的云应用。

8.根据权利要求1-7中任一项所述的黑盒应用状态推进与时序场景捕获方法,其特征在于,所述目标黑盒应用为黑盒游戏。

9.一种计算机设备,包括:存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-8中任一项所述的黑盒应用状态推进与时序场景捕获方法。

10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-8中任一项所述的黑盒应用状态推进与时序场景捕获方法。