操作证据包驱动的脚本验收方法、系统、设备及存储介质与流程
本发明涉及脚本验收,具体地说,涉及操作证据包驱动的脚本验收方法、系统、设备及存储介质。
背景技术:
1、随着企业级应用系统的日益复杂和业务场景的不断多样化,软件自动化测试与业务流程自动化领域面临着越来越严峻的技术挑战。传统的自动化脚本编写方式主要依赖人工编码,测试人员或开发人员需要手动编写大量代码来模拟用户操作,这种方式不仅效率低下,而且脚本的可维护性差,当应用界面发生变化时,脚本往往需要全面重写。近年来,业界出现了一系列旨在简化自动化脚本生成的技术方案,主要包括录制即代码方案、运行时人工智能操控方案以及内置编译智能体的自动化工作流生成方案等。
2、现有技术中,与本发明最接近的技术方案包括:playwright codegen等录制即代码方案,该方案通过录制用户在浏览器中的操作直接生成可执行的测试代码;browseruse、codex record and replay等运行时人工智能操控方案,该类方案在脚本执行过程中调用大语言模型对页面进行实时理解和操作决策;imprint等内置编译智能体自动生成工作流配置文件的方案,该类方案在录制完成后由系统内置的智能体自动将录制内容转换为结构化工作流;workflow use、browserlet等录制完成自动转换为工作流的方案。
3、然而,上述现有技术方案在实际应用中存在诸多问题和缺点,严重制约了自动化脚本编译验收技术的进一步发展。
4、第一,现有技术普遍缺少证据包、外部智能体编写、平台标准化验收算子三者分离的三态分离架构。多数方案采用录制即代码生成(codegen)的模式,录制完成即刻生成可执行脚本,缺少独立的证据包作为中间产物,导致录制的原始操作信息与最终生成的脚本之间缺乏可追溯的映射关系。另有部分方案采用运行时大语言模型解读的模式,即在脚本执行过程中实时调用大语言模型对当前页面进行理解和操作决策,这种模式虽然具有一定灵活性,但执行成本高、稳定性差,且难以保证执行结果的可重复性。现有技术未能将录制态的证据采集、编译态的智能编写与验收、运行态的确定性执行进行有效分离和独立优化。
5、第二,现有技术缺少与生产运行共用步骤宿主的渐进式单步真实执行验收机制。多数自动化测试方案在编译验收阶段采用模拟执行或轻量级校验的方式,而非在真实环境中逐步执行验证。这种验收方式容易出现测试通过但全量运行时失败的情况,即所谓的"测试通过但生产失败"问题。其原因在于编译验收的执行环境、执行逻辑与生产运行环境存在差异,导致在验收阶段无法发现某些仅在真实执行环境中才会暴露的问题。
6、第三,在应用程序编程接口流量录制场景下,现有技术缺少编写脚本前的时间线对齐、超文本传输协议重放验证及用户确认门禁机制。当录制的是网络请求流量而非图形用户界面操作时,智能体往往仅凭接口路径和请求参数来臆测业务意图,缺乏对请求时序、数据依赖关系及响应结果的验证,导致生成的脚本与真实业务场景存在偏差。此外,缺少用户确认环节使得智能体可能在未充分理解业务语义的情况下盲目生成脚本。
7、第四,现有技术难以在同一可维护脚本中混合编排浏览器操作、超文本传输协议请求、协作平台调用、大语言模型调用及视频处理等多种异构能力,并且难以保证浏览器相关步骤在运行态不消耗大语言模型令牌(token)。在实际业务场景中,一个完整的业务流程往往需要跨越多种技术平台和能力域,而现有技术方案通常只能专注于单一类型的操作编排,缺乏对异构能力混合编排的有效支持。
8、因此,本领域迫切需要一种全新的操作证据包驱动的脚本验收技术方案,能够将录制态、编译态、运行态进行清晰分离,通过外部智能体编写可维护脚本、平台标准化验收算子驱动迭代修改、运行态确定性执行的技术架构,从根本上解决上述现有技术存在的诸多缺陷。
9、有鉴于此,本发明提供了一种操作证据包驱动的脚本验收方法、系统、设备及存储介质。
技术实现思路
1、针对现有技术中的问题,本发明的目的在于提供操作证据包驱动的脚本验收方法、系统、设备及存储介质,克服了现有技术的困难,能够通过录制态、编译态、运行态三态分离架构,实现人录证据、外部人工智能编写可维护脚本、平台验收算子闭环验证的一体化方案,显著提升混合业务编排场景下的脚本编译验收效率与可靠性。
2、本发明的实施例提供一种操作证据包驱动的脚本验收方法,其特征在于,包括以下步骤:
3、s110、录制态步骤:采集用户在目标应用上的真实操作,按时间顺序存储为时间线事件序列,停止录制后生成结构化操作证据包,所述证据包至少包含操作类型、操作对象、操作时间戳及上下文信息;
4、s120、编译态脚本生成步骤:外部编码智能体读取所述结构化操作证据包,依据证据包中的时间线事件序列编写步骤编排脚本,所述步骤编排脚本包含按序排列的多个执行步骤及各步骤的依赖声明;
5、s130、编译态第一验收步骤:平台对所述步骤编排脚本进行抽象语法树解析,执行静态一致性检查,将所述时间线事件序列与已编写的步骤编排脚本进行对照校验,并输出结构化验收结果;
6、s140、编译态第二验收步骤:平台维护当前执行步骤索引,对所述步骤编排脚本中的各步骤进行渐进式单步真实执行,执行过程中与运行态共用步骤宿主编排逻辑,浏览器资源按预设模式注入页面上下文;
7、s150、编译态迭代修改步骤:若所述第一验收步骤或所述第二验收步骤的验收结果为未通过,则所述外部编码智能体根据验收结果修改所述步骤编排脚本,并重复执行所述第一验收步骤和所述第二验收步骤,直至验收通过;
8、s160、运行态执行步骤:步骤宿主按照所述步骤编排脚本的顺序依次执行各步骤,对于声明了浏览器依赖的步骤,使用浏览器自动化引擎进行确定性执行,运行态全程不调用大语言模型;对于未声明浏览器依赖的步骤,调用相应的应用程序编程接口完成执行。
9、优选地,所述步骤s110包括:
10、s111、启动录制进程,监听用户在目标应用上的图形用户界面操作和/或网络请求,所述图形用户界面操作至少包括点击、输入、导航、滚动,所述网络请求至少包括超文本传输协议请求及响应;
11、s112、将采集到的每一操作事件按发生时间顺序写入时间线事件序列,每一事件至少记录事件类型、事件发生时间、事件目标标识、事件负载数据;
12、s113、在应用程序编程接口模式下,额外采集网络请求写入时间线事件序列,支持意图标识记录及认证凭证导出;
13、s114、停止录制后,将所述时间线事件序列序列化为结构化操作证据包并持久化存储,平台不提供停录即生成可执行脚本的代码生成功能。
14、优选地,所述步骤s120包括:
15、s121、外部编码智能体通过应用程序编程接口或文件系统读取所述结构化操作证据包,解析时间线事件序列中各事件的操作类型、操作对象及操作时序;
16、s122、外部编码智能体根据解析得到的事件序列,生成包含多个执行步骤的步骤编排脚本,每一执行步骤包含步骤标识、步骤类型、步骤参数及步骤间的依赖关系声明;
17、s123、所述步骤编排脚本采用结构化格式编写,以支持浏览器操作步骤、超文本传输协议请求步骤、协作平台调用步骤、大语言模型调用步骤及视频处理步骤的混合编排;
18、s124、外部编码智能体为集成开发环境内嵌的编码代理,通过命令行接口与平台进行交互,输出结构化格式的验收结果供智能体解析。
19、优选地,所述步骤s130包括:
20、s131、平台接收所述步骤编排脚本后,调用抽象语法树解析器对脚本进行解析,提取脚本中各步骤的步骤类型、步骤参数及依赖声明,构建步骤依赖图;
21、s132、执行静态一致性检查,所述静态一致性检查至少包括:检查各步骤引用的操作对象或依赖数据是否在证据包中存在、检查步骤间的依赖关系是否存在循环依赖、检查步骤参数的格式和取值范围是否合法;
22、s133、将所述时间线事件序列与已编写的步骤编排脚本进行对照校验,生成包含证据包原始事件与脚本步骤的对照视图,标识出已覆盖的事件和未覆盖的事件;
23、s134、输出结构化验收结果,所述结构化验收结果至少包含静态一致性检查是否通过、对照校验的差异列表及建议修改内容。
24、优选地,所述步骤s140包括:
25、s141、平台维护当前待执行步骤的索引指针,从所述步骤编排脚本的起始步骤开始,按顺序逐步骤推进;
26、s142、对于当前步骤,判断该步骤是否声明了浏览器依赖,若声明了浏览器依赖则通过步骤宿主获取浏览器页面上下文并注入执行环境,若未声明浏览器依赖则直接在当前执行环境中执行;
27、s143、步骤宿主执行当前步骤,记录执行日志及执行结果,所述执行结果至少包含成功或失败状态、返回数据及错误信息;
28、s144、执行完毕后更新所述索引指针指向下一步骤,并输出当前步骤的执行结果供外部编码智能体查阅;
29、s145、所述步骤宿主为生产运行环境与编译验收环境共用的执行引擎,确保编译态单步执行与运行态全量执行的执行逻辑一致。
30、优选地,所述步骤s150包括:
31、s151、外部编码智能体接收所述第一验收步骤和所述第二验收步骤输出的结构化验收结果,解析其中包含的静态一致性检查未通过项和/或单步执行失败项;
32、s152、外部编码智能体根据解析得到的未通过项定位所述步骤编排脚本中对应的步骤及步骤参数,并按照以下优先级进行修改:首先根据验收结果中的差异列表,优先对未覆盖事件对应的缺失步骤进行补充插入,再对静态一致性检查报错步骤进行修正,最后对单步执行失败步骤进行参数调整或上下文补全;
33、s153、外部编码智能体对修改后的步骤编排脚本执行局部静态校验,确认修改后的脚本语法正确且依赖关系无环;
34、s154、外部编码智能体将修改后的步骤编排脚本重新提交至平台,由平台再次执行所述第一验收步骤和所述第二验收步骤,且每次修改后,仅对修改涉及的步骤及其依赖步骤重新执行所述第一验收步骤和所述第二验收步骤,其余已验收通过的步骤复用前次验收结果;
35、s155、外部编码智能体记录每一轮迭代修改的轮次及对应的验收结果,若迭代轮次达到预设最大阈值仍未通过验收,则终止迭代并输出告警信息;
36、s156、所述外部编码智能体为大语言模型驱动的编码代理,将所述结构化验收结果与所述步骤编排脚本拼接为提示词,调用大语言模型生成修改后的步骤编排脚本;
37、s157、所述外部编码智能体维护当前步骤编排脚本的多个历史版本,若本次修改后验收结果较上一轮未改善或恶化,则回滚至上一轮脚本版本,并采用替代修改策略重新生成修改脚本;
38、s158、所述第一验收步骤和所述第二验收步骤在迭代修改过程中共享同一执行上下文,所述执行上下文至少包含浏览器会话状态、认证凭证及环境变量,迭代过程中保持上下文连续性;
39、s159、若所述第一验收步骤的静态一致性检查未通过,则外部编码智能体优先修正脚本结构和资源引用问题后再次提交验收,在静态一致性检查通过后,再对所述第二验收步骤的单步执行验收结果进行处理。
40、优选地,所述步骤s160中,运行态执行时:
41、s161、步骤宿主加载验收通过的步骤编排脚本,从起始步骤开始按顺序依次执行;
42、s162、对于声明了浏览器依赖的步骤,步骤宿主调用浏览器自动化引擎启动浏览器实例,导航至目标页面,按照步骤参数执行确定性操作,所述确定性操作至少包括点击、输入、等待、断言,执行过程中不调用大语言模型进行页面理解和操作决策;
43、s163、对于未声明浏览器依赖的步骤,步骤宿主根据步骤类型调用相应的应用程序编程接口执行,所述应用程序编程接口至少包括超文本传输协议请求接口、协作平台应用程序编程接口、大语言模型应用程序编程接口及视频处理接口;
44、s164、所有步骤执行完毕后,步骤宿主生成包含每一步骤执行状态、执行耗时及返回数据的完整执行报告。
45、本发明的实施例还提供一种操作证据包驱动的脚本验收系统,用于实现上述的操作证据包驱动的脚本验收方法,所述操作证据包驱动的脚本验收系统包括:
46、操作录制模块,用于采集用户在目标应用上的真实操作,按时间顺序存储为时间线事件序列,停止录制后生成结构化操作证据包,所述证据包至少包含操作类型、操作对象、操作时间戳及上下文信息;
47、编译脚本模块,用于供外部编码智能体读取所述结构化操作证据包,依据证据包中的时间线事件序列编写步骤编排脚本,所述步骤编排脚本包含按序排列的多个执行步骤及各步骤的依赖声明;
48、第一验收模块,用于对所述步骤编排脚本进行抽象语法树解析,执行静态一致性检查,将所述时间线事件序列与已编写的步骤编排脚本进行对照校验,并输出结构化验收结果;
49、第二验收模块,用于维护当前执行步骤索引,对所述步骤编排脚本中的各步骤进行渐进式单步真实执行,执行过程中与运行态共用步骤宿主编排逻辑,浏览器资源按预设模式注入页面上下文;
50、迭代修改模块,用于若所述第一验收步骤或所述第二验收步骤的验收结果为未通过,则所述外部编码智能体根据验收结果修改所述步骤编排脚本,并重复执行所述第一验收步骤和所述第二验收步骤,直至验收通过;
51、运行执行模块,用于由步骤宿主按照所述步骤编排脚本的顺序依次执行各步骤,对于声明了浏览器依赖的步骤,使用浏览器自动化引擎进行确定性执行,运行态全程不调用大语言模型;对于未声明浏览器依赖的步骤,调用相应的应用程序编程接口完成执行。
52、本发明的实施例还提供一种操作证据包驱动的脚本验收设备,包括:
53、处理器;
54、存储器,其中存储有所述处理器的可执行指令;
55、其中,所述处理器配置为经由执行所述可执行指令来执行上述操作证据包驱动的脚本验收方法的步骤。
56、本发明的实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现上述操作证据包驱动的脚本验收方法的步骤。
57、本发明的目的在于提供操作证据包驱动的脚本验收方法、系统、设备及存储介质,能够通过录制态、编译态、运行态三态分离架构,实现人录证据、外部人工智能编写可维护脚本、平台验收算子闭环验证的一体化方案,显著提升混合业务编排场景下的脚本编译验收效率与可靠性。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com