CN107203466A - Api测试方法和装置 - Google Patents

Api测试方法和装置 Download PDF

Info

Publication number
CN107203466A
CN107203466A CN201610158553.9A CN201610158553A CN107203466A CN 107203466 A CN107203466 A CN 107203466A CN 201610158553 A CN201610158553 A CN 201610158553A CN 107203466 A CN107203466 A CN 107203466A
Authority
CN
China
Prior art keywords
node path
test
api
testing
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
Application number
CN201610158553.9A
Other languages
English (en)
Other versions
CN107203466B (zh
Inventor
何新荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Midea Group Co Ltd
Original Assignee
Midea Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Midea Group Co Ltd filed Critical Midea Group Co Ltd
Priority to CN201610158553.9A priority Critical patent/CN107203466B/zh
Publication of CN107203466A publication Critical patent/CN107203466A/zh
Application granted granted Critical
Publication of CN107203466B publication Critical patent/CN107203466B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Abstract

本发明公开了一种API测试方法和装置,其中,所述方法包括以下步骤:获取测试数据,其中,测试数据是解析API的返回数据后得到的;提取测试数据中的多个节点路径,并将多个节点路径添加至节点路径集合;遍历节点路径集合,对节点路径集合中的多个节点路径以及多个节点路径对应的节点值进行验证;以及根据验证结果生成测试数据的测试结果。由此,本发明实施例的API测试方法,能够自动验证测试数据并返回测试结果,无需人为干扰,在给用户带来便利的同时,还提高了效率和精准度,从而提升了用户体验。

Description

API测试方法和装置
技术领域
本发明涉及API测试技术领域,具体涉及一种API测试方法和一种API测试装置。
背景技术
API(Application Programming Interface,应用编程接口)作为系统的重要组成部分,也是系统测试过程中必不可少的一个环节。
目前,API测试是一种作为集成测试的一部分,通过直接控制被测应用的接口(API)来确定是否在功能、可靠性、性能和安全方面达到预期的软件测试活动。由于API都没有GUI(Graphical User Interface,图形用户接口)界面,API测试都是在通讯层进行的。在现有的API测试过程当中,一般都需要人为的去确认API的返回数据是否正确,这无疑增加了测试人员的工作强度,并且效率和精准度较低。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种API测试方法,该方法能够自动验证测试数据并返回测试结果,无需人为干扰,在给用户带来便利的同时,还提高了效率和精准度,从而提升了用户体验。
本发明的第二个目的在于提出一种API测试装置。
为实现上述目的,本发明第一方面实施例提出了一种API测试方法,包括以下步骤:获取测试数据,其中,所述测试数据是解析API的返回数据后得到的;提取所述测试数据中的多个节点路径,并将所述多个节点路径添加至节点路径集合;遍历所述节点路径集合,对所述节点路径集合中的多个节点路径以及所述多个节点路径对应的节点值进行验证;以及根据验证结果生成所述测试数据的测试结果。
根据本发明实施例的API测试方法,通过获取测试数据,提取测试数据中的多个节点路径,并将多个节点路径添加至节点路径集合,而后遍历节点路径集合,对节点路径集合中的多个节点路径以及多个节点路径对应的节点值进行验证,以及根据验证结果生成测试数据的测试结果,由此,该方法能够自动验证测试数据并返回测试结果,无需人为干扰,在给用户带来便利的同时,还提高了效率和精准度,从而提升了用户体验。
另外,根据本发明上述API测试方法还可以具有如下附加的技术特征:
在本发明的一个实施例中,所述对所述节点路径集合中的多个节点路径以及所述多个节点路径对应的节点值进行验证,包括:判断所述节点路径集合中的当前节点路径是否存在;若所述当前节点路径存在,则根据所述当前节点路径获取所述当前节点路径对应的节点值;将所述当前节点路径对应的节点值与预期节点值进行比较,以判断所述当前节点路径以及所述当前节点路径对应的节点值是否符合预设要求。
在本发明的一个实施例中,在所述判断所述节点路径集合中的当前节点路径是否存在之后,还包括:若所述当前节点路径不存在,则判断所述当前节点路径验证失败,并进一步判断所述当前节点路径的下一个节点路径是否存在。
在本发明的一个实施例中,上述API测试方法还包括:若所述节点路径集合的所述多个节点路径中验证失败的节点路径的数量超过预设阈值时,生成所述测试数据测试失败的测试结果。
在本发明的一个实施例中,在所述获取测试数据之前,还包括:编写多个固定格式的测试方法,其中,所述多个固定格式的测试方法具有不同的名称和注释;根据所述固定格式的测试方法的名称和注释配置请求报文,并编写所述请求报文对应的请求数据文件;根据所述请求报文和所述请求数据文件执行所述固定格式的测试方法,并判断所述固定格式的测试方法是否执行成功;如果所述固定格式的测试方法执行成功,则根据所述固定格式的测试方法对应的预期数据对所述测试数据进行测试。
在本发明的一个实施例中,所述请求报文为Excel文件,所述请求数据文件为JSON文件,所述预期数据和所述测试数据均为JSON数据。
在本发明的一个实施例中,通过配置文件来确定所述请求数据的加密方案。
在本发明的一个实施例中,上述API测试方法还包括:如果所述固定格式的测试方法执行失败,则终止执行后续的所述固定格式的测试方法,并对所述固定格式的测试方法、所述请求报文和请求数据文件中的至少一个进行检测和修改。
在本发明的一个实施例中,所述请求报文包含方法名称、接口描述、接口请求地址和请求方式。
为实现上述目的,本发明第二方面实施例提出了一种API测试装置,包括:获取模块,用于获取测试数据,其中,所述测试数据是解析API的返回数据后得到的;提取模块,用于提取所述测试数据中的多个节点路径,并将所述多个节点路径添加至节点路径集合;验证模块,用于遍历所述节点路径集合,对所述节点路径集合中的多个节点路径以及所述多个节点路径对应的节点值进行验证;以及生成模块,用于根据验证结果生成所述测试数据的测试结果。
根据本发明实施例的API测试装置,通过获取模块获取测试数据,并通过提取模块提取测试数据中的多个节点路径,并将多个节点路径添加至节点路径集合,而后通过遍历模块历节点路径集合,对节点路径集合中的多个节点路径以及多个节点路径对应的节点值进行验证,以及生成模块根据验证结果生成测试数据的测试结果。由此,该装置能够自动验证测试数据并返回测试结果,无需人为干扰,在给用户带来便利的同时,还提高了效率和精准度,从而提升了用户体验。
另外,根据本发明上述API测试装置还可以具有如下附加的技术特征:
在本发明的一个实施例中,所述验证模块,包括:第一判断单元,用于判断所述节点路径集合中的当前节点路径是否存在;获取单元,用于若所述当前节点路径存在,则根据所述当前节点路径获取所述当前节点路径对应的节点值;第二判断单元,用于将所述当前节点路径对应的节点值与预期节点值进行比较,以判断所述当前节点路径以及所述当前节点路径对应的节点值是否符合预设要求。
在本发明的一个实施例中,所述验证模块,还包括:第三判断单元,用于若所述当前节点路径不存在,则判断所述当前节点路径验证失败,并进一步判断所述当前节点路径的下一个节点路径是否存在。
在本发明的一个实施例中,所述验证模块,还包括:生成单元,用于在所述节点路径集合的所述多个节点路径中验证失败的节点路径的数量超过预设阈值时,生成所述测试数据测试失败的测试结果。
在本发明的一个实施例中,上述API测试装置还包括:编写模块,用于编写多个固定格式的测试方法,其中,所述多个固定格式的测试方法具有不同的名称和注释;配置模块,用于根据所述固定格式的测试方法的名称和注释配置请求报文,并编写所述请求报文对应的请求数据文件;判断模块,用于根据所述请求报文和所述请求数据文件执行所述固定格式的测试方法,并判断所述固定格式的测试方法是否执行成功;测试模块,用于在所述固定格式的测试方法执行成功时,根据所述固定格式的测试方法对应的预期数据对所述测试数据进行测试。
在本发明的一个实施例中,所述请求报文为Excel文件,所述请求数据文件为JSON文件,所述预期数据和所述测试数据均为JSON数据。
在本发明的一个实施例中,通过配置文件来确定所述请求数据的加密方案。
在本发明的一个实施例中,上述API测试装置还包括:修改模块,用于在所述固定格式的测试方法执行失败时,终止执行后续的所述固定格式的测试方法,并对所述固定格式的测试方法、所述请求报文和请求数据文件中的至少一个进行检测和修改。
在本发明的一个实施例中,所述请求报文包含方法名称、接口描述、接口请求地址和请求方式。
本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1是根据本发明一个实施例的API测试方法的流程图。
图2是根据本发明另一个实施例的API测试方法的流程图。
图3是根据本发明一个实施例的固定格式的测试方法的代码示意图。
图4是根据本发明一个实施例的请求文件的示意图。
图5是根据本发明一个实施例的固定格式的测试方法执行输出结果示意图。
图6是根据本发明一个实施例的API测试装置的方框示意图。
图7是根据本发明另一个实施例的API测试装置的方框示意图。
图8是根据本发明又一个实施例的API测试装置的方框示意图。
图9是根据本发明再一个实施例的API测试装置的方框示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图来描述根据本发明实施例提出的API测试方法和装置。
图1为根据本发明一个实施例的API测试方法的流程图。
如图1所示,本发明实施例的API测试方法,包括以下步骤:
S1,获取测试数据。
其中,测试数据是解析API的返回数据后得到的,测试数据可为JSON数据。
在本发明的一个实施例中,如图2所示,在获取测试数据之前,还可以包括以下步骤:
S101,编写多个固定格式的测试方法,其中,多个固定格式的测试方法具有不同的名称和注释。
具体地,上述API测试方法可提供一段固定格式的测试代码,用户可以通过将该段固定格式的测试代码进行粘贴复制,并修改其名称和注释,来编写多个固定格式的测试方法,其中,多个固定格式的测试方法具有不同的名称和注释。例如,如图3所示,是用户登录API的测试方法。由此,用户即使不会编程,也可以轻松编写自动化测试代码,以便完成接口(API)自动化的测试。
S102,根据固定格式的测试方法的名称和注释配置请求报文,并编写请求报文对应的请求数据文件。其中,请求报文可包含方法名称、接口描述、接口请求地址和请求方式等,并且请求报文可为Excel文件,请求数据文件可为JSON文件,并且请求数据文件中含有测试参数。
需要理解的是,如图4所示,请求报文中的方法名称与固定格式的测试方法的名称相同,并且一一对应,接口描述可与固定格式的测试方法的注释相同,以便固定格式的测试方法在测试的时候顺利的连接待测的API。
在本发明的实施例中,可通过配置文件来确定请求数据的加密方案,其中,配置文件可为Parameters.xml文件。
S103,根据请求报文和请求数据文件执行固定格式的测试方法,并判断固定格式的测试方法是否执行成功。
具体地,根据请求报文找到相应的待测API,然后将请求数据文件中的参数代入待测的API中并执行相应的固定格式的测试方法,以及根据输出结果判断该固定格式的测试方法是否执行成功。例如,如图5所示,如果输出结果中包含请求返回参数,则表明该固定格式的测试方法执行成功,否则执行失败。
进一步地,在本发明的一个实施例中,如果固定格式的测试方法执行失败,则终止执行后续的固定格式的测试方法,并对固定格式的测试方法、请求报文和请求数据文件中的至少一个进行检测和修改。
S104,如果固定格式的测试方法执行成功,则根据固定格式的测试方法对应的预期数据对测试数据进行测试。其中,预期数据是用户根据实际情况进行编写的,预期数据可为JSON数据。
S2,提取测试数据中的多个节点路径,并将多个节点路径添加至节点路径集合。
S3,遍历节点路径集合,对节点路径集合中的多个节点路径以及多个节点路径对应的节点值进行验证。
在本发明的一个实施例中,对节点路径集合中的多个节点路径以及多个节点路径对应的节点值进行验证,具体可包括,判断节点路径集合中的当前节点路径是否存在,若当前节点路径存在,则根据当前节点路径获取当前节点路径对应的节点值,并将当前节点路径对应的节点值与预期节点值进行比较,以判断当前节点路径以及当前节点路径对应的节点值是否符合预设要求,其中,预设要求可根据实际情况进行标定;若当前节点路径不存在,则判断当前节点路径验证失败,并进一步判断当前节点路径的下一个节点路径是否存在。其中,需要理解的是,上述预期节点值是从预期数据中解析而来的。
在本发明的另一个实施例中,上述API测试方法还可包括:若节点路径集合的多个节点路径中验证失败的节点路径的数量超过预设阈值时,生成测试数据测试失败的测试结果。其中,预设阀值可根据实际情况进行标定,例如,预设阀值可为2。
举例而言,判断节点路径集合中的当前节点路径是否存在,若当前节点路径不存在,则可将本次验证标记为“FAIL”,并且抛出异常,同时进入下一个循环,继续判断下一个节点路径;若当前节点路径存在,则可根据当前节点路径获取当前节点路径对应的节点值,并将当前节点路径对应的节点值与预期节点值进行比较,如果该节点值与预期节点值相等,则可将本次验证标记为“PASS”,如果该节点值与预期节点值不相等,则可将本次验证标记为“FAIL”,同时进入下一个循环,继续判断下一个节点路径,直至出现标记为“FAIL”的次数大于或等于预设阀值(例如2),或者节点路径集合遍历完毕,则该API的测试结束,并生成相应的测试结果。由此,能够自动验证测试数据并返回测试结果,无需人为干扰,在给用户带来便利的同时,还提高了效率和精准度,从而提升了用户体验。
S4,根据验证结果生成测试数据的测试结果。
根据本发明实施例的API测试方法,通过获取测试数据,提取测试数据中的多个节点路径,并将多个节点路径添加至节点路径集合,而后遍历节点路径集合,对节点路径集合中的多个节点路径以及多个节点路径对应的节点值进行验证,以及根据验证结果生成测试数据的测试结果,由此,能够自动验证测试数据并返回测试结果,无需人为干扰,在给用户带来便利的同时,还提高了效率和精准度,从而提升了用户体验。
为了实现上述实施例,本发明还提出一种API测试装置。
图6是根据本发明一个实施例的API测试装置的方框示意图。
如图6所示,该API测试装置包括获取模块100、提取模块200、验证模块300和生成模块400。
具体地,获取模块100用于获取测试数据。
其中,测试数据是解析API的返回数据后得到的,测试数据可为JSON数据。
在本发明的一个实施例中,如图7所示,上述API测试装置还可包括编写模块500、配置模块600、判断模块700和测试模块800。
具体地,编写模块500用于编写多个固定格式的测试方法,其中,多个固定格式的测试方法具有不同的名称和注释。
具体地,编写模块500可提供一段固定格式的测试代码,用户可以通过将该段固定格式的测试代码进行粘贴复制,并修改其名称和注释,来编写多个固定格式的测试方法,其中,多个固定格式的测试方法具有不同的名称和注释。例如,如图3所示,是用户登录API的测试方法。由此,用户即使不会编程,也可以轻松编写自动化测试代码,以便完成接口(API)自动化的测试。
配置模块600用于根据固定格式的测试方法的名称和注释配置请求报文,并编写请求报文对应的请求数据文件。其中,请求报文可包含方法名称、接口描述、接口请求地址和请求方式等,并且请求报文可为Excel文件,请求数据文件可为JSON文件,并且请求数据文件中含有测试参数。
需要理解的是,如图4所示,请求报文中的方法名称与固定格式的测试方法的名称相同,并且一一对应,接口描述可与固定格式的测试方法的注释相同,以便固定格式的测试方法在测试的时候顺利的连接待测的API。
在本发明的实施例中,可通过配置文件来确定请求数据的加密方案,其中,配置文件可为Parameters.xml文件。
判断模块700用于根据请求报文和请求数据文件执行固定格式的测试方法,并判断固定格式的测试方法是否执行成功。
具体地,判断模块700根据请求报文找到相应的待测API,然后将请求数据文件中的参数代入待测的API中并执行相应的固定格式的测试方法,以及根据输出结果判断该固定格式的测试方法是否执行成功。例如,如图5所示,如果输出结果中包含请求返回参数,则表明该固定格式的测试方法执行成功,否则执行失败。
进一步地,在本发明的一个实施例中,如图8所示,上述API测试装置还可包括修改模块900用于在固定格式的测试方法执行失败时,终止执行后续的固定格式的测试方法,并对固定格式的测试方法、请求报文和请求数据文件中的至少一个进行检测和修改。
测试模块800用于在固定格式的测试方法执行成功时,根据固定格式的测试方法对应的预期数据对测试数据进行测试。其中,预期数据是用户根据实际情况进行编写的,预期数据可为JSON数据。
提取模块200用于提取测试数据中的多个节点路径,并将多个节点路径添加至节点路径集合。
验证模块300用于遍历节点路径集合,对节点路径集合中的多个节点路径以及多个节点路径对应的节点值进行验证。
在本发明的一个实施例中,如图9所示,验证模块,可包括:第一判断单元310、获取单元320、第二判断单元330、第三判断单元340和生成单元350。
具体地,第一判断单元310用于判断节点路径集合中的当前节点路径是否存在。
获取单元320用于若当前节点路径存在,则根据当前节点路径获取当前节点路径对应的节点值;
第二判断单元330用于将当前节点路径对应的节点值与预期节点值进行比较,以判断当前节点路径以及当前节点路径对应的节点值是否符合预设要求。其中,预设要求可根据实际情况进行标定。
其中,需要理解的是,上述预期节点值是从预期数据中解析而来的。
第三判断单元340用于若当前节点路径不存在,则判断当前节点路径验证失败,并进一步判断当前节点路径的下一个节点路径是否存在。
生成单元350用于在节点路径集合的多个节点路径中验证失败的节点路径的数量超过预设阈值时,生成测试数据测试失败的测试结果。其中,预设阀值可根据实际情况进行标定,例如,预设阀值可为2。
举例而言,第一判断单元310判断节点路径集合中的当前节点路径是否存在,第三判断单元340在第一判断单元310判断当前节点路径不存在时,可将本次验证标记为“FAIL”,并且抛出异常,同时进入下一个循环,并进一步判断当前节点路径的下一个节点路径,获取单元320在第一判断单元310判断当前节点路径存在时,可根据当前节点路径获取当前节点路径对应的节点值,而后第二判断单元330将当前节点路径对应的节点值与预期节点值进行比较,如果该节点值与预期节点值相等,则可将本次验证标记为“PASS”,如果该节点值与预期节点值不相等,则可将本次验证标记为“FAIL”,同时进入下一个循环,继续判断下一个节点路径,生成单元350检测出现标记为“FAIL”的次数,直至该次数大于或等于预设阀值(例如2),或者节点路径集合遍历完毕,则该API的测试结束,并生成相应的测试结果。由此,能够自动验证测试数据并返回测试结果,无需人为干扰,在给用户带来便利的同时,还提高了效率和精准度,从而提升了用户体验。
生成模块400用于根据验证结果生成测试数据的测试结果。
根据本发明实施例的API测试装置,通过获取模块获取测试数据,并通过提取模块提取测试数据中的多个节点路径,并将多个节点路径添加至节点路径集合,而后通过遍历模块历节点路径集合,对节点路径集合中的多个节点路径以及多个节点路径对应的节点值进行验证,以及生成模块根据验证结果生成测试数据的测试结果。由此,该装置能够自动验证测试数据并返回测试结果,无需人为干扰,在给用户带来便利的同时,还提高了效率和精准度,从而提升了用户体验。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (18)

1.一种API测试方法,其特征在于,包括以下步骤:
获取测试数据,其中,所述测试数据是解析API的返回数据后得到的;
提取所述测试数据中的多个节点路径,并将所述多个节点路径添加至节点路径集合;
遍历所述节点路径集合,对所述节点路径集合中的多个节点路径以及所述多个节点路径对应的节点值进行验证;以及
根据验证结果生成所述测试数据的测试结果。
2.根据权利要求1所述的API测试方法,其特征在于,所述对所述节点路径集合中的多个节点路径以及所述多个节点路径对应的节点值进行验证,包括:
判断所述节点路径集合中的当前节点路径是否存在;
若所述当前节点路径存在,则根据所述当前节点路径获取所述当前节点路径对应的节点值;
将所述当前节点路径对应的节点值与预期节点值进行比较,以判断所述当前节点路径以及所述当前节点路径对应的节点值是否符合预设要求。
3.根据权利要求2所述的API测试方法,其特征在于,在所述判断所述节点路径集合中的当前节点路径是否存在之后,还包括:
若所述当前节点路径不存在,则判断所述当前节点路径验证失败,并进一步判断所述当前节点路径的下一个节点路径是否存在。
4.根据权利要求3所述的API测试方法,其特征在于,还包括:
若所述节点路径集合的所述多个节点路径中验证失败的节点路径的数量超过预设阈值时,生成所述测试数据测试失败的测试结果。
5.根据权利要求1所述的API测试方法,其特征在于,在所述获取测试数据之前,还包括:
编写多个固定格式的测试方法,其中,所述多个固定格式的测试方法具有不同的名称和注释;
根据所述固定格式的测试方法的名称和注释配置请求报文,并编写所述请求报文对应的请求数据文件;
根据所述请求报文和所述请求数据文件执行所述固定格式的测试方法,并判断所述固定格式的测试方法是否执行成功;
如果所述固定格式的测试方法执行成功,则根据所述固定格式的测试方法对应的预期数据对所述测试数据进行测试。
6.根据权利要求5所述的API测试方法,其特征在于,所述请求报文为Excel文件,所述请求数据文件为JSON文件,所述预期数据和所述测试数据均为JSON数据。
7.根据权利要求5所述的API测试方法,其特征在于,通过配置文件来确定所述请求数据的加密方案。
8.根据权利要求5所述的API测试方法,其特征在于,还包括:
如果所述固定格式的测试方法执行失败,则终止执行后续的所述固定格式的测试方法,并对所述固定格式的测试方法、所述请求报文和请求数据文件中的至少一个进行检测和修改。
9.根据权利要求5所述的API测试方法,其特征在于,所述请求报文包含方法名称、接口描述、接口请求地址和请求方式。
10.一种API测试装置,其特征在于,包括:
获取模块,用于获取测试数据,其中,所述测试数据是解析API的返回数据后得到的;
提取模块,用于提取所述测试数据中的多个节点路径,并将所述多个节点路径添加至节点路径集合;
验证模块,用于遍历所述节点路径集合,对所述节点路径集合中的多个节点路径以及所述多个节点路径对应的节点值进行验证;以及
生成模块,用于根据验证结果生成所述测试数据的测试结果。
11.根据权利要求10所述的API测试装置,其特征在于,所述验证模块,包括:
第一判断单元,用于判断所述节点路径集合中的当前节点路径是否存在;
获取单元,用于若所述当前节点路径存在,则根据所述当前节点路径获取所述当前节点路径对应的节点值;
第二判断单元,用于将所述当前节点路径对应的节点值与预期节点值进行比较,以判断所述当前节点路径以及所述当前节点路径对应的节点值是否符合预设要求。
12.根据权利要求11所述的API测试装置,其特征在于,所述验证模块,还包括:
第三判断单元,用于若所述当前节点路径不存在,则判断所述当前节点路径验证失败,并进一步判断所述当前节点路径的下一个节点路径是否存在。
13.根据权利要求12所述的API测试装置,其特征在于,所述验证模块,还包括:
生成单元,用于在所述节点路径集合的所述多个节点路径中验证失败的节点路径的数量超过预设阈值时,生成所述测试数据测试失败的测试结果。
14.根据权利要求10所述的API测试装置,其特征在于,还包括:
编写模块,用于编写多个固定格式的测试方法,其中,所述多个固定格式的测试方法具有不同的名称和注释;
配置模块,用于根据所述固定格式的测试方法的名称和注释配置请求报文,并编写所述请求报文对应的请求数据文件;
判断模块,用于根据所述请求报文和所述请求数据文件执行所述固定格式的测试方法,并判断所述固定格式的测试方法是否执行成功;
测试模块,用于在所述固定格式的测试方法执行成功时,根据所述固定格式的测试方法对应的预期数据对所述测试数据进行测试。
15.根据权利要求14所述的API测试装置,其特征在于,所述请求报文为Excel文件,所述请求数据文件为JSON文件,所述预期数据和所述测试数据均为JSON数据。
16.根据权利要求14所述的API测试装置,其特征在于,通过配置文件来确定所述请求数据的加密方案。
17.根据权利要求14所述的API测试装置,其特征在于,还包括:
修改模块,用于在所述固定格式的测试方法执行失败时,终止执行后续的所述固定格式的测试方法,并对所述固定格式的测试方法、所述请求报文和请求数据文件中的至少一个进行检测和修改。
18.根据权利要求14所述的API测试装置,其特征在于,所述请求报文包含方法名称、接口描述、接口请求地址和请求方式。
CN201610158553.9A 2016-03-17 2016-03-17 Api测试方法和装置 Expired - Fee Related CN107203466B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610158553.9A CN107203466B (zh) 2016-03-17 2016-03-17 Api测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610158553.9A CN107203466B (zh) 2016-03-17 2016-03-17 Api测试方法和装置

Publications (2)

Publication Number Publication Date
CN107203466A true CN107203466A (zh) 2017-09-26
CN107203466B CN107203466B (zh) 2020-12-04

Family

ID=59904820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610158553.9A Expired - Fee Related CN107203466B (zh) 2016-03-17 2016-03-17 Api测试方法和装置

Country Status (1)

Country Link
CN (1) CN107203466B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107733894A (zh) * 2017-10-19 2018-02-23 携程旅游网络技术(上海)有限公司 逻辑接口报文的比对方法、系统、设备及存储介质
CN108108305A (zh) * 2018-01-02 2018-06-01 中国银行股份有限公司 一种环境可用性测试方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103312551A (zh) * 2012-03-12 2013-09-18 腾讯科技(深圳)有限公司 通用网关接口的测试方法及测试装置
CN103399816A (zh) * 2013-07-31 2013-11-20 上海云端广告有限公司 一种数据检查方法及装置
US20130346804A1 (en) * 2012-06-25 2013-12-26 Infosys Limited Methods for simulating message-oriented services and devices thereof
CN103778052A (zh) * 2012-10-17 2014-05-07 百度在线网络技术(北京)有限公司 一种前端javascript代码的测试方法和装置
CN104035873A (zh) * 2014-06-30 2014-09-10 青岛海信电器股份有限公司 测试代码生成方法及生成装置
CN104111885A (zh) * 2013-04-22 2014-10-22 腾讯科技(深圳)有限公司 接口测试结果的校验方法和装置
CN104298592A (zh) * 2014-09-09 2015-01-21 南京国电南自电网自动化有限公司 面向对象的继电保护测试用例模板的实例化方法
CN104317713A (zh) * 2014-10-27 2015-01-28 北京锐安科技有限公司 一种基于模板的自动化测试工具及方法
CN105373469A (zh) * 2014-08-25 2016-03-02 广东金赋信息科技有限公司 一种基于接口的软件自动化测试方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103312551A (zh) * 2012-03-12 2013-09-18 腾讯科技(深圳)有限公司 通用网关接口的测试方法及测试装置
US20130346804A1 (en) * 2012-06-25 2013-12-26 Infosys Limited Methods for simulating message-oriented services and devices thereof
CN103778052A (zh) * 2012-10-17 2014-05-07 百度在线网络技术(北京)有限公司 一种前端javascript代码的测试方法和装置
CN104111885A (zh) * 2013-04-22 2014-10-22 腾讯科技(深圳)有限公司 接口测试结果的校验方法和装置
CN103399816A (zh) * 2013-07-31 2013-11-20 上海云端广告有限公司 一种数据检查方法及装置
CN104035873A (zh) * 2014-06-30 2014-09-10 青岛海信电器股份有限公司 测试代码生成方法及生成装置
CN105373469A (zh) * 2014-08-25 2016-03-02 广东金赋信息科技有限公司 一种基于接口的软件自动化测试方法
CN104298592A (zh) * 2014-09-09 2015-01-21 南京国电南自电网自动化有限公司 面向对象的继电保护测试用例模板的实例化方法
CN104317713A (zh) * 2014-10-27 2015-01-28 北京锐安科技有限公司 一种基于模板的自动化测试工具及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HASSAN REZA等: ""A Framework for Testing RESTful Web Services"", 《2010 SEVENTH INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY: NEW GENERATIONS》 *
唐春艳: ""基于模型检测的类测试自动生成技术研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107733894A (zh) * 2017-10-19 2018-02-23 携程旅游网络技术(上海)有限公司 逻辑接口报文的比对方法、系统、设备及存储介质
CN107733894B (zh) * 2017-10-19 2019-12-10 携程旅游网络技术(上海)有限公司 逻辑接口报文的比对方法、系统、设备及存储介质
CN108108305A (zh) * 2018-01-02 2018-06-01 中国银行股份有限公司 一种环境可用性测试方法及系统

Also Published As

Publication number Publication date
CN107203466B (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
CN103294594B (zh) 一种基于测试的静态分析误报消除方法
CN105117341B (zh) 一种基于动态符号执行的分布式自动测试案例生成方法
CN105373476B (zh) 汽车控制器中自动测试用例的生成方法和系统
CN105138461A (zh) 一种应用程序的接口测试方法及装置
CN110908888B (zh) 服务器测试方法及装置
SE536393C2 (sv) System och metod för tillhandahållande av diagnostisk felinformation på basis av ett flertal felkoder
CN105468517B (zh) 一种基于黑盒测试用例约简的统计错误定位方法
CN106326118A (zh) 代码测试覆盖率确定方法和装置
CN102486938B (zh) 一种快速检测存储器的方法及装置
CN104977524A (zh) 一种基于测试点坐标位置周围多点测试的复测方法
CN111831321A (zh) 代码覆盖率的分析方法、装置及其电子设备
CN107203466A (zh) Api测试方法和装置
CN102736932B (zh) 镜像文件、镜像文件的制作方法及多系统的启动引导方法
CN106294157A (zh) 一种操作系统测试方法及装置
SE536394C2 (sv) System och metod för tillhandahållande av diagnostisk felinformation på basis av innehåll från två databaser
CN107015911A (zh) 持续集成的代码评审方法及装置
CN105225698B (zh) 一种列修复方法和装置
CN104732741A (zh) 一种基于线式火焰传感器的火警系统的检测方法及装置
CN107153610A (zh) 一种程序语句错误检测方法和装置
WO2014161067A1 (en) Electronic identification slave connector
CN106557412A (zh) 一种模糊测试的方法及装置
CN103425587B (zh) 一种非易失性存储器的擦写方法及擦写装置
CN115470752B (zh) 基于追踪文件的芯片功能验证系统
CN114115168A (zh) 故障注入测试系统
CN116257437A (zh) 基于实车数据回注的adas系统缺陷验证方法及装置

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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20201204

Termination date: 20210317

CF01 Termination of patent right due to non-payment of annual fee