CN111274131A - 接口测试方法、装置、电子设备及存储介质 - Google Patents
接口测试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111274131A CN111274131A CN202010052077.9A CN202010052077A CN111274131A CN 111274131 A CN111274131 A CN 111274131A CN 202010052077 A CN202010052077 A CN 202010052077A CN 111274131 A CN111274131 A CN 111274131A
- Authority
- CN
- China
- Prior art keywords
- interface
- test
- verification
- result
- check
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 253
- 238000012795 verification Methods 0.000 claims description 134
- 238000010998 test method Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 abstract description 18
- 230000008569 process Effects 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3692—Test management for test results analysis
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)
- Debugging And Monitoring (AREA)
Abstract
本公开关于一种接口测试切换方法、装置、电子设备及存储介质,方案中可以测试用例包括待测试接口的接口信息和校验信息,校验信息用于声明校验字段和校验条件,并且根据接口信息,向待测试接口发送测试请求,以及接收待测试接口返回的测试结果,作为待校验测试结果,以及按照校验条件,校验待校验测试结果中对应校验字段的待校验参数,以确定校验结果,由于在接收到待测试接口返回的测试结果,可以根据预设的校验信息所声明的校验字段和校验条件对测试结果进行校验,实现了测试结果的自动测试,从而可以避免现有技术只能在接收到测试结果后,手动的对测试结果进行解析和比较检验的过程,提高了接口测试的测试效率。
Description
技术领域
本公开涉及软件测试技术领域,尤其涉及接口测试方法、装置、电子设备及存储介质。
背景技术
接口测试由于容易实现,维护成本低,投入产出比高的优点深受测试开发们的喜爱,其主要是对***或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系,其使用的接口协议包括HTTP(Hyper Text TransferProtocol,超文本传输协议)和WebService(网络服务)等类型。
常见的接口测试的流程一般包括:需求分析,用例设计,脚本开发,测试执行,结果分析等几个阶段。现有技术中,在接收到测试接口返回的测试结果后,测试人员需要先解析测试结果中校验字段,再对解析出的校验字段进行比较校验,以判断是否满足预期。
发明人在实施现有技术的过程中发现,现有技术中只能在接收到测试结果后,手动的对测试结果进行解析和比较检验,导致接口测试的测试效率较低。
发明内容
本公开提供一种接口测试方法、装置、电子设备及存储介质,以至少解决相关技术中接口测试的测试效率较低的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种接口测试方法,包括:
获取预设的测试用例,其中,所述测试用例包括待测试接口的接口信息和校验信息,所述校验信息用于声明校验字段和校验条件;
根据所述接口信息,向所述待测试接口发送测试请求;
接收所述待测试接口返回的测试结果,作为待校验测试结果;
按照所述校验条件,校验所述待校验测试结果中对应所述校验字段的待校验参数,以确定校验结果。
进一步的,所述接口信息包括:接口地址、接口名称和接口测试参数;
所述根据所述接口信息,向所述待测试接口发送测试请求步骤,包括:
根据所述接口地址和所述接口名称,确定所述待测试接口的接口位置;
向所述接口位置发送测试请求,所述测试请求携带有所述测试参数。
进一步的,所述按照所述校验条件,校验所述待校验测试结果中对应所述校验字段的待校验参数,包括:
对所述测试用例中的校验信息进行解析,以生成对应所述校验条件的断言表达式;
判断所述待校验测试结果中对应所述校验字段的待校验参数是否满足所述断言表达式。
进一步的,所述校验信息包括预设的基准校验结果;
所述对所述测试用例中的校验信息进行解析,以生成对应所述校验条件的断言表达式,包括:
基于所述校验信息所声明的校验字段,在所述基准校验结果中,确定对应所述校验字段的基准字符串,所述基本字符串为预设格式;
基于所述基准字符串,生成对应所述校验条件的断言表达式。
进一步的,所述判断所述待校验测试结果中对应所述校验字段的待校验参数是否满足所述断言表达式,包括:
根据所述待校验结果构建用于进行表达式运行的校验对象,所述校验对象用于表示所述待校验测试结果中对应所述校验字段的待校验参数;
判断所述待校验对象是否满足所述断言表达式。
进一步的,所述判断所述待校验对象是否满足所述断言表达式,包括:
将所述校验对象带入所述断言表达式进行表达式运算,并输出布尔值,作为所述待校验测试结果的校验结果。
进一步的,所述将所述校验对象带入所述断言表达式进行表达式运算,并输出布尔值,包括:
将所述校验对象带入所述断言表达式,并通过SpringEL解析器获取所述校验对象的布尔值,作为所述待校验测试结果的校验结果。
根据本公开实施例的第二方面,提供一种接口测试装置,包括:
测试用例获取模块,被配置为执行获取预设的测试用例,其中,所述测试用例包括待测试接口的接口信息和校验信息,所述校验信息用于声明校验字段和校验条件;
请求发送模块,被配置为执行根据所述接口信息,向所述待测试接口发送测试请求;
测试结果接收模块,被配置为执行接收所述待测试接口返回的测试结果,作为待校验测试结果;
校验模块,被配置为执行按照所述校验条件,校验所述待校验测试结果中对应所述校验字段的待校验参数,以确定校验结果。
进一步的,所述接口信息包括:接口地址、接口名称和接口测试参数;
所述请求发送模块,具体被配置为执行根据所述接口地址和所述接口名称,确定所述待测试接口的接口位置,并且向所述接口位置发送测试请求,所述测试请求携带有所述测试参数。
进一步的,所述校验模块,具体被配置为执行对所述测试用例中的校验信息进行解析,以生成对应所述校验条件的断言表达式,并且判断所述待校验测试结果中对应所述校验字段的待校验参数是否满足所述断言表达式。
进一步的,所述校验信息包括预设的基准校验结果;
所述校验模块,具体被配置为执行基于所述校验信息所声明的校验字段,在所述基准校验结果中,确定对应所述校验字段的基准字符串,所述基本字符串为预设格式,并且基于所述基准字符串,生成对应所述校验条件的断言表达式。
进一步的,所述校验模块,具体被配置为执行根据所述待校验结果构建用于进行表达式运行的校验对象,所述校验对象用于表示所述待校验测试结果中对应所述校验字段的待校验参数,并且判断所述待校验对象是否满足所述断言表达式。
进一步的,所述校验模块,具体被配置为执行将所述校验对象带入所述断言表达式进行表达式运算,并输出布尔值,作为所述待校验测试结果的校验结果。
进一步的,所述校验模块,具体被配置为执行将所述校验对象带入所述断言表达式,并通过SpringEL解析器获取所述校验对象的布尔值,作为所述待校验测试结果的校验结果。
根据本公开实施例的第三方面,提供一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现上述任一项所述的接口测试方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项所述的接口测试方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,当所述计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述任一项所述的接口测试方法。
本公开的实施例提供的技术方案至少带来以下有益效果:获取预设的测试用例,其中,测试用例包括待测试接口的接口信息和校验信息,校验信息用于声明校验字段和校验条件,并且根据接口信息,向待测试接口发送测试请求,以及接收待测试接口返回的测试结果,作为待校验测试结果,以及按照校验条件,校验待校验测试结果中对应校验字段的待校验参数,以确定校验结果,由于在接收到待测试接口返回的测试结果,可以根据预设的校验信息所声明的校验字段和校验条件对测试结果进行校验,实现了测试结果的自动测试,从而可以避免现有技术只能在接收到测试结果后,手动的对测试结果进行解析和比较检验的过程,提高了接口测试的测试效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种接口测试方法的流程图。
图2是根据一示例性实施例示出的另一种接口测试方法的流程图。
图3是根据一示例性实施例示出的一种接口测试装置的框图。
图4是根据一示例性实施例示出的一种电子设备。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种接口测试方法的流程图,如图1所示,包括以下步骤。
S101:获取预设的测试用例。
本步骤中,测试用例(Test Case)是指对待测试接口进行测试任务描述的文件,其中,测试用例可以包括待测试接口的接口信息和校验信息,校验信息用于声明校验字段和校验条件。
其中,本领域技术人员可以理解的是,对接口进行测试,其实质是对接口对应的函数/服务/程序等进行测试,其可以为程序与程序之间的API(Application ProgrammingInterface,应用程序编程接口),也可以是用户和程序之间的UI(User Interface,用户接口),通过向接口输入测试参数,可以使得接口对应的函数/服务/程序对测试参数进行处理,并返回处理后的结果(本发明实施例称为测试结果)。
在一个实施例中,接口信息用于描述预设测试任务,例如,测试任务对应的待测试接口,以及相关的测试参数,可选的,接口信息可以包括接口地址、接口名称和接口测试参数,其中,上述接口地址可以为待测试接口所在服务器的地址,接口名称用于标识待测试接口,接口测试参数则可为对待测试接口进行测试的参数。
举例而言,接口地址可以为http://127.0.0.1:8080,接口名称可以为/api/get/user,接口参数可以为UserID(User Identity Document,用户账号)和UserPassword(用户密码)。
在一个实施例中,校验信息可以为断言信息,校验字段可以用于确定待测试接口返回的测试结果的有效字段,其中,有效字段为测试结果中反映测试结果准确性的字段。而上述校验条件则可以为预期结果,其可以作为校验测试结果是否准确的指标。
举例而言,断言信息可以为json(‘$.result’)==1),其中,上述断言信息中的“$.result”为指代的校验字段,而“==1”则是校验条件,整个断言信息的包含的信息为:确定测试结果中result字段的字段数值是否等于1,若等于1则为true(正确),否则为false(错误)。
S102:根据接口信息,向待测试接口发送测试请求。
本步骤中,由于接口信息用于描述测试任务,其指明了测试任务对应的待测试对象和测试参数,因此可以根据接口信息,向待测试接口发送测试请求。
在一个实施例中,在接口信息包括接口地址、接口名称和接口测试参数的请求下,可以通过如下步骤实现向待测试接口发送测试请求,包括:
步骤A:根据接口地址和接口名称,确定待测试接口的接口位置。
在步骤A中,在接口信息包括接口地址、接口名称的情况下,由于接口地址表示待测试接口所在服务器的通信地址,因此,可以通过接口地址定位到待测试接口所在的服务器,进一步的,接口名称标识了待测试接口,因此在定位到待测试接口所在服务器后,可以在定位的服务器中通过接口名称查找出待测试接口,从而确定出了待测试接口的接口位置。
示例性的,当接口地址为http://127.0.0.1:8080,接口名称为/api/get/user时,可以确定待测试接口的接口位置为http://127.0.0.1/api/get/user。
步骤B:向接口位置发送测试请求,测试请求携带有测试参数。
通过步骤A可以确定出待测试接口的接口位置,因而,可以向接口位置发送携带有测试参数的测试请求。
在采用HTTP(Hyper Text Transfer Protocol,超文本传输协议)作为接口直接的通信协议时,测试请求可以与接口位置组合成一个URL(Uniform Resource Locator,统一资源定位符),该URL即包括定位待测试接口的接口位置,也包括用于解决测试的测试参数。
示例性的,当接口位置为http://127.0.0.1/api/get/user,测试参数为UserID=12345678,则生成的URL可以为http://127.0.0.1/api/get/user?UserID=12345678,通过HTTP协议加载该URL,则可以将测试参数UserID=12345678发送至位于http://127.0.0.1/api/get/user的待测试接口。
在一个实施例中,测试请求的发送可以使用Java中专门的用于发送HTTP请求的httpClient来实现。
S103:接收待测试接口返回的测试结果,作为待校验测试结果。
本步骤中,测试结果为待测试接口对接收到的测试参数进行处理后得到的。
示例性的,当测试参数为UserID=12345678,待测试接口为用户信息查询接口,则用户信息查询接口可以在接收到的测试请求中携带的UserID=12345678后,在数据库中查找UserID为12345678的用户信息,并将查找到的用户信息作为测试结果反馈至请求端。
例如,测试结果为{"result":1,"userInfo":{"name":"张三","age":20,"gender":"boy","school":"北京XX大学"}。其包括分为两部分内容,包括result(结果)和userInfo(用户信息)。
或者,测试结果还可以为{\"result\":1,\"users\":[1,2,3,4,5],\"tags\":\"周杰伦\"}"。
其中,上述result为1,说明当前通过接收到的测试参数UserID=12345678查找到了对应的用户信息,具体的用户信息包括:name(姓名)、age(年龄)、gender(性别)和school(学习)四个类型的信息,具体的,UserID=12345678的用户的用户信息分别为姓名为张三、年龄20岁、性别男,学校为北京XX大学。
S104:按照校验条件,校验待校验测试结果中对应校验字段的待校验参数,以确定校验结果。
本步骤中,如前,校验信息用于声明校验字段和校验条件,因此,通过校验字段可以从待检测测试结果中确定出有效字段,而有效字段对应的字段值为待校验参数。
举例而言,测试结果为{"result":1,"userInfo":{"name":"张三","age":20,"gender":"boy","school":"北京XX大学"}。当校验信息声明了result为校验字段时,则待检验参数为result字段对应的字段值“1”,校验信息声明了name为校验字段时,则待检验参数为name字段对应的字段值“张三”。
进一步的,校验条件为可以为预期结果,例如测试结果中姓名为name字段的待校验参数为张三是预期结果,或者测试结果中result字段的待校验参数为1是预期结果。
因此,可以按照校验条件对待校验测试结果中对应校验字段的待校验参数进行校验,确定待校验参数是否满足校验条件,若满足,输出正确,若不满足,输出错误。
本申请提供的如图1所示的实施例中,可以获取预设的测试用例,其中,测试用例包括待测试接口的接口信息和校验信息,校验信息用于声明校验字段和校验条件,并且根据接口信息,向待测试接口发送测试请求,以及接收待测试接口返回的测试结果,作为待校验测试结果,以及按照校验条件,校验待校验测试结果中对应校验字段的待校验参数,以确定校验结果,由于在接收到待测试接口返回的测试结果,可以根据预设的校验信息所声明的校验字段和校验条件对测试结果进行校验,实现了测试结果的自动测试,从而可以避免现有技术只能在接收到测试结果后,手动的对测试结果进行解析和比较检验的过程,提高了接口测试的测试效率。
图2是根据一示例性实施例示出的另一种接口测试方法的流程图,如图2所示,包括以下步骤。
S201:获取预设的测试用例。
本步骤具体实现方式与步骤S101相同或相似,在此不再赘述。
S202:根据接口信息,向待测试接口发送测试请求。
本步骤具体实现方式与步骤S101相同或相似,在此不再赘述。
S203:接收待测试接口返回的测试结果,作为待校验测试结果。
本步骤具体实现方式与步骤S101相同或相似,在此不再赘述。
S204:对测试用例中的校验信息进行解析,以生成对应校验条件的断言表达式。
本步骤中,校验条件满足预期的条件,其通常可以使用表达式的方式表示。
例如,大于预设数值则满足预期条件,或者小于预期数值则满足预期条件,因此,通过解析校验信息,可以确定校验信息中的校验条件,从而进一步的确定出对应校验条件的断言表达式,例如断言表达式result==0,其表示返回的测试结果中result字段的字段值为0时,满足预期条件。
在一个实施例中,可以首先建立一个解析器,例如:ExpressionParser parser=new SpelExpressionParser();
在使用解析器对校验信息进行解析,生成断言表达式,例如:Expressionexpression=parser.parseExpression(assertion),其中assertion(断言)表示校验信息。
在一个实施例中,校验信息还可以包括预设的基准校验结果;
基于校验信息所声明的校验字段,在基准校验结果中,确定对应校验字段的基准字符串,基本字符串为预设格式,并且基于基准字符串,生成对应校验条件的断言表达式。
其中,基准校验结果为测试用例已知的正确返回结果,比如应该返回{"result":1,"userName":"gexiaojing"},即基准校验结果为{"result":1,"userName":"gexiaojing"}。
可选的,预设格式可以为JSONPath(JavaScript Object Notation,JS对象简谱)格式,由于基准校验结果中属于JSONPath格式为'$.result',则基于$.result',生成对应校验条件的断言表达式为json('$.result')==1。
S205:判断待校验测试结果中对应校验字段的待校验参数是否满足断言表达式。
本步骤中,待校验测试结果中对应校验字段的待校验参数与步骤S104相同或想死,在此不再赘述。
由于断言表达式指明了一种判断方法,一次,通过校验待校验参数和断言表达式的方式来判断待校验参数是否满足断言表达式。
在一个实施例中,本步骤可以通过下述步骤实现判断待校验测试结果中对应校验字段的待校验参数是否满足断言表达式,包括:
步骤1:根据待校验结果构建用于进行表达式运行的校验对象。
在步骤1中,可以定义首先定义一个类AssertContext,并在SpingEL中使用待校验结果构建该待校验结构的生成上下文对象,作为校验对象。
其中,可以理解是,校验对象为根据待校验结构构建的符合SpingEL解析方式,或表达式运算方式的对象,其用于表示待校验测试结果中对应校验字段的待校验参数。
可选的,待校验测试结果可以为JSON格式的字符串,此时,可以先采用JSONPath对JSON格式的待校验测试结果进行解析,从而得到易于识别的字符串,其中,该字符串组成至少一种字段,例如result字段、name字段或userInfo字段等。
在一个实施例中,可以通过EvaluationContext Context=newStandardEvaluationContext(assertContext)的方式通过待校验结果构建校验对象。
步骤2:判断待校验对象是否满足断言表达式。
通过获取的断言表达式和校验对象,可以判断待校验对象是否满足断言表达式。
在一个实施例中,可以将校验对象带入断言表达式进行表达式运算,并输出布尔值,作为待校验测试结果的校验结果。
其中,布尔值(Boolean)是“真”True或“假”False中的一个,当输出的布尔值为真时,说明接口测试通过,当输出的布尔值为假时,说明接口测试未通过,返回的结果存在异常。
在一个实施例中,将校验对象带入断言表达式,并通过SpringEL解析器获取校验对象的布尔值,作为待校验测试结果的校验结果。
将校验对象带入断言表达式进行表达式运算可以使用SpringEL。
例如,可以通过Boolean passed=expression.getValue(context,Boolean.class)进行实现。
使用SpringEL获取整条断言表达式的布尔值,将校验对象带入断言表达式,输入到SpringEL中校确定验对象的布尔值。
示例性的,测试用例的测试结果为{"result":1,"userName":"gexiaojing"},将该测试结果输入到将校验对象带入断言表达式,直接用SpringEL就可以知道这个关系表达式返回true还是false。
通过断言表达式和SpringEL不需要开发人员重新写代码以提取校验对象result这个字段的值了,从而更加简单方便的对接口进行测试。
本申请提供的如图2所示的实施例中,可以获取预设的测试用例,并且根据接口信息,向待测试接口发送测试请求,以及接收待测试接口返回的测试结果,作为待校验测试结果,以及对测试用例中的校验信息进行解析,以生成对应校验条件的断言表达式,以及断待校验测试结果中对应校验字段的待校验参数是否满足断言表达式,由于在接收到待测试接口返回的测试结果,可以根据预设的校验信息所声明的校验字段和校验条件对测试结果进行校验,实现了测试结果的自动测试,从而可以避免现有技术只能在接收到测试结果后,手动的对测试结果进行解析和比较检验的过程,提高了接口测试的测试效率,并且,进一步的通过断言表达式和校验对象可以更加简单方便的对接口进行测试。
图3是根据一示例性实施例示出的一种接口测试装置框图。参照图3,该装置包括测试用例获取模块301,请求发送模块302、测试结果接收模块303和校验模块304。
测试用例获取模块301,被配置为执行获取预设的测试用例,其中,测试用例包括待测试接口的接口信息和校验信息,校验信息用于声明校验字段和校验条件;
请求发送模块302,被配置为执行根据接口信息,向待测试接口发送测试请求;
测试结果接收模块303,被配置为执行接收待测试接口返回的测试结果,作为待校验测试结果;
校验模块304,被配置为执行按照校验条件,校验待校验测试结果中对应校验字段的待校验参数,以确定校验结果。
进一步的,接口信息包括:接口地址、接口名称和接口测试参数;
请求发送模块302,具体被配置为执行根据接口地址和接口名称,确定待测试接口的接口位置,并且向接口位置发送测试请求,测试请求携带有测试参数。
进一步的,校验模块304,具体被配置为执行对测试用例中的校验信息进行解析,以生成对应校验条件的断言表达式,并且判断待校验测试结果中对应校验字段的待校验参数是否满足断言表达式。
进一步的,校验信息包括预设的基准校验结果;
校验模块304,具体被配置为执行基于校验信息所声明的校验字段,在基准校验结果中,确定对应校验字段的基准字符串,基本字符串为预设格式,并且基于基准字符串,生成对应校验条件的断言表达式。
进一步的,校验模块304,具体被配置为执行根据待校验结果构建用于进行表达式运行的校验对象,校验对象用于表示待校验测试结果中对应校验字段的待校验参数,并且判断待校验对象是否满足断言表达式。
进一步的,校验模块304,具体被配置为执行将校验对象带入断言表达式进行表达式运算,并输出布尔值,作为待校验测试结果的校验结果。
进一步的,校验模块304,具体被配置为执行将校验对象带入断言表达式,并通过SpringEL解析器获取校验对象的布尔值,作为待校验测试结果的校验结果。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图4是根据一示例性实施例示出的一种用于接口测试的S400的框图。例如,S400可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图4,S400可以包括以下一个或多个组件:处理组件402,存储器404,电源组件406,多媒体组件408,音频组件410,输入/输出(I/O)接口412,传感器组件414,以及通信组件416。
处理组件402通常控制S400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件402可以包括一个或多个处理器420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便于处理组件402和其他组件之间的交互。例如,处理组件402可以包括多媒体模块,以方便多媒体组件408和处理组件402之间的交互。
存储器404被配置为存储各种类型的数据以支持在S400的操作。这些数据的示例包括用于在S400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件406为S400的各种组件提供电力。电源组件406可以包括电源管理***,一个或多个电源,及其他与为S400生成、管理和分配电力相关联的组件。
多媒体组件408包括在所述S400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置摄像头和/或后置摄像头。当S400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个麦克风(MIC),当S400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件416发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。
输入/输出接口412为处理组件402和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件414包括一个或多个传感器,用于为S400提供各个方面的状态评估。例如,传感器组件414可以检测到S400的打开/关闭状态,组件的相对定位,例如所述组件为S400的显示器和小键盘,传感器组件414还可以检测S400或S400一个组件的位置改变,用户与S400接触的存在或不存在,S400方位或加速/减速和S400的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件416被配置为便于S400和其他设备之间有线或无线方式的通信。S400可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件416经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件416还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,S400可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器404,上述指令可由S400的处理器420执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种接口测试方法,其特征在于,包括:
获取预设的测试用例,其中,所述测试用例包括待测试接口的接口信息和校验信息,所述校验信息用于声明校验字段和校验条件;
根据所述接口信息,向所述待测试接口发送测试请求;
接收所述待测试接口返回的测试结果,作为待校验测试结果;
按照所述校验条件,校验所述待校验测试结果中对应所述校验字段的待校验参数,以确定校验结果。
2.根据权利要求1所述的接口测试方法,其特征在于,所述接口信息包括:接口地址、接口名称和接口测试参数;
所述根据所述接口信息,向所述待测试接口发送测试请求步骤,包括:
根据所述接口地址和所述接口名称,确定所述待测试接口的接口位置;
向所述接口位置发送测试请求,所述测试请求携带有所述测试参数。
3.根据权利要求1或2所述的接口测试方法,其特征在于,所述按照所述校验条件,校验所述待校验测试结果中对应所述校验字段的待校验参数,包括:
对所述测试用例中的校验信息进行解析,以生成对应所述校验条件的断言表达式;
判断所述待校验测试结果中对应所述校验字段的待校验参数是否满足所述断言表达式。
4.根据权利要求3所述的接口测试方法,其特征在于,所述校验信息包括预设的基准校验结果;
所述对所述测试用例中的校验信息进行解析,以生成对应所述校验条件的断言表达式,包括:
基于所述校验信息所声明的校验字段,在所述基准校验结果中,确定对应所述校验字段的基准字符串,所述基本字符串为预设格式;
基于所述基准字符串,生成对应所述校验条件的断言表达式。
5.根据权利要求4所述的接口测试方法,其特征在于,所述判断所述待校验测试结果中对应所述校验字段的待校验参数是否满足所述断言表达式,包括:
根据所述待校验结果构建用于进行表达式运行的校验对象,所述校验对象用于表示所述待校验测试结果中对应所述校验字段的待校验参数;
判断所述待校验对象是否满足所述断言表达式。
6.根据权利要求5所述的接口测试方法,其特征在于,所述判断所述待校验对象是否满足所述断言表达式,包括:
将所述校验对象带入所述断言表达式进行表达式运算,并输出布尔值,作为所述待校验测试结果的校验结果。
7.根据权利要求6所述的接口测试方法,其特征在于,所述将所述校验对象带入所述断言表达式进行表达式运算,并输出布尔值,包括:
将所述校验对象带入所述断言表达式,并通过SpringEL解析器获取所述校验对象的布尔值,作为所述待校验测试结果的校验结果。
8.一种接口测试装置,其特征在于,包括:
测试用例获取模块,被配置为执行获取预设的测试用例,其中,所述测试用例包括待测试接口的接口信息和校验信息,所述校验信息用于声明校验字段和校验条件;
请求发送模块,被配置为执行根据所述接口信息,向所述待测试接口发送测试请求;
测试结果接收模块,被配置为执行接收所述待测试接口返回的测试结果,作为待校验测试结果;
校验模块,被配置为执行按照所述校验条件,校验所述待校验测试结果中对应所述校验字段的待校验参数,以确定校验结果。
9.一种接口测试电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的接口测试方法。
10.一种存储介质,当所述存储介质中的指令由接口测试电子设备的处理器执行时,使得接口测试电子设备能够执行如权利要求1至7中任一项所述的接口测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010052077.9A CN111274131A (zh) | 2020-01-17 | 2020-01-17 | 接口测试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010052077.9A CN111274131A (zh) | 2020-01-17 | 2020-01-17 | 接口测试方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111274131A true CN111274131A (zh) | 2020-06-12 |
Family
ID=70998761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010052077.9A Pending CN111274131A (zh) | 2020-01-17 | 2020-01-17 | 接口测试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111274131A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111679989A (zh) * | 2020-06-16 | 2020-09-18 | 贝壳技术有限公司 | 接口健壮性测试方法、装置、电子设备及存储介质 |
CN112069292A (zh) * | 2020-09-09 | 2020-12-11 | 苏州思必驰信息科技有限公司 | 数据权限校验方法和装置 |
CN112612665A (zh) * | 2020-12-26 | 2021-04-06 | 中国农业银行股份有限公司 | 一种金融智能设备的测试方法、装置及设备 |
CN113110997A (zh) * | 2021-04-23 | 2021-07-13 | 中国工商银行股份有限公司 | 一种测试方法、装置及设备 |
CN113742207A (zh) * | 2020-09-23 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 一种接口测试方法、装置、设备及计算机可读存储介质 |
CN115114176A (zh) * | 2022-08-30 | 2022-09-27 | 云账户技术(天津)有限公司 | 用于自动化测试结果的断言方法、装置、介质、设备及程序 |
CN115129592A (zh) * | 2022-06-29 | 2022-09-30 | 北京永信至诚科技股份有限公司 | 一种用于接口测试过程的测试方法、***及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108664388A (zh) * | 2017-03-31 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 动态字段数据返回接口的测试***、方法、电子设备和可读存储介质 |
CN109446071A (zh) * | 2018-09-26 | 2019-03-08 | 深圳壹账通智能科技有限公司 | 接口测试方法、接口测试装置、电子设备及存储介质 |
CN109522225A (zh) * | 2018-11-09 | 2019-03-26 | 网宿科技股份有限公司 | 一种自动化测试断言方法及装置、测试平台及存储介质 |
CN110083526A (zh) * | 2019-03-15 | 2019-08-02 | 深圳壹账通智能科技有限公司 | 应用程序测试方法、装置、计算机装置及存储介质 |
-
2020
- 2020-01-17 CN CN202010052077.9A patent/CN111274131A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108664388A (zh) * | 2017-03-31 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 动态字段数据返回接口的测试***、方法、电子设备和可读存储介质 |
CN109446071A (zh) * | 2018-09-26 | 2019-03-08 | 深圳壹账通智能科技有限公司 | 接口测试方法、接口测试装置、电子设备及存储介质 |
CN109522225A (zh) * | 2018-11-09 | 2019-03-26 | 网宿科技股份有限公司 | 一种自动化测试断言方法及装置、测试平台及存储介质 |
CN110083526A (zh) * | 2019-03-15 | 2019-08-02 | 深圳壹账通智能科技有限公司 | 应用程序测试方法、装置、计算机装置及存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111679989A (zh) * | 2020-06-16 | 2020-09-18 | 贝壳技术有限公司 | 接口健壮性测试方法、装置、电子设备及存储介质 |
CN112069292A (zh) * | 2020-09-09 | 2020-12-11 | 苏州思必驰信息科技有限公司 | 数据权限校验方法和装置 |
CN112069292B (zh) * | 2020-09-09 | 2022-07-12 | 思必驰科技股份有限公司 | 数据权限校验方法和装置 |
CN113742207A (zh) * | 2020-09-23 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 一种接口测试方法、装置、设备及计算机可读存储介质 |
CN112612665A (zh) * | 2020-12-26 | 2021-04-06 | 中国农业银行股份有限公司 | 一种金融智能设备的测试方法、装置及设备 |
CN113110997A (zh) * | 2021-04-23 | 2021-07-13 | 中国工商银行股份有限公司 | 一种测试方法、装置及设备 |
CN115129592A (zh) * | 2022-06-29 | 2022-09-30 | 北京永信至诚科技股份有限公司 | 一种用于接口测试过程的测试方法、***及电子设备 |
CN115114176A (zh) * | 2022-08-30 | 2022-09-27 | 云账户技术(天津)有限公司 | 用于自动化测试结果的断言方法、装置、介质、设备及程序 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111274131A (zh) | 接口测试方法、装置、电子设备及存储介质 | |
CN111221733A (zh) | 信息处理方法、装置、移动终端及存储介质 | |
CN107423218B (zh) | 应用测试方法、装置及终端 | |
CN115185717B (zh) | 接口调用方法、装置、电子设备和存储介质 | |
CN107562500B (zh) | 调试装置、方法及设备 | |
CN109684112B (zh) | 程序文件运行方法、装置、终端及存储介质 | |
CN113157256B (zh) | 接口代码的生成方法、装置、电子设备、存储介质及产品 | |
CN108984417B (zh) | 软件测试方法、装置、终端及存储介质 | |
CN114741292A (zh) | 测试脚本管理方法及装置、电子设备和存储介质 | |
CN116069612A (zh) | 一种异常定位方法、装置和电子设备 | |
CN111079040B (zh) | 资源嗅探方法、装置、终端、服务器及存储介质 | |
CN110221813B (zh) | 应用的数据连接建立方法、装置、存储介质和电子设备 | |
CN112416751A (zh) | 接口自动化测试的处理方法、装置及存储介质 | |
CN114896165A (zh) | 会话机器人***的测试方法、装置、电子设备和存储介质 | |
CN113626321B (zh) | 桥接测试方法、装置、***及存储介质 | |
CN111061633B (zh) | 一种网页首屏时间检测方法、装置、终端及介质 | |
CN112631695B (zh) | 一种数据校验方法、装置、电子设备及存储介质 | |
CN109947640B (zh) | 基于回归测试的核心功能覆盖度统计方法及装置 | |
CN114428737A (zh) | 基于微服务体系的通信方法、装置、设备及存储介质 | |
CN107193622B (zh) | 代码编译的处理方法、装置及终端 | |
CN107526683B (zh) | 应用程序功能冗余度的检测方法、装置及存储介质 | |
CN113206772B (zh) | 应答报文正确性判别方法、装置、设备、介质及产品 | |
CN111143184B (zh) | 数据处理方法、装置及*** | |
CN113515746B (zh) | 安全漏洞检测方法、装置、电子设备、存储介质及产品 | |
CN113965476B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200612 |