CN114239538A - 断言处理方法、装置、计算机设备及存储介质 - Google Patents
断言处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114239538A CN114239538A CN202111555661.7A CN202111555661A CN114239538A CN 114239538 A CN114239538 A CN 114239538A CN 202111555661 A CN202111555661 A CN 202111555661A CN 114239538 A CN114239538 A CN 114239538A
- Authority
- CN
- China
- Prior art keywords
- target
- assertion
- field
- matching logic
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/366—Software debugging using diagnostics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
Abstract
本申请涉及人工智能技术,提供一种断言处理方法、装置、计算机设备与存储介质,包括:获取并解析用户输入的目标语句,得到所述目标语句对应的层级结构;确定所述目标语句中的若干目标字段对应的目标匹配逻辑;根据所述层级结构组合所述目标匹配逻辑,得到断言指令集;获取所述目标字段对应的响应数据以及所述目标字段对应的目标断言指令;检测所述响应数据是否满足所述目标断言指令;当检测结果为所述响应数据不满足所述目标断言指令时,输出告警提示。本申请能够提高断言处理效率,促进智慧城市的快速发展。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种断言处理方法、装置、计算机设备及存储介质。
背景技术
在编写代码时总是会做出一些假设,断言就是用于在代码中捕捉假设,即可将断言看做是异常处理的一种高级形式。断言表示为一些布尔表达式,用于对某些关键数据的判断,如果这一关键数据并非所预期的数据,程序就提出告警或退出。在接口测试中,在调用断言请求返回JSON形式的响应结果时,为了保证断言准确率,可能需要对多个字段进行断言处理。
在实现本申请的过程中,申请人发现现有技术存在如下技术问题:现有接口测试平台的断言处理方式大多分别对每个字段添加一条断言,若这些字段的响应结果需要从数据库获取来进行比对,类似的sql文本就需要进行多次维护,导致断言处理的成本高,效率低下。
因此,有必要提供一种断言处理方法,能够提高断言处理效率。
发明内容
鉴于以上内容,有必要提出一种断言处理方法、断言处理装置、计算机设备及介质,能够提高断言处理效率。
本申请实施例第一方面提供一种断言处理方法,所述断言处理方法包括:
获取并解析用户输入的目标语句,得到所述目标语句对应的层级结构;
确定所述目标语句中的若干目标字段对应的目标匹配逻辑;
根据所述层级结构组合所述目标匹配逻辑,得到断言指令集;
获取所述目标字段对应的响应数据以及所述目标字段对应的目标断言指令;
检测所述响应数据是否满足所述目标断言指令;
当检测结果为所述响应数据不满足所述目标断言指令时,输出告警提示。
进一步地,在本申请实施例提供的上述断言处理方法中,所述获取并解析用户输入的目标语句,得到所述目标语句对应的层级结构包括:
解析目标语句,并检测所述目标语句中是否包含预设层级关键词;
当检测结果为所述目标语句中包含所述预设层级关键词时,获取所述目标语句中所述预设层级关键词间的层级顺序;
根据所述层级顺序组合所述预设层级关键词,得到所述目标语句对应的层级结构。
进一步地,在本申请实施例提供的上述断言处理方法中,所述确定所述目标语句中的若干目标字段对应的目标匹配逻辑包括:
获取所述目标语句中的若干目标字段;
确定与所述目标字段的相似度超过预设相似度阈值的历史字段集;
获取所述历史字段集中每一历史字段对应的初始匹配逻辑,得到初始匹配逻辑集;
选取所述初始匹配逻辑集中出现频率最高的匹配逻辑作为目标匹配逻辑。
进一步地,在本申请实施例提供的上述断言处理方法中,所述根据所述层级结构组合所述目标匹配逻辑,得到断言指令集包括:
根据所述层级结构获取所述目标字段间的结构关系;
根据所述目标字段遍历预先设置的字段与匹配逻辑间的映射关系,得到所述目标字段对应的目标匹配逻辑;
根据所述结构关系组合所述目标匹配逻辑,得到断言指令集。
进一步地,在本申请实施例提供的上述断言处理方法中,所述获取所述目标字段对应的响应数据以及所述目标字段对应的目标断言指令包括:
获取预先设置的字段与响应数据的第一映射关系;
根据所述目标字段遍历所述第一映射关系,得到与所述目标字段对应的响应数据;
获取预先设置的字段与断言指令的第二映射关系;
根据所述目标字段遍历所述第二映射关系,得到与所述目标字段对应的目标断言指令。
进一步地,在本申请实施例提供的上述断言处理方法中,所述检测所述响应数据是否满足所述目标断言指令包括:
检测所述响应数据与所述目标断言指令是否相同;
当检测结果为所述响应数据与所述目标断言指令相同时,确定所述响应数据满足所述目标断言指令,返回断言成功结果。
进一步地,在本申请实施例提供的上述断言处理方法中,在所述选取所述初始匹配逻辑集中出现频率最高的匹配逻辑作为目标匹配逻辑之后,所述方法还包括:
输出所述目标字段对应的所述目标匹配逻辑至预设终端;
监测所述预设终端是否输出逻辑正确的提示;
当监测结果为所述预设终端输出所述逻辑正确的提示后,确定所述目标匹配逻辑正确。
本申请实施例第二方面还提供一种断言处理装置,所述断言处理装置包括:
层级获取模块,用于获取并解析用户输入的目标语句,得到所述目标语句对应的层级结构;
逻辑确定模块,用于确定所述目标语句中的若干目标字段对应的目标匹配逻辑;
断言组合模块,用于根据所述层级结构组合所述目标匹配逻辑,得到断言指令集;
断言获取模块,用于获取所述目标字段对应的响应数据以及所述目标字段对应的目标断言指令;
结果比对模块,用于检测所述响应数据是否满足所述目标断言指令;
告警输出模块,用于当检测结果为所述响应数据不满足所述目标断言指令时,输出告警提示。
本申请实施例第三方面还提供一种计算机设备,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任意一项所述断言处理方法。
本申请实施例第四方面还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述断言处理方法。
本申请实施例提供的上述断言处理方法、断言处理装置、计算机设备以及计算机可读存储介质,通过将目标语句中每个目标字段对应的目标匹配逻辑合并到一个断言指令集中进行处理,能够降低断言的维护成本,提高断言处理的效率;此外,本申请通过获取用户输入的目标语句对应的层级关系,并根据所述层级关系组合目标语句中若干字段对应的目标匹配逻辑,能够保证所述目标匹配逻辑的结构关系与响应数据的格式一致,能够快速地将响应数据与目标断言指令进行比对,从而提高断言处理的效率。本申请可应用于智慧政务、智慧交通等智慧城市的各个功能模块中,比如智慧政务的断言处理模块等,能够促进智慧城市的快速发展。
附图说明
为了更清楚地说明本申请的实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一提供的断言处理方法的流程图。
图2是本申请实施例二提供的断言处理装置的结构图。
图3是本申请实施例三提供的计算机设备的结构示意图。
如下具体实施方式将结合上述附图进一步说明本申请。
具体实施方式
为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和具体实施例对本申请进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本申请,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本发明实施例提供的断言处理方法由计算机设备执行,所述断言处理方法可应用于接口测试过程中,相应地,断言处理装置运行于计算机设备中。图1是本申请实施例一提供的断言处理方法的流程图。如图1所示,所述断言处理方法可以包括如下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略:
S11,获取并解析用户输入的目标语句,得到所述目标语句对应的层级结构。
在本申请的至少一实施例中,所述断言处理方法可应用于接口测试过程中,接口测试是指测试系统组件间接口的一种测试,接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点是否存在异常。测试的重点是要检查数据的交换,传递和控制管理过程。在一实施例中,所述目标语句可以为JSON形式的语句,所述目标语句中包含若干需要断言处理的字段,字段的数量可以为1条,也可以为多条,在此不作限制。所述目标语句可以是系统人员针对目标接口设置的代码语言,所述目标接口为需要测试的应用软件的某个接口,这个需要测试的应用软件可以安装在计算机设备中。所述目标语句按照预设的层级结构进行编写,通过对所述目标语句进行深度解析,能够得到所述目标语句对应的层级结构。所述层级结构是一种所述目标语句中各个字段的组织结构,用于隔离各个字段对应的层级功能。
可选地,所述获取并解析用户输入的目标语句,得到所述目标语句对应的层级结构包括:
解析目标语句,并检测所述目标语句中是否包含预设层级关键词;
当检测结果为所述目标语句中包含所述预设层级关键词时,获取所述目标语句中所述预设层级关键词间的层级顺序;
根据所述层级顺序组合所述预设层级关键词,得到所述目标语句对应的层级结构。
其中,所述预设层级关键词是指系统人员预先设置的用于表示层级关系的关键词,例如,所述预设层级关键词可以包括但不限data、userInfo、userName等关键词。所述预设层级关键词存储于预设数据库中,考虑到数据存储的可靠性与隐私性,所述预设数据库可以为区块链中的目标节点。所述层级顺序是指所述预设层级关键词在所述目标语句中出现的顺序,一般来说,层级较高的预设层级关键词出现在层级较低的预设层级关键词的前面。根据所述层级顺序提取所述预设层级关键词,能够得到所述目标语句对应的层级结构。
S12,确定所述目标语句中的若干目标字段对应的目标匹配逻辑。
在本申请的至少一实施例中,所述目标语句可以为JSON形式的语句,所述目标语句中包含若干需要断言处理的字段,字段的数量可以为1条,也可以为多条,在此不作限制。所述目标字段的字段值支持变量替换,所述字段值可以理解为所述目标字段的属性值。例如,对于所述目标字段“userName”:“张三”来说,“张三”可以为目标字段的字段值。在一实施例中,变量来源可以配置为:数据库返回值,请求数据,指定函数返回值等。所述目标字段是指需要进行断言处理的字段,针对每一所述目标字段,均存在与之对应的目标匹配逻辑。在一实施例中,所述目标匹配逻辑可以包括但不限于:包含,不包含,等于、不等于、正则匹配等。所述目标匹配逻辑可以为系统人员预先针对每一条字段预先设置的,也可以通过深度学习的方式预测的。所述目标匹配逻辑是字符串格式的文本,所述字符串格式可以为JSON字符串格式。
可选地,所述确定所述目标语句中的若干目标字段对应的目标匹配逻辑包括:
获取所述目标语句中的若干目标字段;
确定与所述目标字段的相似度超过预设相似度阈值的历史字段集;
获取所述历史字段集中每一历史字段对应的初始匹配逻辑,得到初始匹配逻辑集;
选取所述初始匹配逻辑集中出现频率最高的匹配逻辑作为目标匹配逻辑。
其中,所述历史字段集可以存储于预设数据库中,所述确定与所述目标字段的相似度超过预设相似度阈值的历史字段集也即确定与所述目标字段的向量的相似度超过预设相似度的历史字段集。所述历史字段集中的历史字段可以为一个,也可以为多个。每个所述历史字段均对应设置有匹配逻辑,选取所述初始匹配逻辑集中出现频率最高的匹配逻辑作为目标匹配逻辑,能够避免人工设置匹配逻辑的成本高、效率低下等问题。
在一实施例中,在所述选取所述初始匹配逻辑集中出现频率最高的匹配逻辑作为目标匹配逻辑之后,所述方法还包括:
输出所述目标字段对应的所述目标匹配逻辑至预设终端;
监测所述预设终端是否输出逻辑正确的提示;
当监测结果为所述预设终端输出所述逻辑正确的提示后,确定所述目标匹配逻辑正确。
其中,所述预设终端可以是用于监测所述目标匹配逻辑是否正确的终端。
S13,根据所述层级结构组合所述目标匹配逻辑,得到断言指令集。
在本申请的至少一实施例中,所述目标字段是指需要进行断言处理的字段,针对每一所述目标字段,均存在与之对应的目标匹配逻辑。所述目标语句可以为JSON形式的语句,所述目标语句中包含若干需要断言处理的字段,所述目标语句的目标字段间存在层级结构,也即所述目标匹配逻辑间存在层级结构,根据所述层级结构组合所述目标匹配逻辑,得到断言指令集。所述断言指令集中包含每个目标字段对应的断言指令。
可选地,所述根据所述层级结构组合所述目标匹配逻辑,得到断言指令集包括:
根据所述层级结构获取所述目标字段间的结构关系;
根据所述目标字段遍历预先设置的字段与匹配逻辑间的映射关系,得到所述目标字段对应的目标匹配逻辑;
根据所述结构关系组合所述目标匹配逻辑,得到断言指令集。
其中,组合所述目标字段间的结构关系可以得到所述层级结构,所述目标字段与所述目标匹配逻辑间存在映射关系,通过遍历所述映射关系,能够得到所述目标字段对应的目标匹配逻辑。本申请通过根据所述结构关系组合所述目标匹配逻辑能够实现所述目标匹配逻辑与所述目标字段间存在相同的结构关系,也即保证所述目标匹配逻辑的结构关系与与响应数据的格式一致,能够提高断言处理的效率。在一实施例中,所述目标字段均包含相应的字段值,将所述字段值与所述目标匹配逻辑结合,能够得到断言指令,多个断言指令组成断言指令集。例如,对于所述目标字段“userName”:“张三”来说,“张三”可以为目标字段的字段值,该目标字段对应的目标匹配逻辑为等于,将所述字段值与所述目标匹配逻辑结合得到的断言指令即为“userName”等于张三。所述目标匹配逻辑可以包括但不限于:包含,不包含,等于、不等于、正则匹配等。
S14,获取所述目标字段对应的响应数据以及所述目标字段对应的目标断言指令。
在本申请的至少一实施例中,所述响应数据是指从预设数据库中获取的与所述目标字段对应的数据,对于每一条所述目标字段,均存在对应的响应数据。在一实施例中,所述目标字段为JSON串,深度遍历用户输入的JSON串,针对用户JSON串中的每一个字段,获取对应响应数据JSON中的值。示例性地,用户输入的目标字段对应的参数为user_json,响应数据为res_json,则当前遍历的值为user_json[“data”][“userInfo”][“userName”],那么响应数据即为res_json[“data”][“userInfo”][“userName”],将上述两组数据进行比对。
在一实施例中,所述目标字段与所述响应数据间存在映射关系,通过查询所述映射关系,能够从所述预设数据库中得到与所述目标字段对应的响应数据。所述断言指令集中包含若干条断言指令,每一条断言指令与目标字段对应,在一实施例中,所述目标字段与所述断言指令间也存在关联关系,通过查询所述关联关系,能够得到与所述目标字段对应的目标断言指令。
可选地,所述获取所述目标字段对应的响应数据以及所述目标字段对应的目标断言指令包括:
获取预先设置的字段与响应数据的第一映射关系;
根据所述目标字段遍历所述第一映射关系,得到与所述目标字段对应的响应数据;
获取预先设置的字段与断言指令的第二映射关系;
根据所述目标字段遍历所述第二映射关系,得到与所述目标字段对应的目标断言指令。
S15,检测所述响应数据是否满足所述目标断言指令,当检测结果为所述响应数据不满足所述目标断言指令时,执行步骤S16。
在本申请的至少一实施例中,所述目标断言指令可以看做期望值,所述响应数据可以看做实际值,通过比对所述目标断言指令与所述响应数据,将实际值与期望值进行比对,当检测结果为实际值与期望值一致时,返回断言成功结果;当检测结果为实际值与期望值不一致时,返回断言失败结果。
可选地,所述检测所述响应数据是否满足所述目标断言指令包括:
检测所述响应数据与所述目标断言指令是否相同;
当检测结果为所述响应数据与所述目标断言指令相同时,确定所述响应数据满足所述目标断言指令,返回断言成功结果。
S16,输出告警提示。
在本申请的至少一实施例中,当检测结果为所述响应数据满足所述目标断言指令时,返回断言成功结果;当检测结果为所述响应数据不满足所述目标断言指令时,返回断言失败结果,并向预设系统人员输出告警提示,输出方式可以包括短信、邮件或电话的方式,在一实施例中,所述告警提示可以为“不符合目标断言指令,不通过”等,在此不作限制。
本申请实施例提供的上述断言处理方法,通过将目标语句中每个目标字段对应的目标匹配逻辑合并到一个断言指令集中进行处理,能够降低断言的维护成本,提高断言处理的效率;此外,本申请通过获取用户输入的目标语句对应的层级关系,并根据所述层级关系组合目标语句中若干字段对应的目标匹配逻辑,能够保证所述目标匹配逻辑的结构关系与响应数据的格式一致,能够快速地将响应数据与目标断言指令进行比对,从而提高断言处理的效率。本申请可应用于智慧政务、智慧交通等智慧城市的各个功能模块中,比如智慧政务的断言处理模块等,能够促进智慧城市的快速发展。
图2是本申请实施例二提供的断言处理装置的结构图。
在一些实施例中,所述断言处理装置20可以包括多个由计算机程序段所组成的功能模块。所述断言处理装置20中的各个程序段的计算机程序可以存储于计算机设备的存储器中,并由至少一个处理器所执行,以执行(详见图1描述)断言处理的功能。
本实施例中,所述断言处理装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:层级获取模块201、逻辑确定模块202、断言组合模块203、断言获取模块204、结果比对模块205以及告警输出模块206。本申请所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
所述层级获取模块201用于获取并解析用户输入的目标语句,得到所述目标语句对应的层级结构。
在本申请的至少一实施例中,所述断言处理方法可应用于接口测试过程中,接口测试是指测试系统组件间接口的一种测试,接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点是否存在异常。测试的重点是要检查数据的交换,传递和控制管理过程。在一实施例中,所述目标语句可以为JSON形式的语句,所述目标语句中包含若干需要断言处理的字段,字段的数量可以为1条,也可以为多条,在此不作限制。所述目标语句可以是系统人员针对目标接口设置的代码语言,所述目标接口为需要测试的应用软件的某个接口,这个需要测试的应用软件可以安装在计算机设备中。所述目标语句按照预设的层级结构进行编写,通过对所述目标语句进行深度解析,能够得到所述目标语句对应的层级结构。所述层级结构是一种所述目标语句中各个字段的组织结构,用于隔离各个字段对应的层级功能。
可选地,所述获取并解析用户输入的目标语句,得到所述目标语句对应的层级结构包括:
解析目标语句,并检测所述目标语句中是否包含预设层级关键词;
当检测结果为所述目标语句中包含所述预设层级关键词时,获取所述目标语句中所述预设层级关键词间的层级顺序;
根据所述层级顺序组合所述预设层级关键词,得到所述目标语句对应的层级结构。
其中,所述预设层级关键词是指系统人员预先设置的用于表示层级关系的关键词,例如,所述预设层级关键词可以包括但不限data、userInfo、userName等关键词。所述预设层级关键词存储于预设数据库中,考虑到数据存储的可靠性与隐私性,所述预设数据库可以为区块链中的目标节点。所述层级顺序是指所述预设层级关键词在所述目标语句中出现的顺序,一般来说,层级较高的预设层级关键词出现在层级较低的预设层级关键词的前面。根据所述层级顺序提取所述预设层级关键词,能够得到所述目标语句对应的层级结构。
所述逻辑确定模块202用于确定所述目标语句中的若干目标字段对应的目标匹配逻辑。
在本申请的至少一实施例中,所述目标语句可以为JSON形式的语句,所述目标语句中包含若干需要断言处理的字段,字段的数量可以为1条,也可以为多条,在此不作限制。所述目标字段的字段值支持变量替换,在一实施例中,变量来源可以配置为:数据库返回值,请求数据,指定函数返回值等。所述目标字段是指需要进行断言处理的字段,针对每一条所述目标字段,均存在与之对应的目标匹配逻辑。在一实施例中,所述目标匹配逻辑可以包括但不限于:包含,不包含,等于、不等于、正则匹配等。所述目标匹配逻辑可以为系统人员预先针对每一条字段预先设置的,也可以通过深度学习的方式预测的。所述目标匹配逻辑是字符串格式的文本,所述字符串格式可以为JSON字符串格式。
可选地,所述确定所述目标语句中的若干目标字段对应的目标匹配逻辑包括:
获取所述目标语句中的若干目标字段;
确定与所述目标字段的相似度超过预设相似度阈值的历史字段集;
获取所述历史字段集中每一历史字段对应的初始匹配逻辑,得到初始匹配逻辑集;
选取所述初始匹配逻辑集中出现频率最高的匹配逻辑作为目标匹配逻辑。
其中,所述历史字段集可以存储于预设数据库中,所述确定与所述目标字段的相似度超过预设相似度阈值的历史字段集也即确定与所述目标字段的向量的相似度超过预设相似度的历史字段集。所述历史字段集中的历史字段可以为一个,也可以为多个。每个所述历史字段均对应设置有匹配逻辑,选取所述初始匹配逻辑集中出现频率最高的匹配逻辑作为目标匹配逻辑,能够避免人工设置匹配逻辑的成本高、效率低下等问题。在一实施例中,在所述选取所述初始匹配逻辑集中出现频率最高的匹配逻辑作为目标匹配逻辑之后,所述方法还包括:输出所述目标字段对应的所述目标匹配逻辑至预设终端;监测所述预设终端是否输出逻辑正确的提示;当监测结果为所述预设终端输出所述逻辑正确的提示后,确定所述目标匹配逻辑正确。其中,所述预设终端可以是用于监测所述目标匹配逻辑是否正确的终端。
所述断言组合模块203用于根据所述层级结构组合所述目标匹配逻辑,得到断言指令集。
在本申请的至少一实施例中,所述目标字段是指需要进行断言处理的字段,针对每一条所述目标字段,均存在与之对应的目标匹配逻辑。所述目标语句可以为JSON形式的语句,所述目标语句中包含若干需要断言处理的字段,所述目标语句的目标字段间存在层级结构,也即所述目标匹配逻辑间存在层级结构,根据所述层级结构组合所述目标匹配逻辑,得到断言指令集。所述断言指令集中包含每个目标字段对应的断言指令。
可选地,所述根据所述层级结构组合所述目标匹配逻辑,得到断言指令集包括:
根据所述层级结构获取所述目标字段间的结构关系;
根据所述目标字段遍历预先设置的字段与匹配逻辑间的映射关系,得到所述目标字段对应的目标匹配逻辑;
根据所述结构关系组合所述目标匹配逻辑,得到断言指令集。
其中,组合所述目标字段间的结构关系可以得到所述层级结构,所述目标字段与所述目标匹配逻辑间存在映射关系,通过遍历所述映射关系,能够得到所述目标字段对应的目标匹配逻辑。本申请通过根据所述结构关系组合所述目标匹配逻辑能够实现所述目标匹配逻辑与所述目标字段间存在相同的结构关系,也即保证所述目标匹配逻辑的结构关系与与响应数据的格式一致,能够提高断言处理的效率。
所述断言获取模块204用于获取所述目标字段对应的响应数据以及所述目标字段对应的目标断言指令。
在本申请的至少一实施例中,所述响应数据是指从预设数据库中获取的与所述目标字段对应的数据,对于每一条所述目标字段,均存在对应的响应数据。在一实施例中,所述目标字段为JSON串,深度遍历用户输入的JSON串,针对用户JSON串中的每一个字段,获取对应响应数据JSON中的值。示例性地,用户输入的目标字段对应的参数为user_json,响应数据为res_json,则当前遍历的值为user_json[“data”][“userInfo”][“userName”],那么响应数据即为res_json[“data”][“userInfo”][“userName”],将上述两组数据进行比对。
在一实施例中,所述目标字段与所述响应数据间存在映射关系,通过查询所述映射关系,能够从所述预设数据库中得到与所述目标字段对应的响应数据。所述断言指令集中包含若干条断言指令,每一条断言指令与目标字段对应,在一实施例中,所述目标字段与所述断言指令间也存在关联关系,通过查询所述关联关系,能够得到与所述目标字段对应的目标断言指令。
可选地,所述获取所述目标字段对应的响应数据以及所述目标字段对应的目标断言指令包括:
获取预先设置的字段与响应数据的第一映射关系;
根据所述目标字段遍历所述第一映射关系,得到与所述目标字段对应的响应数据;
获取预先设置的字段与断言指令的第二映射关系;
根据所述目标字段遍历所述第二映射关系,得到与所述目标字段对应的目标断言指令。
所述结果比对模块205用于检测所述响应数据是否满足所述目标断言指令。
在本申请的至少一实施例中,所述目标断言指令可以看做期望值,所述响应数据可以看做实际值,通过比对所述目标断言指令与所述响应数据,将实际值与期望值进行比对,当检测结果为实际值与期望值一致时,返回断言成功结果;当检测结果为实际值与期望值不一致时,返回断言失败结果。
可选地,所述检测所述响应数据是否满足所述目标断言指令包括:
检测所述响应数据与所述目标断言指令是否相同;
当检测结果为所述响应数据与所述目标断言指令相同时,确定所述响应数据满足所述目标断言指令,返回断言成功结果。
所述告警输出模块206用于当检测结果为所述比对结果不满足所述目标断言指令时,输出告警提示。
在本申请的至少一实施例中,当检测结果为所述响应数据满足所述目标断言指令时,返回断言成功结果;当检测结果为所述响应数据不满足所述目标断言指令时,返回断言失败结果,并向预设系统人员输出告警提示,输出方式可以包括短信、邮件或电话的方式,在一实施例中,所述告警提示可以为“不符合目标断言指令,不通过”等,在此不作限制。
参阅图3所示,为本申请实施例三提供的计算机设备的结构示意图。在本申请较佳实施例中,所述计算机设备3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。
本领域技术人员应该了解,图3示出的计算机设备的结构并不构成本申请实施例的限定,既可以是总线型结构,也可以是星形结构,所述计算机设备3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
在一些实施例中,所述计算机设备3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述计算机设备3还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
需要说明的是,所述计算机设备3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本申请,也应包含在本申请的保护范围以内,并以引用方式包含于此。
在一些实施例中,所述存储器31中存储有计算机程序,所述计算机程序被所述至少一个处理器32执行时实现如所述的断言处理方法中的全部或者部分步骤。所述存储器31包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
在一些实施例中,所述至少一个处理器32是所述计算机设备3的控制核心(Control Unit),利用各种接口和线路连接整个计算机设备3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行计算机设备3的各种功能和处理数据。例如,所述至少一个处理器32执行所述存储器中存储的计算机程序时实现本申请实施例中所述的断言处理方法的全部或者部分步骤;或者实现断言处理装置的全部或者部分功能。所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。
在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。
尽管未示出,所述计算机设备3还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述计算机设备3还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,计算机设备,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。说明书中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。
Claims (10)
1.一种断言处理方法,其特征在于,所述断言处理方法包括:
获取并解析用户输入的目标语句,得到所述目标语句对应的层级结构;
确定所述目标语句中的若干目标字段对应的目标匹配逻辑;
根据所述层级结构组合所述目标匹配逻辑,得到断言指令集;
获取所述目标字段对应的响应数据以及所述目标字段对应的目标断言指令;
检测所述响应数据是否满足所述目标断言指令;
当检测结果为所述响应数据不满足所述目标断言指令时,输出告警提示。
2.根据权利要求1所述的断言处理方法,其特征在于,所述获取并解析用户输入的目标语句,得到所述目标语句对应的层级结构包括:
解析目标语句,并检测所述目标语句中是否包含预设层级关键词;
当检测结果为所述目标语句中包含所述预设层级关键词时,获取所述目标语句中所述预设层级关键词间的层级顺序;
根据所述层级顺序组合所述预设层级关键词,得到所述目标语句对应的层级结构。
3.根据权利要求1所述的断言处理方法,其特征在于,所述确定所述目标语句中的若干目标字段对应的目标匹配逻辑包括:
获取所述目标语句中的若干目标字段;
确定与所述目标字段的相似度超过预设相似度阈值的历史字段集;
获取所述历史字段集中每一历史字段对应的初始匹配逻辑,得到初始匹配逻辑集;
选取所述初始匹配逻辑集中出现频率最高的匹配逻辑作为目标匹配逻辑。
4.根据权利要求1所述的断言处理方法,其特征在于,所述根据所述层级结构组合所述目标匹配逻辑,得到断言指令集包括:
根据所述层级结构获取所述目标字段间的结构关系;
根据所述目标字段遍历预先设置的字段与匹配逻辑间的映射关系,得到所述目标字段对应的目标匹配逻辑;
根据所述结构关系组合所述目标匹配逻辑,得到断言指令集。
5.根据权利要求1所述的断言处理方法,其特征在于,所述获取所述目标字段对应的响应数据以及所述目标字段对应的目标断言指令包括:
获取预先设置的字段与响应数据的第一映射关系;
根据所述目标字段遍历所述第一映射关系,得到与所述目标字段对应的响应数据;
获取预先设置的字段与断言指令的第二映射关系;
根据所述目标字段遍历所述第二映射关系,得到与所述目标字段对应的目标断言指令。
6.根据权利要求1所述的断言处理方法,其特征在于,所述检测所述响应数据是否满足所述目标断言指令包括:
检测所述响应数据与所述目标断言指令是否相同;
当检测结果为所述响应数据与所述目标断言指令相同时,确定所述响应数据满足所述目标断言指令,返回断言成功结果。
7.根据权利要求3所述的断言处理方法,其特征在于,在所述选取所述初始匹配逻辑集中出现频率最高的匹配逻辑作为目标匹配逻辑之后,所述方法还包括:
输出所述目标字段对应的所述目标匹配逻辑至预设终端;
监测所述预设终端是否输出逻辑正确的提示;
当监测结果为所述预设终端输出所述逻辑正确的提示后,确定所述目标匹配逻辑正确。
8.一种断言处理装置,其特征在于,所述断言处理装置包括:
层级获取模块,用于获取并解析用户输入的目标语句,得到所述目标语句对应的层级结构;
逻辑确定模块,用于确定所述目标语句中的若干目标字段对应的目标匹配逻辑;
断言组合模块,用于根据所述层级结构组合所述目标匹配逻辑,得到断言指令集;
断言获取模块,用于获取所述目标字段对应的响应数据以及所述目标字段对应的目标断言指令;
结果比对模块,用于检测所述响应数据是否满足所述目标断言指令;
告警输出模块,用于当检测结果为所述响应数据不满足所述目标断言指令时,输出告警提示。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述断言处理方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述断言处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111555661.7A CN114239538A (zh) | 2021-12-17 | 2021-12-17 | 断言处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111555661.7A CN114239538A (zh) | 2021-12-17 | 2021-12-17 | 断言处理方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114239538A true CN114239538A (zh) | 2022-03-25 |
Family
ID=80758368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111555661.7A Pending CN114239538A (zh) | 2021-12-17 | 2021-12-17 | 断言处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114239538A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115629999A (zh) * | 2022-12-22 | 2023-01-20 | 云账户技术(天津)有限公司 | 一种断言检测方法及装置 |
-
2021
- 2021-12-17 CN CN202111555661.7A patent/CN114239538A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115629999A (zh) * | 2022-12-22 | 2023-01-20 | 云账户技术(天津)有限公司 | 一种断言检测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112698971A (zh) | 基于规则引擎的参数转换方法、装置、设备及介质 | |
CN111754123B (zh) | 数据监控方法、装置、计算机设备及存储介质 | |
CN113918361A (zh) | 基于物联网规则引擎的终端控制方法、装置、设备及介质 | |
CN111949708A (zh) | 基于时序特征提取的多任务预测方法、装置、设备及介质 | |
CN113592019A (zh) | 基于多模型融合的故障检测方法、装置、设备及介质 | |
CN114663223A (zh) | 基于人工智能的信用风险评估方法、装置及相关设备 | |
CN112948275A (zh) | 测试数据生成方法、装置、设备及存储介质 | |
CN113806434A (zh) | 大数据处理方法、装置、设备及介质 | |
CN113435582A (zh) | 基于句向量预训练模型的文本处理方法及相关设备 | |
WO2023040145A1 (zh) | 基于人工智能的文本分类方法、装置、电子设备及介质 | |
CN114201212A (zh) | 配置文件处理方法、装置、计算机设备及存储介质 | |
CN114239538A (zh) | 断言处理方法、装置、计算机设备及存储介质 | |
CN112598135A (zh) | 模型训练处理方法、装置、计算机设备及介质 | |
CN111950707A (zh) | 基于行为共现网络的行为预测方法、装置、设备及介质 | |
CN111651452A (zh) | 数据存储方法、装置、计算机设备及存储介质 | |
CN116108276A (zh) | 基于人工智能的信息推荐方法、装置及相关设备 | |
CN116226315A (zh) | 基于人工智能的敏感信息检测方法、装置及相关设备 | |
CN115061895A (zh) | 业务流程编排方法、装置、电子设备及存储介质 | |
CN114398345A (zh) | 数据迁移方法、装置、计算机设备及存储介质 | |
CN114881313A (zh) | 基于人工智能的行为预测方法、装置及相关设备 | |
CN111859985B (zh) | Ai客服模型测试方法、装置、电子设备及存储介质 | |
CN115146078A (zh) | 指标数据处理方法、装置、计算机设备及存储介质 | |
CN115037481B (zh) | 基于人工智能的电子签名方法、装置、电子设备及介质 | |
CN114637564B (zh) | 数据可视化方法、装置、电子设备及存储介质 | |
CN113722590B (zh) | 基于人工智能的医学信息推荐方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |