一种测试API的方法、装置和系统制造方法及图纸

技术编号:14416544 阅读:65 留言:0更新日期:2017-01-12 09:33
本发明专利技术公开了一种测试API的方法、装置和系统。其中所述方法包括:提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例;将生成的测试用例上传到代码服务器;向测试服务器发送指令,由测试服务器根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。该技术方案大大降低了测试的操作复杂度,加快了测试用例的生成速度,在对API进行测试时仅需向测试服务器发送指令,不需手动运行测试用例来测试相应的API,极大地实现了API测试的自动化。

【技术实现步骤摘要】

本专利技术涉及测试领域,具体涉及一种测试API的方法、装置和系统
技术介绍
现有技术中对API(ApplicationProgrammingInterface,应用程序编程接口)的测试往往需要测试人员在编写好测试用例后,对于每个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的数量是巨大的,例如,在开发人员提供了本文档来自技高网...
一种测试API的方法、装置和系统

【技术保护点】
一种测试API的方法,其中,该方法包括:提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例;将生成的测试用例上传到代码服务器;向测试服务器发送指令,由测试服务器根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。

【技术特征摘要】
1.一种测试API的方法,其中,该方法包括:提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例;将生成的测试用例上传到代码服务器;向测试服务器发送指令,由测试服务器根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。2.如权利要求1所述的方法,其中,所述提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例包括:利用可视化工具Postman提供可视化的测试用例编辑界面,通过该界面接收测试用例编辑指令,根据测试用例编辑指令生成相应的测试用例。3.如权利要求1所述的方法,其中,所述向测试服务器发送指令包括:利用Java消息服务JMS远程通信机制向测试服务器发送指令。4.如权利要求1所述的方法,其中,测试服务器上有一个或多个虚拟机,每个虚拟机上安装有命令行工具Newman;所述向测试服务器发送指令,由测试服务器根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试包括:向测试服务器上的指定虚拟机上的Newman发送调用指令,由Newman根据指令从所述代码服务器获取相应的测试用例,运行测试用例对相应的API进行测试。5.如权利要求1所述的方法,其中,测试服务器有多个;所述向测试服务器发送指令包括:根据负载分担原则以及并行处理原则选择测试服务器以及该测试服务器上的...

【专利技术属性】
技术研发人员:卢云峰
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1