CN107368420A - Api测试方法、装置及电子设备 - Google Patents
Api测试方法、装置及电子设备 Download PDFInfo
- Publication number
- CN107368420A CN107368420A CN201710628733.3A CN201710628733A CN107368420A CN 107368420 A CN107368420 A CN 107368420A CN 201710628733 A CN201710628733 A CN 201710628733A CN 107368420 A CN107368420 A CN 107368420A
- Authority
- CN
- China
- Prior art keywords
- api
- test
- parameter
- user interface
- tested
- 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
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提供了一种API测试方法、装置及电子设备,涉及软件测试技术领域,该方法包括打开已运行的API测试插件的用户界面;获取待测试API的测试参数;其中,所述测试参数包括所述待测试API的API地址;当接收到测试请求时,将所述测试参数发送至所述API地址,以对所述待测试API进行功能测试;当接收到所述API地址返回的测试结果消息时,在所述用户界面上显示与所述测试结果消息对应的测试结果,并记录此次测试完成。本发明提供的API测试方法、装置及电子设备,可以提高API测试的便捷性和测试效率。
Description
技术领域
本发明涉及软件测试技术领域,尤其是涉及一种API测试方法、装置及电子设备。
背景技术
在大型的软件系统中,各个子系统之间大量的依赖于http(Hyper Text TransferProtocol,超文本传输协议)或https(Hyper Text Transfer Protocol over SecureSocket Layer)协议进行信息交互,软件开发中API(Application ProgrammingInterface,应用程序编程接口)的编写与测试是必不可少的环节。为了提高API的开发效率,使开发者能够专注于业务代码的编写,需要简化API测试步骤,提高API测试效率。
现有技术中,通常通过junit测试框架写测试方法,定义变量模拟请求进行API测试。然而这种测试方式没有UI(User Interface,用户界面),测试不够直观方便;并且采用这种方式进行API测试时,每测试一次就需要将测试所用的项目重启一次,而项目的启动需要消耗较长的时间,因而会降低测试效率。
综上可知,采用现有技术进行API测试时,存在测试不便、费时费力、测试效率低的问题。
发明内容
有鉴于此,本发明的目的在于提供一种API测试方法、装置及电子设备,以提高API测试的便捷性和测试效率。
第一方面,本发明实施例提供了一种API测试方法,所述方法包括:
打开已运行的API测试插件的用户界面;
获取待测试API的测试参数;其中,所述测试参数包括所述待测试API的API地址;
当接收到测试请求时,将所述测试参数发送至所述API地址,以对所述待测试API进行功能测试;
当接收到所述API地址返回的测试结果消息时,在所述用户界面上显示与所述测试结果消息对应的测试结果,并记录此次测试完成。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述获取待测试API的测试参数包括:
通过所述用户界面接收待测试API的测试参数;
或者,从测试存储区读取当前保存的测试参数。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述方法还包括:
当获取的所述测试参数为通过所述用户界面接收的测试参数,且接收到参数保存请求时,用接收的所述测试参数替换所述测试存储区中当前保存的测试参数。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述用户界面内设置有发送按钮;所述测试参数包括所述API地址和功能参数,所述API地址包括所述待测试API的网络协议IP地址、端口和路径;
所述当接收到测试请求时,将所述测试参数发送至所述API地址,包括:
当接收到所述发送按钮被选中触发的测试请求时,根据预设的拼接规则,对所述IP地址、所述端口、所述路径和所述功能参数进行拼接操作,得到所述待测试API的统一资源定位符URL;
将所述URL发送至所述API地址。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述方法还包括:
当所述发送按钮被选中时,将所述发送按钮切换至等待状态;
当接收到所述API地址返回的测试结果消息时,将所述发送按钮切换至可用状态。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述方法应用在Eclipse平台上;
所述API测试插件的用户界面通过以下方法创建:
获取所述API测试插件的安装文件包,并将所述安装文件包存储在所述Eclipse平台的安装目录下的插件文件夹中;
在启动所述Eclipse平台的富客户端应用RCP过程中,从所述安装文件包中查找扩展点org.eclipse.core.runtime.application对应的类;
通过加载运行查找到的所述类,创建所述API测试插件的用户界面。
结合第一方面的第五种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述获取所述API测试插件的安装文件包,包括:
根据所述用户界面的设定方案,利用Eclipse平台开发所述API测试插件的源文件;
将所述源文件打成jar包,并将所述jar包作为所述安装文件包。
第二方面,本发明实施例还提供一种API测试装置,包括:
界面打开模块,用于打开已运行的API测试插件的用户界面;
参数获取模块,用于获取待测试API的测试参数;其中,所述测试参数包括所述待测试API的API地址;
测试发送模块,用于当接收到测试请求时,将所述测试参数发送至所述API地址,以对所述待测试API进行功能测试;
结果显示模块,用于当接收到所述API地址返回的测试结果消息时,在所述用户界面上显示与所述测试结果消息对应的测试结果,并记录此次测试完成。
第三方面,本发明实施例还提供一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法的步骤。
第四方面,本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述第一方面所述方法。
本发明实施例带来了以下有益效果:
本发明实施例中,打开已运行的API测试插件的用户界面;获取待测试API的测试参数;其中,测试参数包括待测试API的API地址;当接收到测试请求时,将测试参数发送至该API地址,以对待测试API进行功能测试;当接收到API地址返回的测试结果消息时,在用户界面上显示与该测试结果消息对应的测试结果,并记录此次测试完成。本发明提供的API测试方法、装置及电子设备,通过API测试插件的用户界面进行API测试,直观方便,提高了API测试的便捷性,且不需要重启该用户界面即可进行多次API测试,提高了API测试效率,从而使开发人员能够专注于API的业务逻辑编写,提高API开发效率。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的API测试方法的流程示意图;
图2为本发明实施例提供的API测试插件的用户界面示意图;
图3为本发明实施例提供的创建用户界面的流程示意图;
图4为本发明实施例提供的API测试插件的源文件透视图;
图5为本发明实施例提供的API测试装置的模块组成示意图;
图6为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前现有技术中,通常通过junit测试框架写测试方法,定义变量模拟请求进行API测试,测试不够直观方便,且测试效率低。基于此,本发明实施例提供的一种API测试方法、装置及电子设备,可以提高API测试的便捷性和测试效率。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种API测试方法进行详细介绍。
实施例一:
图1为本发明实施例提供的API测试方法的流程示意图,如图1所示,该方法包括以下几个步骤:
步骤S101,打开已运行的API测试插件的用户界面。
测试终端(例如电脑)安装有开发平台(例如Eclipse平台),开发平台上预先安装有API测试插件,启动插件开发平台后,该API测试插件可以自动运行。当进行API测试时,打开该API测试插件的用户界面,该用户界面作为人机交互接口交互API测试数据,通过该用户界面可以进行多次API测试。
步骤S102,获取待测试API的测试参数;其中,测试参数包括待测试API的API地址。
本发明实施例提供了两种获取测试参数的方式,分别为:(1)通过上述用户界面接收待测试API的测试参数;(2)从测试存储区读取当前保存的测试参数。
图2为本发明实施例提供的API测试插件的用户界面示意图,如图2所示,该用户界面内设置有参数输入栏,参数输入栏包括两列,分别为参数名(HeaderName)和参数值(HeaderValue),参数输入栏用于显示上述测试参数。在一个实施例中,通过上述用户界面接收用户在参数输入栏内输入测试参数;在另一个实施例中,测试终端的测试存储区内存储有预先保存的测试参数,在打开上述用户界面后,从测试存储区自动读取当前保存的测试参数,并在参数输入栏内显示该测试参数,以便接收用户对当前测试参数的修改。
步骤S103,当接收到测试请求时,将测试参数发送至上述API地址,以对待测试API进行功能测试。
具体地,如图2所示,上述用户界面内设置有发送按钮,用户可以通过点击操作选中该发送按钮,以触发测试请求。
在一个实施例中,上述测试参数包括API地址和功能参数,如图2所示,该API地址包括待测试API的网络协议IP(Internet Protocol)地址、端口(Port)和路径(contextPath)。API地址可以唯一确定一台待测试终端(例如电脑)的待测试系统,例如,若用户要测试某台电脑的学生系统,则输入该电脑的IP(如图2中的192.168.0.102)、端口(如图2中的8080),以及学生系统对应的路径(如图2中的studentSystem,若测试的是教师系统,则可以对应修改为teacherSystem)。功能参数用于测试待测试API的功能,以学生系统为例,若测试添加学生信息功能,需要三个参数:param A、param B、param C(例如姓名、学号、性别),则应添加这三个参数,并输入对应的三个参数值(如图2中的a、b、c);若测试删除学生信息功能,需要用param D将param A、param B、param C删除,则应添加param D,并输入param D对应的参数值(例如d)。
基于上述内容,步骤S103具体为:当接收到上述发送按钮被选中触发的测试请求时,根据预设的拼接规则,对IP地址、端口、路径和功能参数等测试参数进行拼接操作,得到待测试API的统一资源定位符URL(Uniform Resource Locator),并将该URL发送至上述API地址。具体地,通过对获取的测试参数进行分析,按照URL的结构组成拼接成合法的URL。URL包括协议、IP地址、端口、路径和功能参数等内容,其中,IP地址、路径和功能参数等属于必要参数,协议和端口等属于非必要参数,必要参数必须通过测试参数获取,非必要参数可以通过默认设置在拼接URL时添加进去。
例如,对应上述学生系统的添加学生信息功能,拼接时添加协议http,拼接后的URL为:http://192.168.0.102:8080/studentSystem?param A=a¶m B=b¶m C=c;对应上述学生系统的删除学生信息功能,拼接后的URL为:http://192.168.0.102:8080/studentSystem?paramD=d。这样只需要用户输入一些必要参数即可自动拼接成URL,不需要用户手动拼接URL,方便了用户输入测试参数,减少了测试时间,提高了测试效率。
步骤S104,当接收到上述API地址返回的测试结果消息时,在用户界面上显示与该测试结果消息对应的测试结果,并记录此次测试完成。
如图2所示,上述用户界面内设置有结果显示文本框,当接收到上述API地址返回的测试结果消息时,在该结果显示文本框内显示各项功能参数的执行结果和/或与该执行结果对应的判断结果。该判断结果的确定方法如下:分别判断该测试结果消息中的各项功能参数的执行结果与预设结果是否一致,若某项功能参数的执行结果与预设结果一致,则该项功能正常,反之则该项功能错误。
本发明实施例中,打开已运行的API测试插件的用户界面;获取待测试API的测试参数;其中,测试参数包括待测试API的API地址;当接收到测试请求时,将测试参数发送至该API地址,以对待测试API进行功能测试;当接收到API地址返回的测试结果消息时,在用户界面上显示与该测试结果消息对应的测试结果,并记录此次测试完成。本发明提供的API测试方法,通过API测试插件的用户界面进行API测试,直观方便,提高了API测试的便捷性,且不需要重启该用户界面即可进行多次API测试,提高了API测试效率,从而使开发人员能够专注于API的业务逻辑编写,提高API开发效率。
进一步地,为了方便下次测试,上述方法还包括:当获取的测试参数为通过用户界面接收的测试参数,且接收到参数保存请求时,用接收的测试参数替换测试存储区中当前保存的测试参数。对应地,如图2所示,上述用户界面内设置有保存按钮,当该保存按钮被选中(例如用户点击该保存按钮)时,执行测试参数的保存操作。这样下次测试时可以自动加载并显示本次保存的测试参数,减少了用户的参数输入工作量,提高了用户的测试体验。
进一步地,为了防止同一次测试中频繁发送测试请求,上述方法还包括:当发送按钮被选中时,将该发送按钮切换至等待状态;当接收到API地址返回的测试结果消息时,将该发送按钮切换至可用状态。发送按钮在等待状态下不能被选中,只有在可用状态下才能够被选中触发测试请求,这样就避免了在同一次测试中频繁发送测试请求,从而防止对当前API测试的执行造成干扰。
图3为本发明实施例提供的创建用户界面的流程示意图,如图3所示,以上述方法应用在Eclipse平台上为例,通过以下几个步骤创建上述用户界面:
步骤S301,获取API测试插件的安装文件包,并将该安装文件包存储在Eclipse平台的安装目录下的插件文件夹中。
根据上述用户界面的设定方案,利用Eclipse平台开发API测试插件的源文件;将该源文件打成jar包,并将该jar包作为安装文件包,其中jar包具有方便迁移和安装的优点;将该安装文件包存储在Eclipse平台的安装目录下的plugins文件夹中。
具体地,使用Eclipse平台作为开发工具,Eclipse作为java的IDE(IntegratedDevelopment Environment,集成开发环境)被广泛的应用。Eclipse最重要的特征就是它的插件架构,其核心非常小,由许多功能插件组合而成;插件自身可以对其他插件进行扩展,插件本身定义了“扩展点”,需要为插件添加新功能时就可以利用扩展点。Eclipse平台提供的扩展点有:增加菜单项、增加视图、增加编辑器等。
根据上述用户界面的设定方案,利用Eclipse平台开发API测试插件的源文件,具体为:依赖myeclipse创建的Plug-in Project创建插件项目,产生一个容纳所有页面元素的窗口,通过布局管理器Border Layout把窗口内部划分为上下左右中5个区域,并根据上述用户界面的页面布局调整划分的各个区域,然后对各个扩展点进行编码,添加各项扩展点功能,最终得到该API测试插件的源文件。其中,对各个扩展点进行编码包括:(1)通过对“org.eclipse.ui.commands”扩展点编码,实现添加全局快捷键,如:通过Ctrl+x+c快速打开API测试插件的用户界面;(2)通过对“org.eclipse.ui.actionSets”扩展点编码,实现添加“帮助”“关于”的菜单按钮;(3)通过对“org.eclipse.ui.table”扩展点编码,实现添加参数输入栏;(4)通过对“org.eclipse.ui.buttons”扩展点编码,实现添加“保存按钮”“发送按钮”;在“发送按钮”上绑定了读取测试参数、拼接URL、获取测试结果消息的功能;在“保存按钮”上绑定了把参数保存到存储本地文件的功能,方便下次快速测试;(5)通过对“org.eclipase.ui.editor”扩展点编码,实现添加结果显示文本框。
图4为本发明实施例提供的API测试插件的源文件透视图,如图4所示,Plugin工程(API测试插件的源文件)与一般的Java工程的区别为,拥有META-INF文件夹,里面有MANIFEST.MF文件,以及plugin.xml,其中,com.httptest为插件的源码包,org.apache为HTTP工具封装包。
将该源文件打成jar包具体为:使用Eclipse的导出jar包功能将该源文件打成jar包(例如jar包名称记为HttpToolTest.jar),操作步骤为:1.在插件项目上右键;2.在右键菜单选择导出功能;3.选择导出路径(如:电脑桌面)。使用上述API测试插件的时候,只需要把HttpToolTest.jar放到Eclipse平台的安装目录下的plugins文件夹下,重启Eclipse即可在工具栏中使用。
步骤S302,在启动Eclipse平台的富客户端应用RCP过程中,从安装文件包中查找扩展点org.eclipse.core.runtime.application对应的类。
步骤S303,通过加载运行查找到的上述类,创建API测试插件的用户界面。
步骤S302和步骤S303具体为:在RCP(Rich Client Application,富客户端应用)启动的过程中,Eclipse会寻找扩展点"org.eclipse.core.runtime.application"对应的类,然后这个类被加载运行。在这个类中,创建一个Display,创建并运行一个Workbench,其中,这个Workbench通过WorkbenchAdvisor配置,WorkbenchAdvisor又是通过WorkbenchWindowAdvisor来实现用户界面的显示的,最后在这个类里面实现菜单、工具栏等,从而创建出API测试插件的用户界面。
本发明实施例提出了一种移动方便、装卸简单、不需要切换出IDE环境,并可以通过快捷键唤起的具有友好的用户界面的API测试插件,该API测试插件打成jar包形式,再以插件方式安装到Eclipse或者myeclipse开发工具中,进而用于进行API测试,具有以下有益效果:
(1)以jar包方式存在,通过插件方式安装到myeclipse或者Eclipse,方便API的业务逻辑测试;
(2)使开发人员能专注于API的业务逻辑编写,去除测试API的繁琐步骤,从而提高API开发效率。
实施例二:
图5为本发明实施例提供的API测试装置的模块组成示意图,如图5所示,该装置包括:
界面打开模块51,用于打开已运行的API测试插件的用户界面;
参数获取模块52,用于获取待测试API的测试参数;其中,测试参数包括待测试API的API地址;
测试发送模块53,用于当接收到测试请求时,将上述测试参数发送至上述API地址,以对待测试API进行功能测试;
结果显示模块54,用于当接收到上述API地址返回的测试结果消息时,在上述用户界面上显示与该测试结果消息对应的测试结果,并记录此次测试完成。
本发明实施例中,界面打开模块51打开已运行的API测试插件的用户界面;参数获取模块52获取待测试API的测试参数;其中,测试参数包括待测试API的API地址;当接收到测试请求时,测试发送模块53将测试参数发送至该API地址,以对待测试API进行功能测试;当接收到API地址返回的测试结果消息时,结果显示模块54在用户界面上显示与该测试结果消息对应的测试结果,并记录此次测试完成。本发明提供的API测试装置,通过API测试插件的用户界面进行API测试,直观方便,提高了API测试的便捷性,且不需要重启该用户界面即可进行多次API测试,提高了API测试效率,从而使开发人员能够专注于API的业务逻辑编写,提高API开发效率。
实施例三:
参见图6,本发明实施例还提供一种电子设备100,包括:处理器40,存储器41,总线42和通信接口43,所述处理器40、通信接口43和存储器41通过总线42连接;处理器40用于执行存储器41中存储的可执行模块,例如计算机程序。
其中,存储器41可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口43(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线42可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器41用于存储程序,所述处理器40在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器40中,或者由处理器40实现。
处理器40可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器40中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器40可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器40读取存储器41中的信息,结合其硬件完成上述方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和电子设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例提供的API测试装置及电子设备,与上述实施例提供的API测试方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明实施例所提供的进行API测试方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置及电子设备,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种API测试方法,其特征在于,所述方法包括:
打开已运行的API测试插件的用户界面;
获取待测试API的测试参数;其中,所述测试参数包括所述待测试API的API地址;
当接收到测试请求时,将所述测试参数发送至所述API地址,以对所述待测试API进行功能测试;
当接收到所述API地址返回的测试结果消息时,在所述用户界面上显示与所述测试结果消息对应的测试结果,并记录此次测试完成。
2.根据权利要求1所述的方法,其特征在于,所述获取待测试API的测试参数包括:
通过所述用户界面接收待测试API的测试参数;
或者,从测试存储区读取当前保存的测试参数。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当获取的所述测试参数为通过所述用户界面接收的测试参数,且接收到参数保存请求时,用接收的所述测试参数替换所述测试存储区中当前保存的测试参数。
4.根据权利要求1所述的方法,其特征在于,所述用户界面内设置有发送按钮;所述测试参数包括所述API地址和功能参数,所述API地址包括所述待测试API的网络协议IP地址、端口和路径;
所述当接收到测试请求时,将所述测试参数发送至所述API地址,包括:
当接收到所述发送按钮被选中触发的测试请求时,根据预设的拼接规则,对所述IP地址、所述端口、所述路径和所述功能参数进行拼接操作,得到统一资源定位符URL参数;
将所述URL参数发送至所述API地址。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述发送按钮被选中时,将所述发送按钮切换至等待状态;
当接收到所述API地址返回的测试结果消息时,将所述发送按钮切换至可用状态。
6.根据权利要求1所述的方法,其特征在于,所述方法应用在Eclipse平台上;
所述API测试插件的用户界面通过以下方法创建:
获取所述API测试插件的安装文件包,并将所述安装文件包存储在所述Eclipse平台的安装目录下的插件文件夹中;
在启动所述Eclipse平台的富客户端应用RCP过程中,从所述安装文件包中查找扩展点org.eclipse.core.runtime.application对应的类;
通过加载运行查找到的所述类,创建所述API测试插件的用户界面。
7.根据权利要求6所述的方法,其特征在于,所述获取所述API测试插件的安装文件包,包括:
根据所述用户界面的设定方案,利用Eclipse平台开发所述API测试插件的源文件;
将所述源文件打成jar包,并将所述jar包作为所述安装文件包。
8.一种API测试装置,其特征在于,包括:
界面打开模块,用于打开已运行的API测试插件的用户界面;
参数获取模块,用于获取待测试API的测试参数;其中,所述测试参数包括所述待测试API的API地址;
测试发送模块,用于当接收到测试请求时,将所述测试参数发送至所述API地址,以对所述待测试API进行功能测试;
结果显示模块,用于当接收到所述API地址返回的测试结果消息时,在所述用户界面上显示与所述测试结果消息对应的测试结果,并记录此次测试完成。
9.一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至7中任一项所述的方法的步骤。
10.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至7中任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710628733.3A CN107368420A (zh) | 2017-07-27 | 2017-07-27 | Api测试方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710628733.3A CN107368420A (zh) | 2017-07-27 | 2017-07-27 | Api测试方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107368420A true CN107368420A (zh) | 2017-11-21 |
Family
ID=60307793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710628733.3A Pending CN107368420A (zh) | 2017-07-27 | 2017-07-27 | Api测试方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107368420A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108521444A (zh) * | 2018-03-19 | 2018-09-11 | 五八有限公司 | 一种网络调试方法、装置及计算机可读存储介质 |
CN109491900A (zh) * | 2018-10-31 | 2019-03-19 | 北京车和家信息技术有限公司 | 接口测试方法、装置、电子设备及计算机可读存储介质 |
CN109828903A (zh) * | 2018-12-14 | 2019-05-31 | 中国平安人寿保险股份有限公司 | 自动化测试方法、装置、计算机装置及存储介质 |
CN111352825A (zh) * | 2018-12-21 | 2020-06-30 | 北京金山云网络技术有限公司 | 数据接口的测试方法、装置及服务器 |
CN111382051A (zh) * | 2018-12-29 | 2020-07-07 | 北京数聚鑫云信息技术有限公司 | 一种api自动测试方法及测试装置 |
CN111694733A (zh) * | 2020-05-22 | 2020-09-22 | 五八有限公司 | 一种软件开发工具包sdk的api测试方法以及测试装置 |
CN112131127A (zh) * | 2020-09-28 | 2020-12-25 | 北京同邦卓益科技有限公司 | 接口测试方法、装置、系统及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914368A (zh) * | 2012-12-31 | 2014-07-09 | 百度国际科技(深圳)有限公司 | 一种安全软件性能的测试方法、系统及装置 |
CN104579830A (zh) * | 2014-12-25 | 2015-04-29 | 小米科技有限责任公司 | 服务监控方法及装置 |
CN104657270A (zh) * | 2015-02-28 | 2015-05-27 | 北京嘀嘀无限科技发展有限公司 | 测试方法和系统 |
US9218269B2 (en) * | 2012-09-07 | 2015-12-22 | Red Hat Israel, Ltd. | Testing multiple target platforms |
CN106326115A (zh) * | 2016-08-17 | 2017-01-11 | 北京奇虎科技有限公司 | 一种测试api的方法、装置和系统 |
-
2017
- 2017-07-27 CN CN201710628733.3A patent/CN107368420A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9218269B2 (en) * | 2012-09-07 | 2015-12-22 | Red Hat Israel, Ltd. | Testing multiple target platforms |
CN103914368A (zh) * | 2012-12-31 | 2014-07-09 | 百度国际科技(深圳)有限公司 | 一种安全软件性能的测试方法、系统及装置 |
CN104579830A (zh) * | 2014-12-25 | 2015-04-29 | 小米科技有限责任公司 | 服务监控方法及装置 |
CN104657270A (zh) * | 2015-02-28 | 2015-05-27 | 北京嘀嘀无限科技发展有限公司 | 测试方法和系统 |
CN106326115A (zh) * | 2016-08-17 | 2017-01-11 | 北京奇虎科技有限公司 | 一种测试api的方法、装置和系统 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108521444A (zh) * | 2018-03-19 | 2018-09-11 | 五八有限公司 | 一种网络调试方法、装置及计算机可读存储介质 |
CN108521444B (zh) * | 2018-03-19 | 2022-05-31 | 五八有限公司 | 一种网络调试方法、装置及计算机可读存储介质 |
CN109491900A (zh) * | 2018-10-31 | 2019-03-19 | 北京车和家信息技术有限公司 | 接口测试方法、装置、电子设备及计算机可读存储介质 |
CN109828903A (zh) * | 2018-12-14 | 2019-05-31 | 中国平安人寿保险股份有限公司 | 自动化测试方法、装置、计算机装置及存储介质 |
CN109828903B (zh) * | 2018-12-14 | 2022-03-08 | 中国平安人寿保险股份有限公司 | 自动化测试方法、装置、计算机装置及存储介质 |
CN111352825A (zh) * | 2018-12-21 | 2020-06-30 | 北京金山云网络技术有限公司 | 数据接口的测试方法、装置及服务器 |
CN111352825B (zh) * | 2018-12-21 | 2023-06-02 | 北京金山云网络技术有限公司 | 数据接口的测试方法、装置及服务器 |
CN111382051A (zh) * | 2018-12-29 | 2020-07-07 | 北京数聚鑫云信息技术有限公司 | 一种api自动测试方法及测试装置 |
CN111382051B (zh) * | 2018-12-29 | 2023-04-18 | 北京数聚鑫云信息技术有限公司 | 一种api自动测试方法及测试装置 |
CN111694733A (zh) * | 2020-05-22 | 2020-09-22 | 五八有限公司 | 一种软件开发工具包sdk的api测试方法以及测试装置 |
CN112131127A (zh) * | 2020-09-28 | 2020-12-25 | 北京同邦卓益科技有限公司 | 接口测试方法、装置、系统及电子设备 |
CN112131127B (zh) * | 2020-09-28 | 2024-04-16 | 北京同邦卓益科技有限公司 | 接口测试方法、装置、系统及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107368420A (zh) | Api测试方法、装置及电子设备 | |
US10747652B2 (en) | Automatic risk analysis of software | |
WO2020155777A1 (zh) | Ui自动化功能测试方法、测试装置、测试设备及存储介质 | |
US11151018B2 (en) | Method and apparatus for testing a code file | |
CN107423048B (zh) | 数据收集的方法、装置、介质和计算设备 | |
WO2020155778A1 (zh) | 接口自动化测试方法、测试装置、测试设备及存储介质 | |
US9983892B2 (en) | Deep linking to mobile application states through programmatic replay of user interface events | |
CN107506300B (zh) | 一种用户界面测试方法、装置、服务器和存储介质 | |
CN107291438B (zh) | 自动化脚本的生成方法、装置及电子设备 | |
CN102567516B (zh) | 脚本加载方法及装置 | |
WO2021076311A1 (en) | Methods and systems for integrated development environment editor support with a single code base | |
CN105183592B (zh) | 用于支持性能分析的方法和装置 | |
CN111680253B (zh) | 页面应用数据包生成方法、装置、计算机设备及存储介质 | |
US20140129620A1 (en) | Indicating coverage of web application testing | |
US10628291B2 (en) | Programming assistance to identify suboptimal performing code and suggesting alternatives | |
US20220350857A1 (en) | Methods and systems for browser extension used to generate relative xpath, absolute xpath and/or css selectors | |
US20180316587A1 (en) | Automated analysis and recommendations for highly performant single page web applications | |
CN111913889A (zh) | 一种测试系统搭建方法及测试系统 | |
CN111563257A (zh) | 数据检测方法及装置、计算机可读介质及终端设备 | |
CN110213105A (zh) | 一种跨平台微应用创建方法 | |
CN111666201A (zh) | 回归测试方法、装置、介质及电子设备 | |
Ma et al. | Aladdin: Automating release of deep-link APIs on Android | |
CN113127361A (zh) | 应用程序的开发方法、装置、电子设备和存储介质 | |
US10997357B2 (en) | User interface navigation management | |
WO2013112388A1 (en) | Graphical representation of an order of operations |
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: 20171121 |
|
RJ01 | Rejection of invention patent application after publication |