CN106326115A - 一种测试api的方法、装置和系统 - Google Patents
一种测试api的方法、装置和系统 Download PDFInfo
- Publication number
- CN106326115A CN106326115A CN201610681213.4A CN201610681213A CN106326115A CN 106326115 A CN106326115 A CN 106326115A CN 201610681213 A CN201610681213 A CN 201610681213A CN 106326115 A CN106326115 A CN 106326115A
- Authority
- CN
- China
- Prior art keywords
- testing
- test
- test case
- api
- service device
- 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
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
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
本发明公开了一种测试API的方法、装置和系统。其中所述方法包括:提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例;将生成的测试用例上传到代码服务器;向测试服务器发送指令,由测试服务器根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。该技术方案大大降低了测试的操作复杂度,加快了测试用例的生成速度,在对API进行测试时仅需向测试服务器发送指令,不需手动运行测试用例来测试相应的API,极大地实现了API测试的自动化。
Description
技术领域
本发明涉及测试领域,具体涉及一种测试API的方法、装置和系统。
背景技术
现有技术中对API(Application Programming Interface,应用程序编程接口)的测试往往需要测试人员在编写好测试用例后,对于每个API使用一个或多个测试用例进行手动测试,这样效率很低,尤其是在开发人员不断对API进行维护的情况下,由于很难满足高效测试API的需求,导致测试人员工作量大,工作时间长。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的测试API的方法、装置和系统。
依据本发明的一个方面,提供了一种测试API的方法,包括:
提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例;
将生成的测试用例上传到代码服务器;
向测试服务器发送指令,由测试服务器根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。
可选地,所述提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例包括:
利用可视化工具Postman提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例。
可选地,所述向测试服务器发送指令包括:
利用Java消息服务JMS远程通信机制向测试服务器发送指令。
可选地,测试服务器上有一个或多个虚拟机,每个虚拟机上安装有命令行工具Newman;
所述向测试服务器发送指令,由测试服务器根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试包括:向测试服务器上的指定虚拟机上的Newman发送调用指令,由Newman根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。
可选地,测试服务器有多个;
所述向测试服务器发送指令包括:根据负载分担原则以及并行处理原则选择测试服务器以及该测试服务器上的虚拟机,向该测试服务器上的该虚拟机上Newman发送指令。
可选地,测试用例包括:输入信息、预期结果信息、测试逻辑信息和API地址;
所述运行测试用例对相应的API进行测试包括:
根据测试逻辑信息执行如下包括如下步骤的操作:根据API地址向相应的API发送输入信息,将相应的API反馈的运行结果信息与预期结果信息进行比较获得测试结果信息。
可选地,所述将生成的测试用例上传到代码服务器包括:
先将生成的测试用例保存成JSON文件,然后上传到代码服务器的指定路径下;
其中,所述指定路径为该测试用例所要测试的API所对应项目对应的路径。
可选地,该方法进一步包括:
收集测试服务器侧返回的测试结果;
根据所收集的测试结果生成测试图表并展示,和/或,通过指定的通信渠道将所收集的测试结果发送的指定用户。
依据本发明的另一方面,提供了一种测试API的装置,包括:
测试用例生成单元,适于提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例;
上传单元,适于将生成的测试用例上传到代码服务器;
测试控制单元,适于向测试服务器发送指令,由测试服务器根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。
可选地,所述测试用例生成单元,适于利用可视化工具Postman提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例。
可选地,所述测试控制单元,适于利用Java消息服务JMS远程通信机制向测试服务器发送指令。
可选地,测试服务器上有一个或多个虚拟机,每个虚拟机上安装有命令行工具Newman;
所述测试控制单元,适于向测试服务器上的指定虚拟机上的Newman发送调用指令,由Newman根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。
可选地,所述测试控制单元,适于根据负载分担原则以及并行处理原则选择测试服务器以及该测试服务器上的虚拟机,向该测试服务器上的该虚拟机上Newman发送指令。
可选地,测试用例包括:输入信息、预期结果信息、测试逻辑信息和API地址。
可选地,所述上传单元,适于先将生成的测试用例保存成JSON文件,然后上传到代码服务器的指定路径下;
其中,所述指定路径为该测试用例所要测试的API所对应项目对应的路径。
可选地,该装置进一步包括:
测试结果输出单元,适于收集测试服务器侧返回的测试结果;根据所收集的测试结果生成测试图表并展示,和/或,通过指定的通信渠道将所收集的测试结果发送的指定用户。
依据本发明的又一方面,提供了一种测试API的系统,包括:代码服务器、包含多个测试服务器的测试服务器集群和如上述任一项所述的测试API的装置。
可选地,每个测试服务器上有一个或多个虚拟机,每个虚拟机上安装有命令行工具Newman。
可选地,测试用例包括:输入信息、预期结果信息、测试逻辑信息和API地址;
测试服务器,适于根据测试逻辑信息执行如下包括如下步骤的操作:根据API地址向相应的API发送输入信息,将相应的API反馈的运行结果信息与预期结果信息进行比较获得测试结果信息。
由上述可知,本发明的技术方案,通过接收用户在可视化的测试用例编辑界面上述输入的测试用例编辑指令,生成相应的测试用例并上传至代码服务器,当发起API测试时,向测试服务器发送指令,由测试服务器根据指令从代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。该技术方案大大降低了测试的操作复杂度,加快了测试用例的生成速度,在对API进行测试时仅需向测试服务器发送指令,不需手动运行测试用例来测试相应的API,极大地实现了API测试的自动化。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种测试API的方法的流程图;
图2示出了根据本发明一个实施例的一种测试API的装置的结构示意图;
图3示出了根据本发明一个实施例的另一种测试API的装置的结构示意图;以及
图4示出了根据本发明一个实施例的一种测试API的系统的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种测试API的方法的流程图,如图1所示,该方法包括:
步骤S110,提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例。
现有技术中,测试人员需要手动编写测试用例的代码,虽然每个测试用例仅需要3~5分钟左右的工作量,但是,在API测试中,API的数量是巨大的,例如,在开发人员提供了300个API的情况下,往往测试人员要编写300*n个测试用例,这样累积起来的工作量是很浩大的。因此在本实施例中,提供了可视化的测试用例编辑界面,在该界面上用户不需要编写测试用例的代码,只需要输入测试用例中所包含的信息,这些信息可以以参数的形式在可视化的测试用例编辑界面中进行填写。
步骤S120,将生成的测试用例上传到代码服务器。
步骤S130,向测试服务器发送指令,由测试服务器根据指令从代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。
可见,图1所示的方法,通过接收用户在可视化的测试用例编辑界面上述输入的测试用例编辑指令,生成相应的测试用例并上传至代码服务器,当发起API测试时,向测试服务器发送指令,由测试服务器根据指令从代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。该技术方案大大降低了测试的操作复杂度,加快了测试用例的生成速度,在对API进行测试时仅需向测试服务器发送指令,不需手动运行测试用例来测试相应的API,极大地实现了API测试的自动化。
在本发明的一个实施例中,图1所示的方法中,提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例包括:利用可视化工具Postman提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例。
Postman原本是Chrome浏览器中的一个插件,现在已经可以作为一个独立的应用进行使用。在本实施例中,利用Postman这款可视化工具提供可视化的测试用例编辑界面,该可视化工具界面上提供了多个表单项,在表单项输入对应的信息后就可以生成相应的测试用例,例如,在service URL(服务地址)这一表单项中可以输入API地址。
在本发明的一个实施例中,图1所示的方法中,向测试服务器发送指令包括:用Java消息服务JMS远程通信机制向测试服务器发送指令。
JMS(JAVA Message Service,JAVA消息服务)使得用户可以通过独立于测试服务器外的客户机向测试服务器发送指令,使得测试人员可以不受环境的限制来进行测试。例如,在开发人员加班实现了API的新功能,需要对其进行测试,而测试人员已经下班,也可以利用手机、笔记本等经验证的移动办公设备向测试服务器发送指令。
在本发明的一个实施例中,图1所示的方法中,测试服务器上有一个或多个虚拟机,每个虚拟机上安装有命令行工具Newman;向测试服务器发送指令,由测试服务器根据指令从代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试包括:向测试服务器上的指定虚拟机上的Newman发送调用指令,由Newman根据指令从代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。
在本实施例中由命令行工具Newman实现了测试用例运行的自动化。以通过可视化工具Postman实现可视化的测试用例编辑界面为例,在接收到用户输入的测试用例编辑指令后,对应生成的测试用例可以直接被Newman工具运行。
在本发明的一个实施例中,图1所示的方法中,测试服务器有多个;向测试服务器发送指令包括:根据负载分担原则以及并行处理原则选择测试服务器以及该测试服务器上的虚拟机,向该测试服务器上的该虚拟机上Newman发送指令。
在本实施例中,可以实现并行测试多台测试服务器上的多个API,进一步提升了测试效率。例如多台测试服务器中有数台空闲,而其余的测试服务器较忙,则可以根据负载分担原则选择空闲的服务器来执行本次的测试任务。同样地,对于同一台测试服务器上的多个虚拟机,也可以根据上述原则选取测试任务较少的虚拟机上的Newman来执行本次的测试任务。
在本发明的一个实施例中,图1所示的方法中,测试用例包括:输入信息、预期结果信息、测试逻辑信息和API地址;运行测试用例对相应的API进行测试包括:根据测试逻辑信息执行如下包括如下步骤的操作:根据API地址向相应的API发送输入信息,将相应的API反馈的运行结果信息与预期结果信息进行比较获得测试结果信息。
例如上文提到过,在使用可视化工具Postman的情况下,可以在service URL的表单项中填写API地址。在本实施例中,测试用例还包括输入信息、测试逻辑信息和预期结果信息,根据这些信息来测试API的功能,例如,某用户名验证API的功能为接收用户输入的字符,判断该字符是否与数据库中的任一项匹配,若匹配则返回验证通过,若不匹配则返回验证失败。则对应地,在测试用例中可以编写数据库中没有的字符作为输入信息,则相应的预期结果信息为验证失败,如果API运行该测试用例返回的结果为验证成功,则测试结果信息为API功能存在漏洞。当API的功能较复杂时,测试用例中的输入信息可能包含多个,其中可能需要限定输入的先后次序;又例如测试用例可能需要在API返回特定信息后再输入信息,等等,这些测试逻辑可以包含在测试逻辑信息中。
在本发明的一个实施例中,图1所示的方法中,将生成的测试用例上传到代码服务器包括:先将生成的测试用例保存成JSON文件,然后上传到代码服务器的指定路径下;其中,指定路径为该测试用例所要测试的API所对应项目对应的路径。
例如以使用Postman和Newman工具的情况为例,由于在本实施例中考虑到测试用例的可重复使用性等原因,不会将通过Postman生成的测试用例直接发送给Newman进行执行,而是将其存放在SVN等代码服务器上,当需要执行测试时再根据用户的需求选择相应的测试用例进行运行,因此需要将Postman生成的测试用例保存为JSON文件,上传到代码服务器的指定路径下。当需要执行测试时,向Newman返回相应的测试用例在代码服务器上的路径信息。为确保测试工作的安全性,可以在向测试服务器发送的指令中包含代码服务器的登录信息。这样,可以将测试用例存放在所要测试的API所对应项目对应的路径下,也方便了权限管理。
在本发明的一个实施例中,上述方法进一步包括:收集测试服务器侧返回的测试结果;根据所收集的测试结果生成测试图表并展示,和/或,通过指定的通信渠道将所收集的测试结果发送的指定用户。
本实施例中测试结果可以生成测试图表或通过邮件等方式发送给测试人员或开发人员,便于相应人员进行功能的维护和问题的排查。其中,可以在可视化的测试用例编辑界面上输入希望测试结果发送到的电子邮件地址。
图2示出了根据本发明一个实施例的一种测试API的装置的结构示意图,如图2所示,测试API的装置200包括:
测试用例生成单元210,适于提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例。
上传单元220,适于将生成的测试用例上传到代码服务器。
测试控制单元230,适于向测试服务器发送指令,由测试服务器根据指令从代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。
可见,图2所示的装置,通过各单元的相互配合,接收用户在可视化的测试用例编辑界面上述输入的测试用例编辑指令,生成相应的测试用例并上传至代码服务器,当发起API测试时,向测试服务器发送指令,由测试服务器根据指令从代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。该技术方案大大降低了测试的操作复杂度,加快了测试用例的生成速度,在对API进行测试时仅需向测试服务器发送指令,不需手动运行测试用例来测试相应的API,极大地实现了API测试的自动化。
在本发明的一个实施例中,图2所示的装置中,测试用例生成单元210,适于利用可视化工具Postman提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例。
在本发明的一个实施例中,图2所示的装置中,测试控制单元230,适于利用Java消息服务JMS远程通信机制向测试服务器发送指令。
在本发明的一个实施例中,图2所示的装置中,测试服务器上有一个或多个虚拟机,每个虚拟机上安装有命令行工具Newman;测试控制单元230,适于向测试服务器上的指定虚拟机上的Newman发送调用指令,由Newman根据指令从代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。
在本发明的一个实施例中,图2所示的装置中,测试控制单元230,适于根据负载分担原则以及并行处理原则选择测试服务器以及该测试服务器上的虚拟机,向该测试服务器上的该虚拟机上Newman发送指令。
在本发明的一个实施例中,图2所示的装置中,测试用例包括:输入信息、预期结果信息、测试逻辑信息和API地址。
在本发明的一个实施例中,图2所示的装置中,上传单元220,适于先将生成的测试用例保存成JSON文件,然后上传到代码服务器的指定路径下;其中,指定路径为该测试用例所要测试的API所对应项目对应的路径。
图3示出了根据本发明一个实施例的另一种测试API的装置的结构示意图,如图3所示,测试API的装置300包括:测试用例生成单元210,上传单元220,测试控制单元230,上述各单元的功能与连接方式与图2中对应相同,在此不再赘述。该装置进一步包括:测试结果输出单元340,适于收集测试服务器侧返回的测试结果;根据所收集的测试结果生成测试图表并展示,和/或,通过指定的通信渠道将所收集的测试结果发送的指定用户。
需要说明的是,上述各装置实施例的具体实施方式与前述对应方法实施例的具体实施方式相同,在此不再赘述。
图4示出了根据本发明一个实施例的一种测试API的系统的结构示意图,其中,该系统包括:代码服务器410、包含多个测试服务器420的测试服务器420集群和如上述任一实施例中的的测试API的装置430。
在本发明的一个实施例中,图4所示的系统中,每个测试服务器420上有一个或多个虚拟机,每个虚拟机上安装有命令行工具Newman。
在本发明的一个实施例中,图4所示的系统中,测试用例包括:输入信息、预期结果信息、测试逻辑信息和API地址;测试服务器420,适于根据测试逻辑信息执行如下包括如下步骤的操作:根据API地址向相应的API发送输入信息,将相应的API反馈的运行结果信息与预期结果信息进行比较获得测试结果信息。
综上所述,本发明的技术方案,通过接收用户在可视化的测试用例编辑界面上述输入的测试用例编辑指令,生成相应的测试用例,保存为JSON文件并上传至代码服务器的指定路径下,当发起API测试时,向测试服务器发送指令,由测试服务器根据指令从代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。该技术方案大大降低了测试的操作复杂度,加快了测试用例的生成速度,在对API进行测试时仅需向测试服务器发送指令,不需手动运行测试用例来测试相应的API,极大地实现了API测试的自动化。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的测试API的装置和系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明的实施例公开了A1、一种测试API的方法,其中,该方法包括:
提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例;
将生成的测试用例上传到代码服务器;
向测试服务器发送指令,由测试服务器根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。
A2、如A1所述的方法,其中,所述提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例包括:
利用可视化工具Postman提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例。
A3、如A1所述的方法,其中,所述向测试服务器发送指令包括:
利用Java消息服务JMS远程通信机制向测试服务器发送指令。
A4、如A1所述的方法,其中,
测试服务器上有一个或多个虚拟机,每个虚拟机上安装有命令行工具Newman;
所述向测试服务器发送指令,由测试服务器根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试包括:向测试服务器上的指定虚拟机上的Newman发送调用指令,由Newman根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。
A5、如A1所述的方法,其中,
测试服务器有多个;
所述向测试服务器发送指令包括:根据负载分担原则以及并行处理原则选择测试服务器以及该测试服务器上的虚拟机,向该测试服务器上的该虚拟机上Newman发送指令。
A6、如A1所述的方法,其中,
测试用例包括:输入信息、预期结果信息、测试逻辑信息和API地址;
所述运行测试用例对相应的API进行测试包括:
根据测试逻辑信息执行如下包括如下步骤的操作:根据API地址向相应的API发送输入信息,将相应的API反馈的运行结果信息与预期结果信息进行比较获得测试结果信息。
A7、如A1所述的方法,其中,所述将生成的测试用例上传到代码服务器包括:
先将生成的测试用例保存成JSON文件,然后上传到代码服务器的指定路径下;
其中,所述指定路径为该测试用例所要测试的API所对应项目对应的路径。
A8、如A1-A7中任一项所述的方法,其中,该方法进一步包括:
收集测试服务器侧返回的测试结果;
根据所收集的测试结果生成测试图表并展示,和/或,通过指定的通信渠道将所收集的测试结果发送的指定用户。
本发明的实施例还公开了B9、一种测试API的装置,其中,该装置包括:
测试用例生成单元,适于提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例;
上传单元,适于将生成的测试用例上传到代码服务器;
测试控制单元,适于向测试服务器发送指令,由测试服务器根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。
B10、如B9所述的装置,其中,
所述测试用例生成单元,适于利用可视化工具Postman提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例。
B11、如B9所述的装置,其中,
所述测试控制单元,适于利用Java消息服务JMS远程通信机制向测试服务器发送指令。
B12、如B9所述的装置,其中,测试服务器上有一个或多个虚拟机,每个虚拟机上安装有命令行工具Newman;
所述测试控制单元,适于向测试服务器上的指定虚拟机上的Newman发送调用指令,由Newman根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。
B13、如B9所述的装置,其中,
所述测试控制单元,适于根据负载分担原则以及并行处理原则选择测试服务器以及该测试服务器上的虚拟机,向该测试服务器上的该虚拟机上Newman发送指令。
B14、如B9所述的装置,其中,
测试用例包括:输入信息、预期结果信息、测试逻辑信息和API地址。
B15、如B9所述的装置,其中,
所述上传单元,适于先将生成的测试用例保存成JSON文件,然后上传到代码服务器的指定路径下;
其中,所述指定路径为该测试用例所要测试的API所对应项目对应的路径。
B16、如B9-B15中任一项所述的装置,其中,该装置进一步包括:
测试结果输出单元,适于收集测试服务器侧返回的测试结果;根据所收集的测试结果生成测试图表并展示,和/或,通过指定的通信渠道将所收集的测试结果发送的指定用户。
本发明的实施例还公开了C17、一种测试API的系统,其中,该系统包括:代码服务器、包含多个测试服务器的测试服务器集群和如B9-B16中任一项所述的测试API的装置。
C18、如C17所述的系统,其中,
每个测试服务器上有一个或多个虚拟机,每个虚拟机上安装有命令行工具Newman。
C19、如C17所述的系统,其中,
测试用例包括:输入信息、预期结果信息、测试逻辑信息和API地址;
测试服务器,适于根据测试逻辑信息执行如下包括如下步骤的操作:根据API地址向相应的API发送输入信息,将相应的API反馈的运行结果信息与预期结果信息进行比较获得测试结果信息。
Claims (10)
1.一种测试API的方法,其中,该方法包括:
提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例;
将生成的测试用例上传到代码服务器;
向测试服务器发送指令,由测试服务器根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。
2.如权利要求1所述的方法,其中,所述提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例包括:
利用可视化工具Postman提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例。
3.如权利要求1所述的方法,其中,所述向测试服务器发送指令包括:
利用Java消息服务JMS远程通信机制向测试服务器发送指令。
4.如权利要求1所述的方法,其中,
测试服务器上有一个或多个虚拟机,每个虚拟机上安装有命令行工具Newman;
所述向测试服务器发送指令,由测试服务器根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试包括:向测试服务器上的指定虚拟机上的Newman发送调用指令,由Newman根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。
5.如权利要求1所述的方法,其中,
测试服务器有多个;
所述向测试服务器发送指令包括:根据负载分担原则以及并行处理原则选择测试服务器以及该测试服务器上的虚拟机,向该测试服务器上的该虚拟机上Newman发送指令。
6.如权利要求1所述的方法,其中,
测试用例包括:输入信息、预期结果信息、测试逻辑信息和API地址;
所述运行测试用例对相应的API进行测试包括:
根据测试逻辑信息执行如下包括如下步骤的操作:根据API地址向相应的API发送输入信息,将相应的API反馈的运行结果信息与预期结果信息进行比较获得测试结果信息。
7.一种测试API的装置,其中,该装置包括:
测试用例生成单元,适于提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例;
上传单元,适于将生成的测试用例上传到代码服务器;
测试控制单元,适于向测试服务器发送指令,由测试服务器根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。
8.一种测试API的系统,其中,该系统包括:代码服务器、包含多个测试服务器的测试服务器集群和如权利要求7所述的测试API的装置。
9.如权利要求8所述的系统,其中,
每个测试服务器上有一个或多个虚拟机,每个虚拟机上安装有命令行工具Newman。
10.如权利要求8所述的系统,其中,
测试用例包括:输入信息、预期结果信息、测试逻辑信息和API地址;
测试服务器,适于根据测试逻辑信息执行如下包括如下步骤的操作:根据API地址向相应的API发送输入信息,将相应的API反馈的运行结果信息与预期结果信息进行比较获得测试结果信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610681213.4A CN106326115A (zh) | 2016-08-17 | 2016-08-17 | 一种测试api的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610681213.4A CN106326115A (zh) | 2016-08-17 | 2016-08-17 | 一种测试api的方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106326115A true CN106326115A (zh) | 2017-01-11 |
Family
ID=57743481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610681213.4A Pending CN106326115A (zh) | 2016-08-17 | 2016-08-17 | 一种测试api的方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106326115A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239398A (zh) * | 2017-05-24 | 2017-10-10 | 四川长虹电器股份有限公司 | 一种基于Postman的接口测试用例自动生成系统及方法 |
CN107368420A (zh) * | 2017-07-27 | 2017-11-21 | 万帮充电设备有限公司 | Api测试方法、装置及电子设备 |
CN107506294A (zh) * | 2017-07-04 | 2017-12-22 | 深圳市小牛在线互联网信息咨询有限公司 | 可视化自动化测试方法、装置、存储介质和计算机设备 |
CN108009093A (zh) * | 2017-12-22 | 2018-05-08 | 北京远特科技股份有限公司 | 一种软件测试方法、装置及系统 |
CN108322360A (zh) * | 2018-01-24 | 2018-07-24 | 上海康斐信息技术有限公司 | 一种通过路由器网络测速的方法、系统和设备 |
CN110888804A (zh) * | 2019-11-11 | 2020-03-17 | 网联清算有限公司 | 接口测试方法以及接口测试平台 |
CN111143186A (zh) * | 2018-11-02 | 2020-05-12 | 易保网络技术(上海)有限公司 | 用于应用程序接口api测试的方法和设备 |
CN111143189A (zh) * | 2018-11-02 | 2020-05-12 | 易保网络技术(上海)有限公司 | 用于应用程序接口api测试的方法和设备 |
CN111400162A (zh) * | 2019-01-02 | 2020-07-10 | 阿里巴巴集团控股有限公司 | 一种测试方法及测试系统 |
CN112181802A (zh) * | 2020-08-21 | 2021-01-05 | 长沙市到家悠享网络科技有限公司 | 测试方法及装置 |
CN112256595A (zh) * | 2020-12-22 | 2021-01-22 | 成都新希望金融信息有限公司 | 异构系统测试方法、装置及电子设备 |
CN113806213A (zh) * | 2020-06-01 | 2021-12-17 | 达音网络科技(上海)有限公司 | 高可扩展性sdk自动测试系统和方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101447892A (zh) * | 2008-11-24 | 2009-06-03 | 中兴通讯股份有限公司 | 分布式测试方法和系统、以及测试服务器 |
US20130014089A1 (en) * | 2011-07-08 | 2013-01-10 | Microsoft Corporation | Automated testing of application program interfaces using genetic algorithms |
US20130219368A1 (en) * | 2010-08-10 | 2013-08-22 | International Business Machines Corporation | Automatically Testing a Web Application |
CN104598776A (zh) * | 2013-10-31 | 2015-05-06 | 深圳市腾讯计算机系统有限公司 | 一种对软件进行测试的方法及装置 |
CN105335293A (zh) * | 2015-11-30 | 2016-02-17 | 努比亚技术有限公司 | 一种基于接口并行的自动化测试系统和方法 |
-
2016
- 2016-08-17 CN CN201610681213.4A patent/CN106326115A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101447892A (zh) * | 2008-11-24 | 2009-06-03 | 中兴通讯股份有限公司 | 分布式测试方法和系统、以及测试服务器 |
US20130219368A1 (en) * | 2010-08-10 | 2013-08-22 | International Business Machines Corporation | Automatically Testing a Web Application |
US20130014089A1 (en) * | 2011-07-08 | 2013-01-10 | Microsoft Corporation | Automated testing of application program interfaces using genetic algorithms |
CN104598776A (zh) * | 2013-10-31 | 2015-05-06 | 深圳市腾讯计算机系统有限公司 | 一种对软件进行测试的方法及装置 |
CN105335293A (zh) * | 2015-11-30 | 2016-02-17 | 努比亚技术有限公司 | 一种基于接口并行的自动化测试系统和方法 |
Non-Patent Citations (1)
Title |
---|
王大伟: "基于Python的Web API自动化测试方法研究", 《电子科学技术》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239398A (zh) * | 2017-05-24 | 2017-10-10 | 四川长虹电器股份有限公司 | 一种基于Postman的接口测试用例自动生成系统及方法 |
CN107239398B (zh) * | 2017-05-24 | 2020-01-31 | 四川长虹电器股份有限公司 | 一种基于Postman的接口测试用例自动生成系统及方法 |
CN107506294A (zh) * | 2017-07-04 | 2017-12-22 | 深圳市小牛在线互联网信息咨询有限公司 | 可视化自动化测试方法、装置、存储介质和计算机设备 |
CN107368420A (zh) * | 2017-07-27 | 2017-11-21 | 万帮充电设备有限公司 | Api测试方法、装置及电子设备 |
CN108009093A (zh) * | 2017-12-22 | 2018-05-08 | 北京远特科技股份有限公司 | 一种软件测试方法、装置及系统 |
CN108322360A (zh) * | 2018-01-24 | 2018-07-24 | 上海康斐信息技术有限公司 | 一种通过路由器网络测速的方法、系统和设备 |
CN111143189A (zh) * | 2018-11-02 | 2020-05-12 | 易保网络技术(上海)有限公司 | 用于应用程序接口api测试的方法和设备 |
CN111143186A (zh) * | 2018-11-02 | 2020-05-12 | 易保网络技术(上海)有限公司 | 用于应用程序接口api测试的方法和设备 |
CN111400162A (zh) * | 2019-01-02 | 2020-07-10 | 阿里巴巴集团控股有限公司 | 一种测试方法及测试系统 |
CN111400162B (zh) * | 2019-01-02 | 2023-04-25 | 阿里巴巴集团控股有限公司 | 一种测试方法及测试系统 |
CN110888804A (zh) * | 2019-11-11 | 2020-03-17 | 网联清算有限公司 | 接口测试方法以及接口测试平台 |
CN110888804B (zh) * | 2019-11-11 | 2022-02-01 | 网联清算有限公司 | 接口测试方法以及接口测试平台 |
CN113806213A (zh) * | 2020-06-01 | 2021-12-17 | 达音网络科技(上海)有限公司 | 高可扩展性sdk自动测试系统和方法 |
CN113806213B (zh) * | 2020-06-01 | 2023-07-14 | 达音网络科技(上海)有限公司 | 高可扩展性sdk自动测试系统和方法 |
CN112181802A (zh) * | 2020-08-21 | 2021-01-05 | 长沙市到家悠享网络科技有限公司 | 测试方法及装置 |
CN112256595A (zh) * | 2020-12-22 | 2021-01-22 | 成都新希望金融信息有限公司 | 异构系统测试方法、装置及电子设备 |
CN112256595B (zh) * | 2020-12-22 | 2021-03-12 | 成都新希望金融信息有限公司 | 异构系统测试方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106326115A (zh) | 一种测试api的方法、装置和系统 | |
CN105335293B (zh) | 一种基于接口并行的自动化测试系统和方法 | |
US8533608B1 (en) | Run-book automation platform with actionable document | |
US9602599B2 (en) | Coordinating application migration processes | |
US7287190B2 (en) | Simultaneous execution of test suites on different platforms | |
CN102693183B (zh) | 一种实现软件自动化测试的方法及系统 | |
US8584079B2 (en) | Quality on submit process | |
CN110765024B (zh) | 模拟测试方法、装置、电子设备和计算机可读存储介质 | |
JP2018185808A (ja) | ブロックチェーンに基づくスマート契約をテストする装置及び方法 | |
CN111752843B (zh) | 用于确定影响面的方法、装置、电子设备及可读存储介质 | |
US20140282421A1 (en) | Distributed software validation | |
CN101699403B (zh) | 一种图形化安装分布式系统的方法 | |
CN111666217B (zh) | 用于测试代码的方法和装置 | |
CN111414302A (zh) | 用于持续集成过程中的静态代码质量分析方法及计算设备 | |
CN109977012B (zh) | 系统的联调测试方法、装置、设备及计算机可读存储介质 | |
CN112463588A (zh) | 一种自动化测试系统及方法、存储介质、计算设备 | |
Song et al. | An integrated test automation framework for testing on heterogeneous mobile platforms | |
CN111949272A (zh) | 寄宿应用的编译优化方法、装置、电子设备及可读存储介质 | |
US10216619B2 (en) | System and method for test automation using a decentralized self-contained test environment platform | |
US11928627B2 (en) | Workflow manager | |
EP4235403A1 (en) | Automatic generation of a cloud integration adapter from a standard, programming language-agnostic interface specification | |
US20030005171A1 (en) | System for ordering software methods within an object to be used in a computer network testing scenario | |
CN111831317B (zh) | 服务间依赖关系的获取方法、装置、电子设备和存储介质 | |
Wannipurage et al. | Implementing a flexible, fault tolerant job management system for science gateways | |
CN112685285A (zh) | 用户界面测试用例生成方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170111 |