CN108647143A - Mock接口测试方法、装置、计算机设备以及存储介质 - Google Patents
Mock接口测试方法、装置、计算机设备以及存储介质 Download PDFInfo
- Publication number
- CN108647143A CN108647143A CN201810436317.8A CN201810436317A CN108647143A CN 108647143 A CN108647143 A CN 108647143A CN 201810436317 A CN201810436317 A CN 201810436317A CN 108647143 A CN108647143 A CN 108647143A
- Authority
- CN
- China
- Prior art keywords
- test
- script
- mock
- interfaces
- mock interfaces
- 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
- 238000010998 test method Methods 0.000 title claims abstract description 28
- 238000012360 testing method Methods 0.000 claims abstract description 338
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012790 confirmation Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 19
- 238000012549 training Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 238000012812 general test Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000010979 ruby Substances 0.000 description 2
- 229910001750 ruby Inorganic materials 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/3684—Test management for test design, e.g. generating new test cases
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
本发明实施例公开了一种MOCK接口测试方法、装置、计算机设备以及存储介质,其中,所述方法包括:接收针对MOCK接口的测试请求指令;根据所接收的测试请求指令生成用于测试MOCK接口的测试脚本;确定所述测试脚本对应的脚本标识;根据所述脚本标识确定目标MOCK接口;将所述测试脚本发送至目标MOCK接口,执行所述测试脚本以测试所述目标MOCK接口。本发明实施例能够在很大程度上减少编写测试代码的时间,提高测试效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种MOCK接口测试方法、装置、计算机设备以及存储介质。
背景技术
现有技术中,对于MOCK数据接口没有一个完整的测试方法去完成,如果通过人工针对逐个接口编写对应的测试代码时,通常会花费测试人员大量的时间,测试效率较低,并且随着技术的不断革新,业务量的不断增长,手工编写测试代码的方式已经不能满足当下的业务需求与发展。
发明内容
有鉴于此,本发明实施例提供一种MOCK接口测试方法、装置、计算机设备以及存储介质,能够在很大程度上减少编写测试代码的时间,提高测试效率。
一方面,本发明实施例提供了一种MOCK接口测试方法,该方法包括:
接收针对MOCK接口的测试请求指令;
根据所接收的测试请求指令生成用于测试MOCK接口的测试脚本;
确定所述测试脚本对应的脚本标识;
根据所述脚本标识确定目标MOCK接口;
将所述测试脚本发送至目标MOCK接口,执行所述测试脚本以测试所述目标MOCK接口。
另一方面,本发明实施例提供了一种MOCK接口测试装置,所述装置包括:
接收单元,用于接收针对MOCK接口的测试请求指令;
生成单元,用于根据所接收的测试请求指令生成用于测试MOCK接口的测试脚本;
第一确定单元,用于确定所述测试脚本对应的脚本标识;
第二确定单元,用于根据所述脚本标识确定目标MOCK接口;
第一执行单元,用于将所述测试脚本发送至目标MOCK接口,执行所述测试脚本以测试所述目标MOCK接口。
又一方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的MOCK接口测试方法。
再一方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行,以实现如上所述的MOCK接口测试方法。
本发明实施例提供一种MOCK接口测试方法、装置、计算机设备以及存储介质,其中方法包括:接收针对MOCK接口的测试请求指令;根据所接收的测试请求指令生成用于测试MOCK接口的测试脚本;确定所述测试脚本对应的脚本标识;根据所述脚本标识确定目标MOCK接口;将所述测试脚本发送至目标MOCK接口,执行所述测试脚本以测试所述目标MOCK接口。本发明实施例能够在很大程度上减少编写测试代码的时间,提高测试效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种MOCK接口测试方法的示意流程图;
图2是本发明实施例提供的一种MOCK接口测试方法的示意流程图;
图3是本发明实施例提供的一种MOCK接口测试方法的示意流程图;
图4是本发明实施例提供的一种MOCK接口测试方法的示意流程图;
图5是本发明实施例提供的一种MOCK接口测试方法的示意流程图;
图6是本发明另一实施例提供的一种MOCK接口测试方法的示意流程图;
图7是本发明实施例提供的一种MOCK接口测试装置的示意性框图;
图8是本发明实施例提供的一种MOCK接口测试装置的另一示意性框图;
图9是本发明实施例提供的一种MOCK接口测试装置的另一示意性框图;
图10是本发明实施例提供的一种MOCK接口测试装置的另一示意性框图;
图11是本发明实施例提供的一种MOCK接口测试装置的另一示意性框图;
图12是本发明实施例提供的一种MOCK接口测试装置的另一示意性框图;
图13是本发明实施例提供的一种计算机设备的结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
请参阅图1,图1为本发明实施例提供的一种MOCK接口测试方法的示意流程图。该方法可以运行在智能手机(如Android手机、IOS手机等)、平板电脑、笔记本电脑以及智能设备等终端中。本发明实施例所述的MOCK接口测试方法,在很大程度上可以减少编写测试代码的时间,提高测试效率。图1是本发明实施例提供的MOCK接口测试方法的示意流程图。该方法包括步骤S101~S105。
S101,接收针对MOCK接口的测试请求指令。
在本发明实施例中,该测试请求指令可以具体为用户触发在选择页面上的事件而产生的指令,该测试请求指令用于触发预设操作系统启动测试MOCK接口的测试程序,具体地,可以在供用户选择的选择页面上设置相应的虚拟控件,用户通过操作所设置的虚拟控件产生该测试请求指令,通过该测试请求指令触发预设操作系统启动测试MOCK接口的测试程序,其中,该预设操作系统可以是Windows系列操作系统、Unix类操作系统、Linux类操作系统或者Mac操作系统等等,具体的操作系统类型在此不作限制,用户可以根据测试需要以及测试环境等因素自主选择。
进一步地,如图2所示,所述步骤S101包括步骤S201~S202。
S201,检测预先设置于用户选择页面上的预设按键是否被用户点击,所述预设按键用于被触发而生成针对MOCK接口的测试请求指令。
在本发明实施例中,可以在供用户选择的选择页面上设置预设按键,该预设按键属于虚拟控件,可选的,可以在该预设按键上设置显示文字提示,该显示文字提示,用于向用户提示该预设按键会产生什么功能,例如,该显示文字提示为“生成测试请求指令”,或者,该显示文字提示,用于向用户提示该预设按键会触发什么程序,例如,该显示文字提示为“启动测试程序”等等。
S202,若所述预设按键被用户点击,确认接收到所述测试请求指令。
在本发明实施例中,当用户在选择页面上选择该预设按键,并点击该预设按键时,根据用户对预设按键的点击操作生成所述测试请求指令,通过设置该预设按键方便用户启动测试操作,提高用户的使用体验。
S102,根据所接收的测试请求指令生成用于测试MOCK接口的测试脚本。
在本发明实施例中,在当前选择页面上的预设按键中预先设置有用于生成所述测试脚本的应用代码,当用户触发预设按键并生成测试请求指令后,通过编译预先设置的应用代码而生成该测试脚本,通过设置用于生成测试脚本的应用代码,实现测试脚本的自动生成,减少用户手工编写代码的时间,改善用户的使用体验。
进一步地,如图3所示,所述步骤S102包括步骤S301~S302。
S301,根据接收到的测试请求指令,触发所述预先封装的代码执行编译操作。
在本发明实施例中,当接收到测试请求指令后,触发封装在该预设按键上的测试脚本的应用代码的编译操作,通过编译测试脚本的应用代码以生成用于MOCK接口测试的测试脚本;可选的,在选择页面上的预设按键可以包括两种按键类型,如通用按键和特定按键,其中,通用按键,针对的是测试过程相同的MOCK接口,特定按键,针对的是特定测试过程的MOCK接口;通用按键,封装在该通用按键上的测试脚本的代码为通用的应用代码,通过通用的测试脚本应用代码的编译生成用于MOCK接口测试的通用测试脚本,特定按键,封装在该特定按键上的测试脚本的应用代码为特定的应用代码,通过特定的测试脚本代码的编译生成用于MOCK接口测试的特定测试脚本。具体地,针对不同按键下的不同应用代码进行编译,以有及编译过程均可以通过编译器来完成,该编译器可以是支持AOP(Aspect OrientedProgramming,面向切面编程)编译的编译器,例如ASM和Aspectj编译器等。
S302,根据所述预先封装的代码的编译结果生成所述测试脚本。
在本发明实施例中,通过编译器对应用代码进行编译,其编译方法可以采用现有常用的代码编译方案,在此不再赘述。
S103,确定所述测试脚本对应的脚本标识。
在本发明实施例中,不同类型的测试脚本具有不同类型的脚本标识,所述脚本标识由一个或者多个字符串组成,该脚本标识用于标示该测试脚本归属的是哪类MOCK接口,具体地,如图4所示,所述步骤S103还包括以下步骤:S103a、通过执行插件,获取所述测试脚本的脚本名称;S103b,将所获取的脚本名称作为所述测试脚本的脚本标识。从测试脚本中提取脚本名称的内容可以直接使用插件进行获取,例如,ruby中可以直接用hpricot插件进行获取,该脚本标识可以是所述测试脚本的脚本名称,其中,该脚本标识包括指向MOCK接口类型的统一标识符,该统一标识符与所要测试的MOCK接口预先存储的接口标识形成映射关系。例如,通用的测试脚本A的脚本标识的标识符为“992CFFA0”,特定的测试脚本B的脚本标识的标识符为“992AFFA0”。需要说明的是,所述脚本标识的命名规则由前缀名和后缀名构成,本实施例中针对两种类型的MOCK接口,前缀名可以任意命名,如992,而后缀名的的表达方式指向了MOCK接口的类型,一般情况下,由后缀名的第一个字符决定MOCK接口的类型,如后缀名为“CFFA0”,其中“C”表示指向通用型的MOCK接口,再如后缀名为“AFFA0”,其中“A”表示指向特定型的MOCK接口。
S104,根据所述脚本标识确定目标MOCK接口。
在本发明实施例中,该脚本标识对应的测试脚本表示测试目标MOCK接口的具体流程,流程中的每一个步骤对应一个目标MOCK接口完整的测试过程,具体地,不同类型的目标MOCK接口中预先存储的接口标识不相同,通用MOCK接口的接口标识为“992CFFA0”,特定MOCK接口的接口标识为“992AFFA0”,根据脚本标识的标识符与所要测试的MOCK接口预先存储的接口标识形成的映射关系,可以确定测试脚本A中的脚本标识的标识符与通用MOCK接口的接口标识相同或者不相同,若测试脚本A中的脚本标识的标识符与通用MOCK接口的接口标识相同,将该通用MOCK接口确定为目标MOCK接口,将该测试脚本A确定为测试该目标MOCK接口的测试脚本。
进一步地,如图5所示,所述步骤S105包括步骤S401~S403。
S401,获取MOCK接口中预先存储的接口标识。
在本发明实施例中,MOCK接口的接口标识存储在MOCK接口的接口列表中,在该接口列表中记录着接口名称以及与接口名称对应的接口标识,其中,相同类型的MOCK接口所存储的接口列表相同,不同类型的MOCK接口所存储的接口列表不相同,例如表1,其中表1为通用型MOCK接口的接口列表,表1:
MOCK接口类型 | 接口标识 |
通用型MOCK接口 | 992CFFA0 |
例如表2,其中表2为特定型MOCK接口的接口列表,
表2:
MOCK接口类型 | 接口标识 |
特定型MOCK接口 | 992AFFA0 |
S402,将所述接口标识与所述脚本标识进行比较。
在本发明实施例中,比较该接口标识与所述脚本标识是否相同,具体的,由于脚本标识的标识符与接口标识的标识符在命名规则上相同,因此可以通过判断MOCK接口的接口标识与脚本标识相同与否,从而确定测试脚本所对应的MOCK接口,最后利用测试脚本对所确定的MOCK接口进行测试。
S403,选取与所述脚本标识相对应接口标识作为目标接口标识,并将与目标接口标识相对应的MOCK接口作为目标MOCK接口。
在本发明实施例中,所选取的目标接口标识可以包括一个或者多个,相对应地,所确定的目标MOCK接口也可以包括一个或者多个,其中,若接口标识与所述脚本标识进行匹配后,根据选取的目标接口标识所确定的MOCK接口为通用型MOCK接口,该类型的MOCK接口的数量至少为一个,也可以是多个,在对该类型的MOCK接口进行测试时,可以通过测试脚本同时对所有该类型的MOCK接口进行测试;若根据接口标识与所述脚本标识进行匹配后,所确定的MOCK接口为特定型MOCK接口,该类型的MOCK接口的数量只有一个,并不会存在多个的情况,那么在对该类型的MOCK接口进行测试时,只需要对所确定的一个特定型MOCK接口进行测试即可。
S105,将所述测试脚本发送至目标MOCK接口,执行所述测试脚本以测试所述目标MOCK接口。
在本发明实施例中,若该目标MOCK接口为通用型MOCK接口,且该接口的数量不止一个,则将所述测试脚本分别发送至多个通用型MOCK接口中,并执行测试程序;若该目标MOCK接口为特定型MOCK接口,则将所述测试脚本发送所确定的该特定型MOCK接口中,并执行测试程序。
需要说明的是,在执行所述测试脚本,测试目标MOCK接口之后,还可以生成测试日志,以记录测试过程中的数据,测试日志中可以包含目标MOCK接口的接口标识、测试脚本的脚本标识、测试脚本的生成时间、执行测试的测试人员的信息、测试结果信息等。测试日志可以直接显示在测试显示页面中,使测试人员直观的了解测试过程和测试结果,进一步的,还可以将测试日志保存在日志库中,便于日常维护。
由以上可见,本发明实施例通过接收用户针对MOCK接口的测试请求指令;根据所接收的测试请求指令生成用于MOCK接口的测试脚本;确定所述测试脚本对应的脚本标识;根据所述脚本标识确定目标MOCK接口;将所述测试脚本发送至目标MOCK接口,执行所述测试脚本以测试所述目标MOCK接口。本发明实施例能够在很大程度上减少编写测试代码的时间,提高测试效率。
请参阅图6,图6是本发明实施例提供的一种MOCK接口测试方法的示意流程图。该方法可以运行在智能手机(如Android手机、IOS手机等)、平板电脑、笔记本电脑以及智能设备等终端中。如图6所示,该方法包括步骤S501~S508。
S501,接收针对MOCK接口的测试请求指令。
在本发明实施例中,该测试请求指令可以具体为用户触发在选择页面上的事件而产生的指令,该测试请求指令用于触发预设操作系统启动测试MOCK接口的测试程序,具体地,可以在供用户选择的选择页面上设置相应的虚拟控件,用户通过操作所设置的虚拟控件产生该测试请求指令,通过该测试请求指令触发预设操作系统启动测试MOCK接口的测试程序,其中,该预设操作系统可以是Windows系列操作系统、Unix类操作系统、Linux类操作系统或者Mac操作系统等等,具体的操作系统类型在此不作限制,用户可以根据测试需要以及测试环境等因素自主选择。
S502,根据所接收的测试请求指令生成用于测试MOCK接口的测试脚本。
在本发明实施例中,在当前选择页面上的预设按键中预先设置有用于生成所述测试脚本的应用代码,当用户触发预设按键并生成测试请求指令后,通过编译预先设置的应用代码而生成该测试脚本,通过设置用于生成测试脚本的应用代码,实现测试脚本的自动生成,减少用户手工编写代码的时间,改善用户的使用体验。
S503,确定所述测试脚本对应的脚本标识。
在本发明实施例中,不同类型的测试脚本具有不同类型的脚本标识,所述脚本标识由一个或者多个字符串组成,该脚本标识用于标示该测试脚本归属的是哪类MOCK接口,具体地,从测试脚本中提取脚本名称的内容可以直接使用插件进行获取,例如,ruby中可以直接用hpricot插件进行获取,该脚本标识可以是所述测试脚本的脚本名称,其中,该脚本标识包括指向MOCK接口类型的统一标识符,该统一标识符与所要测试的MOCK接口预先存储的接口标识形成映射关系。例如,通用的测试脚本A的脚本标识的标识符为“992CFFA0”,特定的测试脚本B的脚本标识的标识符为“992AFFA0”。需要说明的是,所述脚本标识的命名规则由前缀名和后缀名构成,本实施例中针对两种类型的MOCK接口,前缀名可以任意命名,如992,而后缀名的的表达方式指向了MOCK接口的类型,一般情况下,由后缀名的第一个字符决定MOCK接口的类型,如后缀名为“CFFA0”,其中“C”表示指向通用型的MOCK接口,再如后缀名为“AFFA0”,其中“A”表示指向特定型的MOCK接口。
S504,根据所述脚本标识确定目标MOCK接口。
在本发明实施例中,该脚本标识对应的测试脚本表示测试目标MOCK接口的具体流程,流程中的每一个步骤对应一个目标MOCK接口完整的测试过程,具体地,不同类型的目标MOCK接口中预先存储的接口标识不相同,通用MOCK接口的接口标识为“992CFFA0”,特定MOCK接口的接口标识为“992AFFA0”,根据脚本标识的标识符与所要测试的MOCK接口预先存储的接口标识形成的映射关系,可以确定测试脚本A中的脚本标识的标识符与通用MOCK接口的接口标识相同或者不相同,若测试脚本A中的脚本标识的标识符与通用MOCK接口的接口标识相同,将该通用MOCK接口确定为目标MOCK接口,将该测试脚本A确定为测试该目标MOCK接口的测试脚本。
S505,将所述测试脚本发送至目标MOCK接口,执行所述测试脚本以测试所述目标MOCK接口。
在本发明实施例中,若该目标MOCK接口为通用型MOCK接口,且该接口的数量不止一个,则将所述测试脚本分别发送至多个通用型MOCK接口中,并执行测试程序;若该目标MOCK接口为特定型MOCK接口,则将所述测试脚本发送所确定的该特定型MOCK接口中,并执行测试程序。
需要说明的是,在执行所述测试脚本,测试目标MOCK接口之后,还可以生成测试日志,以记录测试过程中的数据,测试日志中可以包含目标MOCK接口的接口标识、测试脚本的脚本标识、测试脚本的生成时间、执行测试的测试人员的信息、测试结果信息等。测试日志可以直接显示在测试显示页面中,使测试人员直观的了解测试过程和测试结果,进一步的,还可以将测试日志保存在日志库中,便于日常维护。
S506,获取所述目标MOCK接口的测试结果。
在本发明实施例中,可以在对目标MOCK接口执行测试脚本之前,还可以对该测试进行预期,并得出预期结果,在对目标MOCK接口执行测试脚本之后,获取所测试的测试结果,通过比较预期结果与测试结果,从而判断测试脚本是否合格或者该测试脚本的测试是否通过。在一个实施方式中,如表3所示,表3给出了测试脚本对MOCK接口进行测试的预期结果,
表3:
测试项 | 预期结果 |
功能测试 | 接口满足所提供的功能 |
逻辑测试 | 接口内部逻辑清楚 |
异常情况测试 | 异常情况处理正常 |
如表4所示,表4给出了测试脚本对MOCK接口进行测试的测试结果,
表4:
那么,在本实施例中,测试结果并不符合预期结果,判断测试脚本不合格或者该测试脚本的测试未通过。
S507,判断所述测试结果与预期结果是否匹配。
在本发明实施例中,针对目标MOCK接口的每个测试项,若存在至少一项测试项不符合预期结果,即可判断测试结果并不符合预期结果,判断测试脚本不合格或者该测试脚本的测试未通过。
S508,若所述测试结果与预期结果相匹配,判定所述测试脚本的测试通过。
在本发明实施例中,针对目标MOCK接口的每个测试项,若测试结果的所有测试项都符合预期结果,即可判断测试结果符合预期结果,判定测试脚本合格或者该测试脚本的测试通过。
请参阅图7,对应上述一种MOCK接口测试方法,本发明实施例还提出一种MOCK接口测试装置,该装置100包括:接收单元101、生成单元102、第一确定单元103、第二确定单元104、第一执行单元105。
其中,所述接收单元101,用于接收针对MOCK接口的测试请求指令。
生成单元102,用于根据所接收的测试请求指令生成用于测试MOCK接口的测试脚本。
第一确定单元103,用于确定所述测试脚本对应的脚本标识。
第二确定单元104,用于根据所述脚本标识确定目标MOCK接口。
第一执行单元105,用于将所述测试脚本发送至目标MOCK接口,执行所述测试脚本以测试所述目标MOCK接口。
由以上可见,本发明实施例通过接收针对MOCK接口的测试请求指令;根据所接收的测试请求指令生成用于测试MOCK接口的测试脚本;确定所述测试脚本对应的脚本标识;根据所述脚本标识确定目标MOCK接口;将所述测试脚本发送至目标MOCK接口,执行所述测试脚本以测试所述目标MOCK接口。本发明实施例能够在很大程度上减少编写测试代码的时间,提高测试效率。
如图8所示,所述接收单元101,包括:
检测单元1011,用于检测预先设置于用户选择页面上的预设按键是否被用户点击,所述预设按键用于被触发而生成针对MOCK接口的测试请求指令。
第三确认单元1012,用于若所述预设按键被用户点击,确认接收到所述测试请求指令。
如图9所示,所述建立单元102,包括:
触发单元1021,用于根据接收到的测试请求指令,触发预先封装的代码执行编译操作。
生成子单元1022,用于根据所述预先封装的代码的编译结果生成所述测试脚本。
如图10所示,所述第一确定单元103,包括:
第一获取单元1031,用于通过执行插件,获取所述测试脚本的脚本名称。
第二执行单元1032,用于将所获取的脚本名称作为所述测试脚本的脚本标识。
如图11所示,所述第二确定单元104,包括:
第二获取单元1041,用于获取MOCK接口中预先存储的接口标识。
比较单元1042,用于将所述接口标识与所述脚本标识进行比较。
第三执行单元1043,用于选取与所述脚本标识相对应接口标识作为目标接口标识,并将与目标接口标识相对应的MOCK接口作为目标MOCK接口。
请参阅图12,对应上述一种MOCK接口测试方法,本发明实施例还提出一种MOCK接口测试装置,该装置200包括:接收单元201、生成单元202、第一确定单元203、第二确定单元204、第一执行单元205、第三获取单元206、判断单元207、判定单元208。
其中,所述接收单元201,用于接收针对MOCK接口的测试请求指令。
生成单元202,用于根据所接收的测试请求指令生成用于MOCK接口的测试脚本。
第一确定单元203,用于确定所述测试脚本对应的脚本标识。
第二确定单元204,用于根据所述脚本标识确定目标MOCK接口。
第一执行单元205,用于将所述测试脚本发送至目标MOCK接口,执行所述测试脚本以测试所述目标MOCK接口。
第三获取单元206,用于获取所述目标MOCK接口的测试结果。
判断单元207,用于判断所述测试结果与预期结果是否匹配。
判定单元208,用于若所述测试结果与预期结果相匹配,判定所述测试脚本的测试通过。
在硬件实现上,以上接收单元101、生成单元102、第一确定单元103、第二确定单元104、第一执行单元105等可以以硬件形式内嵌于或独立于数据处理的装置中,也可以以软件形式存储于数据处理装置的存储器中,以便处理器调用执行以上各个单元对应的操作。该处理器可以为中央处理单元(CPU)、微处理器、单片机等。
上述MOCK接口测试装置可以实现为一种计算机程序的形式,计算机程序可以在如图13所示的计算机设备上运行。
图13为本发明一种计算机设备的结构组成示意图。该设备可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式装置等具有通信功能的电子装置。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。参照图13,该计算机设备500包括通过系统总线501连接的处理器502、非易失性存储介质503、内存储器504和网络接口505。其中,该计算机设备500的非易失性存储介质503可存储操作系统5031和计算机程序5032,该计算机程序5032被执行时,可使得处理器502执行一种MOCK接口测试方法。该计算机设备500的处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序被处理器执行时,可使得处理器502执行一种MOCK接口测试方法。计算机设备500的网络接口505用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502执行所述计算机程序时实现如下操作:
接收针对MOCK接口的测试请求指令;
根据所接收的测试请求指令生成用于测试MOCK接口的测试脚本;
确定所述测试脚本对应的脚本标识;
根据所述脚本标识确定目标MOCK接口;
将所述测试脚本发送至目标MOCK接口,执行所述测试脚本以测试所述目标MOCK接口。
在一个实施例中,接收针对MOCK接口的测试请求指令,包括:
检测预先设置于用户选择页面上的预设按键是否被用户点击,所述预设按键用于被触发而生成针对MOCK接口的测试请求指令;
若所述预设按键被用户点击,确认接收到所述测试请求指令。
在一个实施例中,根据所接收的测试请求指令生成用于测试MOCK接口的测试脚本,包括:
根据所接收到的测试请求指令,触发预先封装的代码执行编译操作;
根据所述预先封装的代码的编译结果生成所述测试脚本。
在一个实施例中,所述确定所述测试脚本对应的脚本标识,包括:
通过执行插件,获取所述测试脚本的脚本名称;
将所获取的脚本名称作为所述测试脚本的脚本标识。
在一个实施例中,所述脚本标识由一个或者多个字符串组成。
在一个实施例中,所述根据所述脚本标识确定目标MOCK接口,包括:
获取MOCK接口中预先存储的接口标识;
将所述接口标识与所述脚本标识进行比较;
选取与所述脚本标识相对应接口标识作为目标接口标识,并将与目标接口标识相对应的MOCK接口作为目标MOCK接口。
在一个实施例中,所述处理器502执行所述计算机程序时还实现如下操作:
获取所述目标MOCK接口的测试结果;
判断所述测试结果与预期结果是否匹配;
若所述测试结果与预期结果相匹配,判定所述测试脚本的测试通过。
本领域技术人员可以理解,图13中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图13所示实施例一致,在此不再赘述。
本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行,以实现以下步骤:
接收针对MOCK接口的测试请求指令;
根据所接收的测试请求指令生成用于测试MOCK接口的测试脚本;
确定所述测试脚本对应的脚本标识;
根据所述脚本标识确定目标MOCK接口;
将所述测试脚本发送至目标MOCK接口,执行所述测试脚本以测试所述目标MOCK接口。
在一个实施例中,接收针对MOCK接口的测试请求指令,包括:
检测预先设置于用户选择页面上的预设按键是否被用户点击,所述预设按键用于被触发而生成针对MOCK接口的测试请求指令;
若所述预设按键被用户点击,确认接收到所述测试请求指令。
在一个实施例中,根据所接收的测试请求指令生成用于测试MOCK接口的测试脚本,包括:
根据所接收到的测试请求指令,触发预先封装的代码执行编译操作;
根据所述预先封装的代码的编译结果生成所述测试脚本。
在一个实施例中,所述确定所述测试脚本对应的脚本标识,包括:
通过执行插件,获取所述测试脚本的脚本名称;
将所获取的脚本名称作为所述测试脚本的脚本标识。
在一个实施例中,所述脚本标识由一个或者多个字符串组成。
在一个实施例中,所述根据所述脚本标识确定目标MOCK接口,包括:
获取MOCK接口中预先存储的接口标识;
将所述接口标识与所述脚本标识进行比较;
选取与所述脚本标识相对应接口标识作为目标接口标识,并将与目标接口标识相对应的MOCK接口作为目标MOCK接口。
在一个实施例中,还实现以下步骤:
获取所述目标MOCK接口的测试结果;
判断所述测试结果与预期结果是否匹配;
若所述测试结果与预期结果相匹配,判定所述测试脚本的测试通过。
本发明前述的存储介质包括:磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)等各种可以存储程序代码的介质。
本发明所有实施例中的单元可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application SpecificIntegrated Circuit,专用集成电路)来实现。
本发明实施例MOCK接口测试方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例MOCK接口测试装置中的单元可以根据实际需要进行合并、划分和删减。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种MOCK接口测试方法,其特征在于,所述方法包括:
接收针对MOCK接口的测试请求指令;
根据所接收的测试请求指令生成用于测试MOCK接口的测试脚本;
确定所述测试脚本对应的脚本标识;
根据所述脚本标识确定目标MOCK接口;
将所述测试脚本发送至目标MOCK接口,执行所述测试脚本以测试所述目标MOCK接口。
2.如权利要求1所述的方法,其特征在于,接收针对MOCK接口的测试请求指令,包括:
检测预先设置于用户选择页面上的预设按键是否被用户点击,所述预设按键用于被触发而生成针对MOCK接口的测试请求指令;
若所述预设按键被用户点击,确认接收到所述测试请求指令。
3.如权利要求1所述的方法,其特征在于,根据所接收的测试请求指令生成用于测试MOCK接口的测试脚本,包括:
根据所接收到的测试请求指令,触发预先封装的代码执行编译操作;
根据所述预先封装的代码的编译结果生成所述测试脚本。
4.如权利要求1所述的方法,其特征在于,所述确定所述测试脚本对应的脚本标识,包括:
通过执行插件,获取所述测试脚本的脚本名称;
将所获取的脚本名称作为所述测试脚本的脚本标识。
5.如权利要求1所述的方法,其特征在于,所述脚本标识由一个或者多个字符串组成。
6.如权利要求1所述的方法,其特征在于,所述根据所述脚本标识确定目标MOCK接口,包括:
获取MOCK接口中预先存储的接口标识;
将所述接口标识与所述脚本标识进行比较;
选取与所述脚本标识相对应接口标识作为目标接口标识,并将与目标接口标识相对应的MOCK接口作为目标MOCK接口。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述目标MOCK接口的测试结果;
判断所述测试结果与预期结果是否匹配;
若所述测试结果与预期结果相匹配,判定所述测试脚本的测试通过。
8.一种MOCK接口测试装置,其特征在于,所述装置包括:
接收单元,用于接收针对MOCK接口的测试请求指令;
生成单元,用于根据所接收的测试请求指令生成用于测试MOCK接口的测试脚本;
第一确定单元,用于确定所述测试脚本对应的脚本标识;
第二确定单元,用于根据所述脚本标识确定目标MOCK接口;
第一执行单元,用于将所述测试脚本发送至目标MOCK接口,执行所述测试脚本以测试所述目标MOCK接口。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5任一项所述的MOCK接口测试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行,以实现如权利要求1-5任一项所述的MOCK接口测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810436317.8A CN108647143A (zh) | 2018-05-09 | 2018-05-09 | Mock接口测试方法、装置、计算机设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810436317.8A CN108647143A (zh) | 2018-05-09 | 2018-05-09 | Mock接口测试方法、装置、计算机设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108647143A true CN108647143A (zh) | 2018-10-12 |
Family
ID=63753762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810436317.8A Pending CN108647143A (zh) | 2018-05-09 | 2018-05-09 | Mock接口测试方法、装置、计算机设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108647143A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614322A (zh) * | 2018-11-28 | 2019-04-12 | 北京京东金融科技控股有限公司 | 基于Mock的单元测试方法、装置、设备及可读存储介质 |
CN109857656A (zh) * | 2019-01-18 | 2019-06-07 | 深圳壹账通智能科技有限公司 | 基于测试的适配方法、装置、计算机设备及存储介质 |
CN110633213A (zh) * | 2019-09-19 | 2019-12-31 | 浙江大搜车软件技术有限公司 | 单元测试方法、装置、计算机设备和存储介质 |
CN110688662A (zh) * | 2019-09-16 | 2020-01-14 | 威富通科技有限公司 | 一种敏感数据脱敏及逆脱敏方法、电子设备 |
CN110765024A (zh) * | 2019-10-29 | 2020-02-07 | 百度在线网络技术(北京)有限公司 | 模拟测试方法、装置、电子设备和计算机可读存储介质 |
CN111181805A (zh) * | 2019-12-25 | 2020-05-19 | 航天信息股份有限公司 | 一种基于测试用例的微服务测试挡板生成方法及系统 |
CN111258898A (zh) * | 2020-01-15 | 2020-06-09 | 平安医疗健康管理股份有限公司 | 自动化测试方法、装置、计算机设备和存储介质 |
CN111581110A (zh) * | 2020-04-16 | 2020-08-25 | 贝壳技术有限公司 | 一种业务数据准确性检测方法、装置、系统及存储介质 |
CN112416750A (zh) * | 2020-10-10 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 应用程序边界测试方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227345A (zh) * | 2008-02-05 | 2008-07-23 | 中兴通讯股份有限公司 | 基于应用程序接口的自动测试方法 |
WO2009108203A1 (en) * | 2008-02-29 | 2009-09-03 | Hewlett-Packard Development Company, L.P. | Identification of elements of currently-executing component script |
CN103150255A (zh) * | 2013-03-29 | 2013-06-12 | 北京经纬恒润科技有限公司 | 一种脚本测试方法及装置 |
CN106933729A (zh) * | 2015-12-29 | 2017-07-07 | 苏宁云商集团股份有限公司 | 一种基于云平台的测试方法和系统 |
-
2018
- 2018-05-09 CN CN201810436317.8A patent/CN108647143A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227345A (zh) * | 2008-02-05 | 2008-07-23 | 中兴通讯股份有限公司 | 基于应用程序接口的自动测试方法 |
WO2009108203A1 (en) * | 2008-02-29 | 2009-09-03 | Hewlett-Packard Development Company, L.P. | Identification of elements of currently-executing component script |
CN103150255A (zh) * | 2013-03-29 | 2013-06-12 | 北京经纬恒润科技有限公司 | 一种脚本测试方法及装置 |
CN106933729A (zh) * | 2015-12-29 | 2017-07-07 | 苏宁云商集团股份有限公司 | 一种基于云平台的测试方法和系统 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614322A (zh) * | 2018-11-28 | 2019-04-12 | 北京京东金融科技控股有限公司 | 基于Mock的单元测试方法、装置、设备及可读存储介质 |
CN109857656A (zh) * | 2019-01-18 | 2019-06-07 | 深圳壹账通智能科技有限公司 | 基于测试的适配方法、装置、计算机设备及存储介质 |
CN110688662A (zh) * | 2019-09-16 | 2020-01-14 | 威富通科技有限公司 | 一种敏感数据脱敏及逆脱敏方法、电子设备 |
CN110633213A (zh) * | 2019-09-19 | 2019-12-31 | 浙江大搜车软件技术有限公司 | 单元测试方法、装置、计算机设备和存储介质 |
CN110633213B (zh) * | 2019-09-19 | 2023-07-04 | 浙江大搜车软件技术有限公司 | 单元测试方法、装置、计算机设备和存储介质 |
CN110765024A (zh) * | 2019-10-29 | 2020-02-07 | 百度在线网络技术(北京)有限公司 | 模拟测试方法、装置、电子设备和计算机可读存储介质 |
CN110765024B (zh) * | 2019-10-29 | 2023-08-29 | 百度在线网络技术(北京)有限公司 | 模拟测试方法、装置、电子设备和计算机可读存储介质 |
CN111181805B (zh) * | 2019-12-25 | 2022-04-29 | 航天信息股份有限公司 | 一种基于测试用例的微服务测试挡板生成方法及系统 |
CN111181805A (zh) * | 2019-12-25 | 2020-05-19 | 航天信息股份有限公司 | 一种基于测试用例的微服务测试挡板生成方法及系统 |
CN111258898A (zh) * | 2020-01-15 | 2020-06-09 | 平安医疗健康管理股份有限公司 | 自动化测试方法、装置、计算机设备和存储介质 |
CN111581110A (zh) * | 2020-04-16 | 2020-08-25 | 贝壳技术有限公司 | 一种业务数据准确性检测方法、装置、系统及存储介质 |
CN111581110B (zh) * | 2020-04-16 | 2023-08-15 | 贝壳技术有限公司 | 一种业务数据准确性检测方法、装置、系统及存储介质 |
CN112416750A (zh) * | 2020-10-10 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 应用程序边界测试方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108647143A (zh) | Mock接口测试方法、装置、计算机设备以及存储介质 | |
CN104246767B (zh) | 用于云同步系统的遥测系统 | |
KR102471174B1 (ko) | 테마 적용 방법 및 이를 수행하는 전자 장치 | |
EP3335411B1 (en) | Electronic device and method of managing application programs thereof | |
KR102663256B1 (ko) | 커넥터의 부식을 방지하는 전자 장치 및 방법 | |
US20160239645A1 (en) | Method and apparatus for managing module use of multi-user based device | |
US20180302231A1 (en) | Method for processing job information and electronic device supporting same | |
CN105446611B (zh) | 用于对触摸输入进行处理的装置及其方法 | |
CN105389325A (zh) | 内容搜索方法和实施内容搜索方法的电子装置 | |
CN104169902B (zh) | 同步本地和远程数据 | |
CN106484479B (zh) | 一种多开应用的管理方法、装置及智能终端 | |
US9986082B2 (en) | Interface device and method between electronic device and external device using ear jack of the electronic device | |
US10997268B2 (en) | Method for providing push service using web push, and electronic device supporting same | |
CN108664786A (zh) | 应用程序的权限配置方法、移动终端、服务器及存储介质 | |
CN108170438A (zh) | 一种应用程序自动安装方法、终端及计算机可读介质 | |
CN107360265B (zh) | 一种设备唯一标识码获取方法、装置及移动终端 | |
KR20150073354A (ko) | 디스플레이를 통하여 제공되는 오브젝트 처리 방법 및 장치 | |
CN106445671B (zh) | 一种应用程序的管理方法、装置及终端 | |
CN110377341A (zh) | 一种监听无响应异常的方法、装置、介质和电子设备 | |
CN107908460A (zh) | 虚拟机快速扩容方法、装置、设备以及存储介质 | |
CN110532107A (zh) | 接口调用方法、装置、计算机设备及存储介质 | |
EP3455712B1 (en) | Electronic device and control method therefor | |
CN110231923B (zh) | 数据管理方法和装置 | |
CN109921916B (zh) | 多人群组中的消息处理方法、装置、存储介质及终端设备 | |
KR20170065904A (ko) | 콘텐트 프리로딩 방법 및 이를 지원하는 전자 장치 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181012 |