CN110275831A - 协议接口的mock数据校验方法和装置 - Google Patents
协议接口的mock数据校验方法和装置 Download PDFInfo
- Publication number
- CN110275831A CN110275831A CN201910528136.2A CN201910528136A CN110275831A CN 110275831 A CN110275831 A CN 110275831A CN 201910528136 A CN201910528136 A CN 201910528136A CN 110275831 A CN110275831 A CN 110275831A
- Authority
- CN
- China
- Prior art keywords
- data
- interface
- mock
- protocol
- mock data
- 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.)
- Granted
Links
Classifications
-
- 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/3604—Software analysis for verifying properties of programs
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
-
- 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种协议接口的mock数据校验方法、装置、计算机设备和存储介质,该校验方法通过获取协议接口的接口数据中的出参,生成可编辑界面,将通过在可编辑界面上输入的mock数据封装为虚拟数据,根据出参的数据类型对虚拟数据进行数据校验,若数据类型一致,则判定输入的mock数据校验通过,解决了现有技术中进行mock测试时,输入的mock数据与实际需要的mock数据类型不匹配,降低测试效率和准确性的技术问题。本技术方案通过配置的接口化文档自动获取mock测试的数据类型,并对输入的mock数据进行数据校验,提高的测试效率和测试的准确性。
Description
技术领域
本发明涉及软件测试技术领域,特别是涉及一种协议接口的mock数据校验方法、装置、计算机设备和存储介质。
背景技术
在软件开发过程中,开发人员需要对开发的功能进行测试,通过构造各种数据输入,来验证相应的功能是否正常进行。由于软件开发的复杂性,常常需要调用一些复杂的服务和接口,而这些接口可能配置麻烦,数据不易构造,故需要模拟构造(mock)来进行测试。
mock测试方法是在软件测试中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。
发明人在进行实践中发现,在软件测试中使用mock方式进行测试,一些系统框架无法实现自动化加载和校验某些测试数据,如接口对应的mock数据的数据类型等,从而导致输入的mock数据与实际需要的mock数据类型不匹配,影响测试效率和准确性。
发明内容
本发明的目的旨在至少解决上述技术缺陷之一,特别是输入的mock数据与实际需要的mock数据类型不匹配,降低测试效率和准确性的问题,提供一种协议接口的mock数据校验方法、装置、计算机设备和存储介质。
第一方面,本发明实施例提供一种协议接口的mock数据校验方法,包括:
接收客户端发送的mock数据的校验指令,响应所述校验指令获取协议接口的结构化的接口数据;
从所述接口数据中提取所述协议接口的出参,并根据所述出参的属性生成可编辑界面;
接收用户在所述可编辑界面上输入的mock数据,并将所述mock数据封装为虚拟数据;
根据所述出参的数据类型对所述虚拟数据进行数据校验,若所述数据类型一致,判定所述输入的mock数据校验通过。
在其中一个实施例中,所述从所述接口数据中提取所述协议接口的出参的步骤,包括:
根据接口标识从所述接口数据中获取所述协议接口的接口信息;
从所述接口信息中提取所述协议接口的出参。
在其中一个实施例中,协议接口的mock数据校验方法还包括:
获取所述协议接口对应的MockUri信息,并根据所述MockUri信息计算出所述接口标识。
在其中一个实施例中,所述根据所述出参的属性生成可编辑界面的步骤,包括:
获取所述出参中对属性的描述信息;
将所述描述信息转换为JsonSchema数据格式;
根据所述JsonSchema数据格式的描述信息生成所述可编辑界面。
在其中一个实施例中,所述将所述mock数据封装为虚拟数据的步骤,包括:
获取所述协议接口对应的接口协议以及所述出参的结构化数据;
依据所述接口协议确定mock数据的构造协议,根据所述构造协议将mock数据转换成与所述出参的数据结构一致的虚拟数据。
在其中一个实施例中,在所述判定所述输入的mock数据校验通过的步骤之后,还包括:
获取所述mock数据的参数标识;
根据所述参数标识将所述mock数据保存为私有mock数据或公有mock数据。
在其中一个实施例中,协议接口的mock数据校验方法还包括:
获取项目源代码,并将所述项目源代码转换为源码树;
对所述源码树的各个节点进行解析,获取项目源代码各个功能模块包含的协议接口及其接口信息;
根据所述接口信息生成结构化的所述接口数据。
在其中一个实施例中,在根据所述出参的属性生成可编辑界面之后,还包括:
将所述可编辑界面生成HTML格式的网页页面,将所述网页页面返回至所述客户端。
第二方面,本发明实施例提供一种协议接口的mock数据校验装置,包括:
校验指令接收模块,用于接收客户端发送的mock数据的校验指令,响应所述校验指令获取协议接口的结构化的接口数据;
可编辑界面生成模块,用于从所述接口数据中提取所述协议接口的出参,并根据所述出参的属性生成可编辑界面;
虚拟数据封装模块,用于接收用户在所述可编辑界面上输入的mock数据,将所述mock数据封装为虚拟数据;
mock数据校验模块,用于根据所述出参的数据类型对所述虚拟数据进行数据校验,若数据类型一致,判定所述输入的mock数据校验通过。
第三方面,本发明实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面项所述的协议接口的mock数据校验方法。
第四方面,本发明实施例提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的协议接口的mock数据校验方法。
上述实施例的技术方案提供了一种协议接口的mock数据校验方法、装置、计算机设备和存储介质,通过获取协议接口的接口数据中的出参,生成可编辑界面,将通过在可编辑界面上输入的mock数据封装为虚拟数据,根据出参的数据类型对虚拟数据进行数据校验,若数据类型一致,则判定输入的mock数据校验通过,解决了现有技术中进行mock测试时,需要手动输入mock测试的数据类型,测试效率低的技术问题。本技术方案通过自动生成的结构化的接口数据获取mock数据的数据类型,并对输入的mock数据进行数据校验,提高的测试效率和测试的准确性。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是一实施例提供的协议接口的mock数据校验方法的流程图;
图2是一实施例步骤S120的详细流程图;
图3是一实施例提供的可编辑界面示意图;
图4是一实施例步骤S130的详细流程图;
图5是一实施例中接口数据生成方法的流程图;
图6是一实施例提供的协议接口的mock数据测试方法的工作流程图;
图7是一实施例提供的协议接口的mock数据校验装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
图1是一实施例提供的协议接口的mock数据校验方法的流程图。本实施例提供的协议接口的mock数据校验方法由服务端的计算机设备来执行,其中该计算机设备可由软件和/或硬件来实现。
本技术领域技术人员可以理解,这里计算机设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。本发明的实施例中,以服务器作为计算机设备进行说明,服务器与客户端之间实现通讯,如基于3GPP、LTE、WIMAX的移动通讯、基于TCP/IP、UDP协议的计算机网络通讯。
进一步的,服务器与至少一个客户端发生数据交互时,向服务器输入项目源代码以使服务器对项目源代码进行数据处理,一般而言,客户端可以有一个或者多个,实施例不做限定。
可选的,服务器安装有Javaparser解析器,Javaparser解析器可以预先安装在服务器中,也可以是在服务器启动mock数据校验时,从第三方设备或另一服务器进行下载并安装使用。
如图1所示,该协议接口的mock数据校验方法包括如下步骤:
S110、接收客户端发送的mock数据的校验指令,响应所述校验指令获取协议接口的结构化的接口数据。
其中,本实施例的实施方案可以部署在服务器上,用户可以通过web网页或者专用客户端向服务器发送mock数据的校验指令,服务器接收mock数据的校验指令并进行响应。校验指令用于触发执行本实施方案中的协议接口mock数据校验方法。响应于该校验指令,服务器从存储器中获取对应协议接口的结构化的接口数据,该接口数据可以是预先存储在服务器中,还可以是通过预先设定的程序即时生成的。协议接口可以为Http协议接口,Thrift协议接口等。
S120、从所述接口数据中提取所述协议接口的出参,并根据所述出参的属性生成可编辑界面。
本实施例中,协议接口对应其接口数据,接口数据中记录有该协议接口的属性、名称、描述、统一资源标识符、入参、出参、接口协议等信息。通过分析可以提取到协议接口的出参及其属性,根据出参的对属性的描述信息,生成相对应的数据格式,并生成可编辑界面。出参的属性可以包括:返回值,数据结构、数据类型等。
S130、接收用户在所述可编辑界面上输入的mock数据,并将所述mock数据封装为虚拟数据。
用户可以在客户端的可编辑界面上输入mock数据,服务器接收客户端发送的mock数据,根据协议接口对应的接口协议以及出参的结构化数据等信息,将mock数据转换为虚拟数据,并返回该虚拟数据。
S140、根据所述出参的数据类型对所述虚拟数据进行数据校验,若所述数据类型一致,判定所述输入的mock数据校验通过。
实施例中,若虚拟数据的数据类型和出参的数据类型一致,则mock数据通过数据校验,保存在可编辑界面上输入的mock数据。若虚拟数据的数据类型和出参的数据类型不一致,则mock数据不通过数据校验,此时不保存在可编辑界面上输入的mock数据。用户需要在可编辑界面上重新输入新的另一数据类型的mock数据,直至根据该新的另一数据类型的mock数据所封装得到的新的虚拟数据的数据类型与该出参的数据类型相一致,此时新的另一数据类型的mock数据通过数据校验,保存该新的mock数据。其中,数据类型可以包括:数值类型、字符串类型、布尔类型等。
此外,为了区别mock数据的不同类型,可以对mock数据的参数进行标识,在步骤S140的判定所述输入的mock数据校验通过的步骤之后,还可以包括步骤S150、保存mock数据。
具体的,步骤S150可以包括以下步骤:
S1501、获取所述mock数据的参数标识。
如通过k-v模式对mock数据进行标识,参数标识可以是唯一的字符串标识。
S1502、根据所述参数标识将所述mock数据保存为私有mock数据或公有mock数据。
通过mock数据的修改权限的不同,将mock数据区别为公有mock数据和私有mock数据,如,在mock数据上添加参数标识,则将该mock数据设定为私有mock数据,若没有添加参数标识,则该mock数据为公有mock数据。将mock数据保存为私有mock数据,则只有设定用户具有修改该mock数据的权限,将mock数据保存公有mock数据,则任何人均能修改该mock数据。
综合上述各实施例提供的协议接口的mock数据校验方法,通过获取协议接口的接口数据中的出参,生成可编辑界面,将通过在可编辑界面上输入的mock数据封装为虚拟数据,根据出参的数据类型对虚拟数据进行数据校验,若数据类型一致,则判定输入的mock数据校验通过,解决了现有技术中进行mock测试时,输入的mock数据与实际需要的mock数据类型不匹配,降低测试效率和准确性的技术问题。本技术方案通过接口化文档自动获取mock测试的数据类型,并对输入的mock数据进行数据校验,提高的测试效率和测试的准确性。
为了更加清晰本发明技术方案,下面将针对于以上实施例中涉及的若干方案做进一步阐述。
在其中一个实施例中,参考图2,图2是一实施例步骤S120的详细流程图,步骤S120从所述接口数据中提取所述协议接口的出参,可以包括如下:
S1201、获取所述协议接口对应的MockUri信息,并根据所述MockUri信息计算出所述接口标识。
其中,MockUri信息包括协议接口对应的统一资源标识符(Uniform ResourceIdentifier,URI),URI用于唯一地指出该协议接口所在的位置和命名信息。通过URI可以快速查找到各个协议接口。URI指向客户端所请求生成mock数据校验的协议接口。MockUri可以在客户端发送mock数据的校验指令时产生。
在本实施例中服务器获取协议接口对应的MockUri信息,根据公式计算出协议接口对应的接口标识,如采用MD5信息摘要算法生成MD5摘要作为接口的唯一标识,其公式为:interfaceKey=MD5(proIndex+“_”+moduleName+“_”+brancheName+“_”+uri),其中,interfaceKey为接口所对应的接口标识,将该接口标识作为接口数据的唯一标识,proIndex为项目源代码的项目标识,moduleName为项目源代码的功能模块标识,brancheName为项目源代码的分支标识,uri为项目源代码中协议接口的统一资源标识符。其中,MD5信息摘要算法生成MD5摘要可以通过现有技术来实现,在此不做详细描述。
S1202、根据接口标识从所述接口数据中获取所述协议接口的接口信息。
每个接口标识对应该协议接口的接口数据。根据接口标识确定接口数据后,从接口数据中获取协议接口的接口信息,接口信息包括:协议接口的名称、描述、统一资源标识符、入参、出参、接口协议等信息。
S1203、从所述接口信息中提取所述协议接口的出参。
提取出的协议接口的出参,以用于后续的mock数据的合法性校验,其中,出参包括出参的结构化数据,出参的属性、对属性的描述信息等数据信息。
在其中一个实施例中,继续参考图2,步骤S120的根据所述出参的属性生成可编辑界面,可以包括:
S1204、获取所述出参中对属性的描述信息。
在对项目源代码进行编写时,会对参数的属性进行诸多描述,如属性代码、适用范围、属性数据的存储类型、默认值、属性数据的数据类型等。获取出参的属性,确定出参的结构化数据,如数据结构和数据类型、注释、默认值等。出参的结构化数据是根据项目源代码生成接口信息中包含的接口数据。
S1205、将所述描述信息转换为JsonSchema数据格式。
JsonSchema数据格式是一种记载其他数据的结构信息的描述性格式。在本实施例中,设定接口协议为http接口协议,基于http接口协议的协议接口返回JSON数据。通过JsonSchema对Http协议接口返回的JSON数据进行校验。将出参中对属性的描述信息转换为JsonSchema数据格式,便于校验用户提交的数据,如基于Http接口协议校验返回的JSON数据,即虚拟数据是否满足要求,从而判断用户输入的mock数据所满足要求。
S1206、根据所述JsonSchema数据格式的描述信息生成所述可编辑界面。
根据以JsonSchema数据格式呈现的对出参属性的描述信息,生成可编辑界面,通过该可编辑界面验证基于http接口协议的mock数据。
上述步骤中通过将出参中对属性的描述信息转换为JsonSchema数据格式以生成可编辑界面,便于在该可编辑界面上对mock数据进行校验。
进一步的,在步骤S1206之后,还可以包括:
S1207、将所述可编辑界面生成HTML格式的网页页面,将所述网页页面返回至所述客户端。
将可编辑界面生成HTML格式的网页页面,并将该网页页面返回至客户端,并通过客户端在可编辑界面上输入mock数据和查看返回的虚拟数据结果。
参考图3所示,图3是一实施例提供的可编辑界面示意图。可编辑界面上设置模拟返回内容和模拟接口地址,其中,模拟返回内容可以包括URI、code、message等信息,其中code是整型数据类型、message是字符串数据类型。
上述步骤中,服务器根据自动生成的协议接口对应的接口数据,获取接口数据中的出参,根据出参中对属性的描述信息,生成用于返回虚拟数据并对mock数据进行校验的可编辑界面,提高mock数据校验的效率和准确性。
在其中一个实施例中,参考图4,图4是一实施例步骤S130的详细流程图,步骤S130的将所述mock数据封装为虚拟数据,可以包括步骤:
S1301、获取所述协议接口对应的接口协议以及所述出参的结构化数据。
不同的协议接口对应有不同的接口协议和相应的出参的结构化数据,如Http协议接口对应http协议,Thrift协议接口对应thrift协议。同理,不同的协议接口的出参的结构化数据也不同,如数据类型、数据结构、存储方式等。
S1302、依据所述接口协议确定mock数据的构造协议,根据所述构造协议将mock数据转换成与所述出参的数据结构一致的虚拟数据。
不同的接口协议,其生成相关数据的实现逻辑不同,比如:http接口协议生成Json数据返回,而thrift接口协议生成thrift协议格式的返回。进一步的,不同的接口协议确定的mock数据的构造协议不同,进而执行不同的实现逻辑。
本实施例中,根据接口协议的类型确定mock数据的构造协议,按照该构造协议将mock数据与出参的结构化数据进行结合处理后,将mock数据转换成与出参的数据结构一致的虚拟数据。
进一步的,在步骤S1302之后,还可以包括以下步骤:
S1303、将虚拟数据返回至客户端。
将虚拟数据返回至客户端,显示在可便捷界面上。
为了更清晰地阐述本技术方案,下面提供生成接口数据的实施例。
图5是一实施例中接口数据生成方法的流程图,如图5所示,该接口数据生成方法,包括如下步骤:
S501、获取项目源代码,并将所述项目源代码转换为源码树。
在一个实施例中,可以将项目源代码存储在指定目录位置,通过Javaparser解析器对项目源代码的源代码结构进行解析,将项目源代码转换为源码树,以便于对项目源代码下的所有类进行分析,查找出项目源代码下的类名、方法名等。
S502、对所述源码树的各个节点进行解析,获取项目源代码各个功能模块包含的协议接口及其接口信息。
在将所述项目源代码转换为源码树后,源码树的各个节点对应为源代码的功能模块,是项目源代码中按照所实现功能对源代码进行划分成的一个或多个模块。对应于源码树的各个节点,各个功能模块之间通过接口进行连接,在功能模块之间按照协议接口类型选择对应的接口协议进行数据的传输。
对源码树的各个节点进行解析后,可以获得项目源代码的各个功能模块包含的协议接口及其接口信息,接口信息包括协议接口的入参和出参。
S503、根据所述接口信息生成结构化的所述接口数据。
由于一个目标项目中包含多份项目源代码,每份项目源代码下被划分为多个功能模块,每个功能模块中包括一个或多个接口,每个接口中包含有各协议接口的接口信息,利用接口信息生成接口数据,接口信息包括属性、名称、描述、统一资源标识符、入参、出参、协议类型等。
在实施例中,在生成接口数据时,可以通过以“项目-功能模块-接口-接口参数”关系进行层层递进的由顶层到底层的结构化处理,然后生成结构化的接口数据。
本实施例提供的接口数据的生成方法,通过获取项目源代码,自动生成结构化的接口数据,不需要人工进行编写,并能够提高接口数据获取的准确率,通过生成的接口数据提取出所需要的接口信息,如出参、mock数据类型等,提高了软件测试的效率。
以上描述为协议接口的mock数据校验方法的相关实施例,下面结合附图对实施例提供的技术方案进行示例性的描述,参考图6,图6是一实施例提供的协议接口的mock数据测试方法的工作流程图,包括如下步骤:
S601、服务器接收客户端发送mock数据校验指令。
用户在客户端上操作设定按键,触发客户端向服务器发送mock数据校验指令,服务器接收客户端发送的mock数据校验指令。
S602、服务器通过生成的结构化的接口数据产生的接口标识中获取接口信息。
服务器接收到该mock数据校验指令后,响应该校验指令获取根据项目源代码自动生成的协议接口的结构化的接口数据,并根据接口数据中的接口标识获取接口信息,接口信息可以包括:入参、出参、属性、描述信息、数据类型等。
S603、从接口信息中提取出参。
具体的,可以从接口数据中的接口信息中提取出协议接口的出参。
S604、服务器将出参中对属性的描述信息生成JsonSchema数据格式。
S605、服务器根据JsonSchema数据格式的描述信息生成可编辑界面,并发送至客户端。
S606、服务器获取通过可编辑界面输入的mock数据。
用户在客户端的可编辑界面上输入与出参的结构化数据相匹配的mock数据,触发mock数据请求指令,如作出“保存”mock数据等操作,以对mock数据进行校验。服务器接收到mock数据请求指令,获取客户端发送的mock数据,
S607、服务器根据mock数据生成虚拟数据。
根据协议接口对应的MockUri信息计算出该协议接口的接口标识,根据该接口标识获取协议接口的接口协议和出参的结构化数据,依据接口协议确定mock数据的构造协议,根据构造协议将mock数据与出参的结构化数据进行结合处理,将mock数据转换成与出参的数据结构一致的虚拟数据,将虚拟数据返回至客户端。
S608、判断mock数据是否通过合法性校验,若通过,则执行S609,否则返回S606。
若检测到虚拟数据的数据类型和出参的数据类型相一致,则mock数据校验通过,说明在可编辑界面上输入的mock数据与出参的结构化数据相匹配。若检测到的虚拟数据的数据类型与出参的数据类型不一致,此时,mock数据校验不通过,此时说明在可编辑界面上输入的mock数据与出参的结构化数据不相匹配,需要重新输入新的mock数据。
S609、保存mock数据。根据mock数据的参数标识,将mock数据保存为公有mock数据或私有mock数据。
S610、结束。
图7是一实施例提供的协议接口的mock数据校验装置的结构示意图,如图7所示,本实施例提供的协议接口的mock数据校验装置可以集成在计算机设备中,该计算机设备可以是服务器等。参考图7,本实施例提供的协议接口的mock数据校验装置包括:校验指令接收模块710、可编辑界面生成模块720、虚拟数据封装模块730以及mock数据校验模块740。
其中,校验指令接收模块710,用于接收客户端发送的mock数据的校验指令,响应所述校验指令获取协议接口的结构化的接口数据;
可编辑界面生成模块720,用于从所述接口数据中提取所述协议接口的出参,并根据所述出参的属性生成可编辑界面;
虚拟数据封装模块730,用于接收用户在所述可编辑界面上输入的mock数据,将所述mock数据封装为虚拟数据;
mock数据校验模块740,用于根据所述出参的数据类型对所述虚拟数据进行数据校验,若数据类型一致,判定所述输入的mock数据校验通过。
本实施例提供的协议接口的mock数据校验装置,通过获取协议接口的接口数据中的出参,生成可编辑界面,将通过在可编辑界面上输入的mock数据封装为虚拟数据,根据出参的数据类型对虚拟数据进行数据校验,若数据类型一致,则判定输入的mock数据校验通过,解决了现有技术中进行mock测试时,输入的mock数据与实际需要的mock数据类型不匹配,降低测试效率和准确性的技术问题。本技术方案通过接口化文档自动获取mock测试的数据类型,并对输入的mock数据进行数据校验,提高的测试效率和测试的准确性。
在其中一个实施例中,可编辑界面生成模块720包括:
接口信息获取单元,用于根据接口标识从所述接口数据中获取所述协议接口的接口信息;
出参提取单元,用于从所述接口信息中提取所述协议接口的出参。
在其中一个实施例中,还包括:
接口标识获取单元,用于获取所述协议接口对应的MockUri信息,并根据所述MockUri信息计算出所述接口标识。
在其中一个实施例中,可编辑界面生成模块720,包括:
出参属性获取单元,用于获取所述出参中对属性的描述信息;
数据转换单元,用于将所述描述信息转换为JsonSchema数据格式;
可编辑界面生成单元,用于根据所述JsonSchema数据格式的描述信息生成所述可编辑界面。
在其中一个实施例中,虚拟数据封装模块730,包括:
接口数据获取单元,用于获取所述协议接口对应的接口协议以及所述出参的结构化数据;
mock数据转换单元,用于依据所述接口协议确定mock数据的构造协议,根据所述构造协议将mock数据转换成与所述出参的数据结构一致的虚拟数据。
在其中一个实施例中,mock数据校验模块740还包括:
参数标识获取单元,用于获取所述mock数据的参数标识;
mock数据保存单元,用于根据所述参数标识将所述mock数据保存为私有mock数据或公有mock数据。
在其中一个实施例中,协议接口的mock数据校验装置还包括:
项目源代码获取模块,用于获取项目源代码,并将所述项目源代码转换为源码树;
接口信息获取模块,用于对所述源码树的各个节点进行解析,获取项目源代码各个功能模块包含的协议接口及其接口信息;
接口数据获取模块,用于根据所述接口信息生成结构化的所述接口数据。
在其中一个实施例中,协议接口的mock数据校验装置还包括:
网页页面生成模块,用于将所述可编辑界面生成HTML格式的网页页面,将所述网页页面返回至所述客户端。
本实施例提供的协议接口的mock数据校验装置可用于执行上述任意实施例提供的协议接口的mock数据校验方法,且具备相应的功能和有益效果。
本发明实施例还提供了一种计算机设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行所述程序时实现上述任一实施例提及的协议接口的mock数据校验方法。
上述提供的计算机设备可用于执行上述任意实施例提供的协议接口的mock数据校验方法,具备相应的功能和有益效果。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种协议接口的mock数据校验方法,其包括:
接收客户端发送的mock数据的校验指令,响应所述校验指令获取协议接口的结构化的接口数据;
从所述接口数据中提取所述协议接口的出参,并根据所述出参的属性生成可编辑界面;
接收用户在所述可编辑界面上输入的mock数据,并将所述mock数据封装为虚拟数据;
根据所述出参的数据类型对所述虚拟数据进行数据校验,若所述数据类型一致,判定所述输入的mock数据校验通过。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的协议接口的mock数据校验方法操作,还可以执行本发明任意实施例所提供的协议接口的mock数据校验方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的协议接口的mock数据校验方法。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种协议接口的mock数据校验方法,其特征在于,包括:
接收客户端发送的mock数据的校验指令,响应所述校验指令获取协议接口的结构化的接口数据;
从所述接口数据中提取所述协议接口的出参,并根据所述出参的属性生成可编辑界面;
接收用户在所述可编辑界面上输入的mock数据,并将所述mock数据封装为虚拟数据;
根据所述出参的数据类型对所述虚拟数据进行数据校验,若所述数据类型一致,判定所述输入的mock数据校验通过。
2.根据权利要求1所述的协议接口的mock数据校验方法,其特征在于,所述从所述接口数据中提取所述协议接口的出参的步骤,包括:
根据接口标识从所述接口数据中获取所述协议接口的接口信息;
从所述接口信息中提取所述协议接口的出参。
3.根据权利要求2所述的协议接口的mock数据校验方法,其特征在于,还包括:
获取所述协议接口对应的MockUri信息,并根据所述MockUri信息计算出所述接口标识。
4.根据权利要求1所述的协议接口的mock数据校验方法,其特征在于,所述根据所述出参的属性生成可编辑界面的步骤,包括:
获取所述出参中对属性的描述信息;
将所述描述信息转换为JsonSchema数据格式;
根据所述JsonSchema数据格式的描述信息生成所述可编辑界面。
5.根据权利要求1所述的协议接口的mock数据校验方法,其特征在于,所述将所述mock数据封装为虚拟数据的步骤,包括:
获取所述协议接口对应的接口协议以及所述出参的结构化数据;
依据所述接口协议确定mock数据的构造协议,根据所述构造协议将mock数据转换成与所述出参的数据结构一致的虚拟数据。
6.根据权利要求1所述的协议接口的mock数据校验方法,其特征在于,在所述判定所述输入的mock数据校验通过的步骤之后,还包括:
获取所述mock数据的参数标识;
根据所述参数标识将所述mock数据保存为私有mock数据或公有mock数据。
7.根据权利要求1至6任一项所述的协议接口的mock数据校验方法,其特征在于,还包括:
获取项目源代码,并将所述项目源代码转换为源码树;
对所述源码树的各个节点进行解析,获取项目源代码各个功能模块包含的协议接口及其接口信息;
根据所述接口信息生成结构化的所述接口数据。
8.根据权利要求1所述的协议接口的mock数据校验方法,其特征在于,在根据所述出参的属性生成可编辑界面之后,还包括:
将所述可编辑界面生成HTML格式的网页页面,将所述网页页面返回至所述客户端。
9.一种协议接口的mock数据校验装置,其特征在于,包括:
校验指令接收模块,用于接收客户端发送的mock数据的校验指令,响应所述校验指令获取协议接口的结构化的接口数据;
可编辑界面生成模块,用于从所述接口数据中提取所述协议接口的出参,并根据所述出参的属性生成可编辑界面;
虚拟数据封装模块,用于接收用户在所述可编辑界面上输入的mock数据,将所述mock数据封装为虚拟数据;
mock数据校验模块,用于根据所述出参的数据类型对所述虚拟数据进行数据校验,若数据类型一致,判定所述输入的mock数据校验通过。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-8任一项所述的协议接口的mock数据校验方法。
11.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-8任一项所述的协议接口的mock数据校验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910528136.2A CN110275831B (zh) | 2019-06-18 | 2019-06-18 | 协议接口的mock数据校验方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910528136.2A CN110275831B (zh) | 2019-06-18 | 2019-06-18 | 协议接口的mock数据校验方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110275831A true CN110275831A (zh) | 2019-09-24 |
CN110275831B CN110275831B (zh) | 2023-10-27 |
Family
ID=67961113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910528136.2A Active CN110275831B (zh) | 2019-06-18 | 2019-06-18 | 协议接口的mock数据校验方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110275831B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078570A (zh) * | 2019-12-20 | 2020-04-28 | 贵阳货车帮科技有限公司 | 基于界面框架的参数格式检测方法、装置、设备和介质 |
CN111399819A (zh) * | 2020-03-18 | 2020-07-10 | 北京达佳互联信息技术有限公司 | 数据生成方法、装置、电子设备及存储介质 |
CN111427566A (zh) * | 2020-03-18 | 2020-07-17 | 北京达佳互联信息技术有限公司 | 适于模拟接口平台的数据处理方法和装置、服务器 |
CN112395194A (zh) * | 2020-11-17 | 2021-02-23 | 中国建设银行股份有限公司 | 一种接入测试平台的方法和装置 |
CN112631695A (zh) * | 2020-12-22 | 2021-04-09 | 北京达佳互联信息技术有限公司 | 一种数据校验方法、装置、电子设备及存储介质 |
CN112685037A (zh) * | 2020-11-25 | 2021-04-20 | 紫光云技术有限公司 | 一种前端表单组件化编排数据绑定及校验的实现方法 |
CN113886216A (zh) * | 2020-07-03 | 2022-01-04 | 腾讯科技(深圳)有限公司 | 接口测试和工具配置方法、装置、电子设备和存储介质 |
CN115237755A (zh) * | 2022-06-27 | 2022-10-25 | 北京关键科技股份有限公司 | 一种基于协议的校验算法库调用方法及调用设备 |
KR102616183B1 (ko) * | 2022-11-29 | 2023-12-21 | 쿠팡 주식회사 | 테스트 정보 관리 방법 및 이를 지원하는 전자 장치 |
CN117573762A (zh) * | 2024-01-15 | 2024-02-20 | 杭州数云信息技术有限公司 | 数据连接平台的数据处理方法及装置、存储介质、服务器 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103945287A (zh) * | 2013-01-21 | 2014-07-23 | 中兴通讯股份有限公司 | 一种接口机处理消息的方法和接口机 |
CN106528400A (zh) * | 2016-09-22 | 2017-03-22 | 深圳峰创智诚科技有限公司 | Mock测试方法和装置 |
CN107908541A (zh) * | 2017-07-26 | 2018-04-13 | 平安壹钱包电子商务有限公司 | 接口测试方法、装置、计算机设备及存储介质 |
CN108446225A (zh) * | 2018-03-06 | 2018-08-24 | 平安科技(深圳)有限公司 | 模拟接口的创建装置、方法及计算机可读存储介质 |
CN109299010A (zh) * | 2018-09-25 | 2019-02-01 | 深圳壹账通智能科技有限公司 | mock测试方法、装置、计算机设备和存储介质 |
CN109344642A (zh) * | 2018-08-31 | 2019-02-15 | 平安科技(深圳)有限公司 | 接口规则校验方法、装置、计算机设备及存储介质 |
CN109375922A (zh) * | 2018-09-26 | 2019-02-22 | 深圳壹账通智能科技有限公司 | 一种接口文档的自动生成方法及终端设备 |
CN109857634A (zh) * | 2018-12-15 | 2019-06-07 | 中国平安人寿保险股份有限公司 | 接口测试参数校验方法、装置、电子设备及存储介质 |
-
2019
- 2019-06-18 CN CN201910528136.2A patent/CN110275831B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103945287A (zh) * | 2013-01-21 | 2014-07-23 | 中兴通讯股份有限公司 | 一种接口机处理消息的方法和接口机 |
CN106528400A (zh) * | 2016-09-22 | 2017-03-22 | 深圳峰创智诚科技有限公司 | Mock测试方法和装置 |
CN107908541A (zh) * | 2017-07-26 | 2018-04-13 | 平安壹钱包电子商务有限公司 | 接口测试方法、装置、计算机设备及存储介质 |
CN108446225A (zh) * | 2018-03-06 | 2018-08-24 | 平安科技(深圳)有限公司 | 模拟接口的创建装置、方法及计算机可读存储介质 |
CN109344642A (zh) * | 2018-08-31 | 2019-02-15 | 平安科技(深圳)有限公司 | 接口规则校验方法、装置、计算机设备及存储介质 |
CN109299010A (zh) * | 2018-09-25 | 2019-02-01 | 深圳壹账通智能科技有限公司 | mock测试方法、装置、计算机设备和存储介质 |
CN109375922A (zh) * | 2018-09-26 | 2019-02-22 | 深圳壹账通智能科技有限公司 | 一种接口文档的自动生成方法及终端设备 |
CN109857634A (zh) * | 2018-12-15 | 2019-06-07 | 中国平安人寿保险股份有限公司 | 接口测试参数校验方法、装置、电子设备及存储介质 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078570A (zh) * | 2019-12-20 | 2020-04-28 | 贵阳货车帮科技有限公司 | 基于界面框架的参数格式检测方法、装置、设备和介质 |
CN111078570B (zh) * | 2019-12-20 | 2023-04-07 | 贵阳货车帮科技有限公司 | 基于界面框架的参数格式检测方法、装置、设备和介质 |
CN111399819A (zh) * | 2020-03-18 | 2020-07-10 | 北京达佳互联信息技术有限公司 | 数据生成方法、装置、电子设备及存储介质 |
CN111427566A (zh) * | 2020-03-18 | 2020-07-17 | 北京达佳互联信息技术有限公司 | 适于模拟接口平台的数据处理方法和装置、服务器 |
CN111427566B (zh) * | 2020-03-18 | 2024-05-07 | 北京达佳互联信息技术有限公司 | 适于模拟接口平台的数据处理方法和装置、服务器 |
CN111399819B (zh) * | 2020-03-18 | 2024-04-30 | 北京达佳互联信息技术有限公司 | 数据生成方法、装置、电子设备及存储介质 |
CN113886216A (zh) * | 2020-07-03 | 2022-01-04 | 腾讯科技(深圳)有限公司 | 接口测试和工具配置方法、装置、电子设备和存储介质 |
CN112395194B (zh) * | 2020-11-17 | 2024-03-22 | 中国建设银行股份有限公司 | 一种接入测试平台的方法和装置 |
CN112395194A (zh) * | 2020-11-17 | 2021-02-23 | 中国建设银行股份有限公司 | 一种接入测试平台的方法和装置 |
CN112685037A (zh) * | 2020-11-25 | 2021-04-20 | 紫光云技术有限公司 | 一种前端表单组件化编排数据绑定及校验的实现方法 |
CN112631695A (zh) * | 2020-12-22 | 2021-04-09 | 北京达佳互联信息技术有限公司 | 一种数据校验方法、装置、电子设备及存储介质 |
CN112631695B (zh) * | 2020-12-22 | 2024-06-11 | 北京达佳互联信息技术有限公司 | 一种数据校验方法、装置、电子设备及存储介质 |
CN115237755A (zh) * | 2022-06-27 | 2022-10-25 | 北京关键科技股份有限公司 | 一种基于协议的校验算法库调用方法及调用设备 |
KR102616183B1 (ko) * | 2022-11-29 | 2023-12-21 | 쿠팡 주식회사 | 테스트 정보 관리 방법 및 이를 지원하는 전자 장치 |
WO2024117384A1 (ko) * | 2022-11-29 | 2024-06-06 | 쿠팡 주식회사 | 테스트 정보 관리 방법 및 이를 지원하는 전자 장치 |
CN117573762A (zh) * | 2024-01-15 | 2024-02-20 | 杭州数云信息技术有限公司 | 数据连接平台的数据处理方法及装置、存储介质、服务器 |
CN117573762B (zh) * | 2024-01-15 | 2024-04-16 | 杭州数云信息技术有限公司 | 数据连接平台的数据处理方法及装置、存储介质、服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN110275831B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110275831A (zh) | 协议接口的mock数据校验方法和装置 | |
CN105099811B (zh) | 一种接口测试方法和装置 | |
CN110308930A (zh) | 接口文档生成方法、装置、计算机设备和存储介质 | |
CN108319547B (zh) | 测试用例生成方法、装置和系统 | |
CN106919509B (zh) | 一种客户端生成方法、装置及电子设备 | |
US10372597B2 (en) | Software testing and verification | |
DK3011444T3 (en) | METHOD AND APPARATUS FOR CODE VIRTUALIZATION AND GENERATION OF REMOTE PROCESS CALLS | |
US8959000B2 (en) | Integrated testing systems and methods | |
CN107766344B (zh) | 一种模板渲染的方法、装置及浏览器 | |
US20160092502A1 (en) | Graphical modeling of database query statements | |
CN110109817A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
CN113032244B (zh) | 接口测试方法、装置、计算机系统和计算机可读存储介质 | |
CN106897153B (zh) | 调用应用编程接口的方法和系统 | |
CN110543297A (zh) | 用于生成源码的方法和装置 | |
CN108984567A (zh) | 一种业务数据管理系统及方法 | |
US20210334149A1 (en) | Api adapter creation device, api adapter creation method, and api adapter creation program | |
EP1548581A2 (en) | Methods, apparatus and programs for system development | |
CN113722020A (zh) | 接口调用方法、装置和计算机可读存储介质 | |
CN115599359A (zh) | 一种代码生成方法、装置、设备及介质 | |
CN111782211A (zh) | 基于Vue组件的参数页面动态生成方法及装置 | |
CN111580821B (zh) | 脚本绑定方法、装置、电子设备及计算机可读存储介质 | |
CN112667204B (zh) | 微服务应用的数据处理方法、装置和计算机设备 | |
Kienle et al. | Evolution of web systems | |
US10606569B2 (en) | Declarative configuration elements | |
Awad et al. | Performance model derivation of operational systems through log analysis |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20190924 Assignee: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd. Assignor: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd. Contract record no.: X2021440000031 Denomination of invention: Method and device for checking mock data of protocol interface License type: Common License Record date: 20210125 |
|
EE01 | Entry into force of recordation of patent licensing contract | ||
GR01 | Patent grant | ||
GR01 | Patent grant |