本发明实施例涉及计算机技术领域,尤其涉及一种接口测试方法及装置。
背景技术:
软件项目开发最重要的一个环节就是项目数据接口的单元测试,但是很多开发人员由于项目工期或测试流程比较繁琐,所以忽略掉这样一个重要环节,直接就把开发好的功能提交给测试人员测试,最终导致提交的版本质量低下,由于系统bug(漏洞)比较多,测试进度缓慢,这样会严重影响项目后期推进速度。
目前,接口测试这个环节主要由postman、reslet_client等第三方接口测试工具支持,但目前使用postman、reslet_client等第三方接口测试工具的时候需要与开发工具之间来回切换,进行接口测试的流程比较繁琐;而且,使用postman、reslet_client等第三方接口测试工具进行接口测试时,需要把参数和路径手动拷贝到这些第三方接口测试工具里面,参数较多的时候会浪费大量时间。
技术实现要素:
针对现有技术存在的问题,本发明实施例提供一种接口测试方法及装置。
本发明实施例提供一种接口测试方法,包括:
使用预设开发环境提供的自定义菜单注册功能,注册目标插件的入口;
使用预设开发环境,解析出待测试源代码的接口信息,所述接口信息包括:接口的执行路径和接口的参数;
接收对所述待测试源代码中选择的任意方法的接口测试选择命令,响应所述接口测试选择指令,通过所述目标插件,将所述待测试源代码的接口信息进行展示;
接收接口测试执行命令,通过所述目标插件,接收用户基于所展示的接口信息中的接口的参数而输入的数据,并基于用户输入的数据和解析出的接口的执行路径,对所述待测试源代码中所选择的方法进行接口测试操作。
可选地,所述接口信息还包括:接口的请求方式;
相应地,所述基于用户输入的数据和解析出的接口的执行路径,对所述待测试源代码中所选择的方法进行接口测试操作,包括:
基于用户输入的数据和解析出的接口的执行路径,利用解析出的接口的请求方式,对所述待测试源代码中所选择的方法进行接口测试操作。
可选地,所述预设开发环境为支持自定义开发插件的开发环境,包括:intellijidea开发环境。
可选地,所述使用预设开发环境,解析出待测试源代码的接口信息,包括:
使用intellijidea开发环境提供的openapi.jar包,解析出待测试源代码的接口信息。
可选地,所述接收对所述待测试源代码中选择的任意方法的接口测试选择命令,响应所述接口测试选择指令,通过所述目标插件,将所述待测试源代码的接口信息进行展示,包括:
接收对所述待测试源代码中选择的任意方法的接口测试选择命令,响应所述接口测试选择指令,将所述待测试源代码的接口信息在所述目标插件的用户使用界面进行展示。
可选地,在基于用户输入的数据和解析出的接口的执行路径,对所述待测试源代码中所选择的方法进行接口测试操作之后,所述方法还包括:
将本次用户输入的数据和本次接口测试操作的测试结果数据进行存储,并在再次接收到对所述待测试源代码中本次接口测试操作已测试过的方法的接口测试选择命令时,通过所述目标插件,将存储的本次用户输入的数据和本次接口测试操作的测试结果数据进行展示。
可选地,所述将本次用户输入的数据和本次接口测试操作的测试结果数据进行存储,包括:
利用redis数据库,将本次用户输入的数据和本次接口测试操作的测试结果数据进行存储。
本发明实施例提供一种接口测试装置,包括:
注册模块,用于使用预设开发环境提供的自定义菜单注册功能,注册目标插件的入口;
解析模块,用于使用预设开发环境,解析出待测试源代码的接口信息,所述接口信息包括:接口的执行路径和接口的参数;
展示模块,用于接收对所述待测试源代码中选择的任意方法的接口测试选择命令,响应所述接口测试选择指令,通过所述目标插件,将所述待测试源代码的接口信息进行展示;
测试模块,用于接收接口测试执行命令,通过所述目标插件接收用户基于所展示的接口信息中的接口的参数而输入的数据,并基于用户输入的数据和解析出的接口的执行路径,对所述待测试源代码中所选择的方法进行接口测试操作。
本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述方法的步骤。
本发明实施例提供的接口测试方法及装置,通过使用预设开发环境提供的自定义菜单注册功能注册目标插件的入口,使用预设开发环境,解析出待测试源代码的接口信息,接口信息包括:接口的执行路径和接口的参数,接收对待测试源代码中选择的任意方法的接口测试选择命令,响应所述接口测试选择指令,通过目标插件将待测试源代码的接口信息进行展示,接收接口测试执行命令,通过目标插件接收用户基于所展示的接口信息中的接口的参数而输入的数据,并基于用户输入的数据和解析出的接口的执行路径对待测试源代码中所选择的方法进行接口测试操作,由此,能够利用预设开发环境开发目标插件,在不影响开发人员正常作业流程的基础上,使用目标插件即插即用,省去工具切换的麻烦,在开发工具里面就解决接口测试问题,提升接口测试效率,可以自动解析出接口的执行路径和参数,有效省去现有技术中参数在开发工具与第三方接口测试工具之间来回拷贝的步骤。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种接口测试方法的流程示意图;
图2为本发明实施例提供的将所述待测试源代码的接口信息在所述目标插件的用户使用界面进行展示的一种举例示意图;
图3为本发明一实施例提供的一种接口测试装置的结构示意图;
图4为本发明一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明一实施例提供的一种接口测试方法的流程示意图,如图1所示,本实施例的接口测试方法,包括:
s1、使用预设开发环境提供的自定义菜单注册功能,注册目标插件的入口。
可以理解的是,本实施例所述预设开发环境为支持自定义开发插件的开发环境。
需要说明的是,本实施例所述方法的执行主体为处理器。
s2、使用预设开发环境,解析出待测试源代码的接口信息,所述接口信息可以包括:接口的执行路径和接口的参数等。
在具体应用中,举例来说,所述接口的参数可以包括:label(标签)、keyword(关键词)、type(类型)、nationid(国家标识)、usercode(用户码)、platform(平台)、pageno(页数)、pagesize(页面大小)等,本实施例并不对其进行限制。
s3、接收对所述待测试源代码中选择的任意方法的接口测试选择命令,响应所述接口测试选择指令,通过所述目标插件,将所述待测试源代码的接口信息进行展示。
可以理解的是,本实施例是将所述待测试源代码的接口信息在所述目标插件的用户使用界面进行展示,举例来说,所述用户使用界面可以使用java的swing开发工具包进行编写,本实施例并不对其进行限制。
s4、接收接口测试执行命令,通过所述目标插件,接收用户基于所展示的接口信息中的接口的参数而输入的数据,并基于用户输入的数据和解析出的接口的执行路径,对所述待测试源代码中所选择的方法进行接口测试操作。
可以理解的是,通过所述目标插件,将所述待测试源代码的接口信息进行展示之后,用户可以基于所展示的接口信息,输入设置接口的各个参数的值,接收接口测试执行命令,通过所述目标插件,可接收用户输入设置的接口的各个参数的值,根据用户输入设置的接口的各个参数的值和解析出的接口的执行路径,对所述待测试源代码中所选择的方法进行接口测试操作,得到接口测试结果。
可以理解的是,执行接口测试时,需要基于接口的执行路径和接口的参数进行接口测试操作;而现有技术中执行接口测试需要把参数和路径手动拷贝到所使用的第三方接口测试工具里面,参数较多的时候会浪费大量时间。本实施例使用预设开发环境,解析出待测试源代码的接口的执行路径和接口的参数等接口信息,能够有效省去现有技术中参数在开发工具与第三方接口测试工具之间来回拷贝的步骤,有效提高接口测试效率。
本发明实施例提供的接口测试方法,通过使用预设开发环境提供的自定义菜单注册功能注册目标插件的入口,使用预设开发环境,解析出待测试源代码的接口信息,接口信息包括:接口的执行路径和接口的参数,接收对待测试源代码中选择的任意方法的接口测试选择命令,响应所述接口测试选择指令,通过目标插件将待测试源代码的接口信息进行展示,接收接口测试执行命令,通过目标插件接收用户基于所展示的接口信息中的接口的参数而输入的数据,并基于用户输入的数据和解析出的接口的执行路径对待测试源代码中所选择的方法进行接口测试操作,由此,能够利用预设开发环境开发目标插件,在不影响开发人员正常作业流程的基础上,使用目标插件即插即用,省去工具切换的麻烦,在开发工具里面就解决接口测试问题,提升接口测试效率,可以自动解析出接口的执行路径和参数,有效省去现有技术中参数在开发工具与第三方接口测试工具之间来回拷贝的步骤。
进一步地,在上述实施例的基础上,所述接口信息还可以包括:接口的请求方式等,本实施例并不对其进行限制。当所述接口信息还包括:接口的请求方式时,相应地,所述基于用户输入的数据和解析出的接口的执行路径,对所述待测试源代码中所选择的方法进行接口测试操作,可具体包括:基于用户输入的数据和解析出的接口的执行路径,利用解析出的接口的请求方式,对所述待测试源代码中所选择的方法进行接口测试操作。
在具体应用中,可以图2为例对本实施例中将所述待测试源代码的接口信息在所述目标插件的用户使用界面进行展示进行更具体地说明。图2为将所述待测试源代码的接口信息在所述目标插件的用户使用界面进行展示的一种举例示意图。图2中的界面为目标插件的主界面,也是接口测试的执行界面,图中:第一行为url(统一资源定位符)后面的录入框默认为本地接口host(主机)可更改,录入框后面是自动获取的接口执行路径;第二行为接口host的执行记录,选中的时候会更新第一行数据;第3行-第10行都是目标插件自动解析出来的接口的参数,测试人员只需要在其后面对应录入框填入参数值,然后点击ok(确认)按钮即可测试接口,点击cancel(取消)按钮则取消测试接口;第11行的文本框区域是参数的执行记录,点击选中参数值会自动填充到相应的参数后面,这个记录包括项目的其他开发人员的测试记录,以此实现共享测试数据的效果。最后一个文本框区域是用来展示接口执行的结果的;最后一排是操作按钮以及包含一些请求耗时和status状态信息。
这样,本实施例能够将所述待测试源代码的接口信息在所述目标插件的用户使用界面进行展示。
进一步地,在上述实施例的基础上,所述预设开发环境为支持自定义开发插件的开发环境,可以包括:intellijidea开发环境等,本实施例并不对其进行限制。
可以理解的是,本实施例利用预设开发环境支持自定义开发插件的功能开发目标插件,能够在不影响开发人员正常作业流程的基础上,使用目标插件即插即用,省去工具切换的麻烦,在开发工具里面就解决接口测试问题,提升接口测试效率。
进一步地,在所述预设开发环境为intellijidea开发环境时,所述步骤s2可以包括:使用intellijidea开发环境提供的,解析出待测试源代码的接口信息。
可以理解的是,现有的intellijidea开发环境提供有开放平台openapi.jar包,本实施例利用openapi.jar包,能够解析出待测试源代码的接口信息。
进一步地,在上述实施例的基础上,在所述步骤s4之后,本实施例所述方法还可以包括:
将本次用户输入的数据和本次接口测试操作的测试结果数据进行存储,并在再次接收到对所述待测试源代码中本次接口测试操作已测试过的方法的接口测试选择命令时,通过所述目标插件,将存储的本次用户输入的数据和本次接口测试操作的测试结果数据进行展示。
在具体应用中,举例来说,可以利用redis数据库,将本次用户输入的数据和本次接口测试操作的测试结果数据进行存储,本实施例并不对其进行限制。
可以理解的是,将本次用户输入的数据和本次接口测试操作的测试结果数据进行存储后,可以使本次接口测试操作的接口参数值自动共享,其他人员可直接使用本次接口测试操作的测试用例,有效提高开发人员接口测试率和测试效率。
本发明实施例提供的接口测试方法,能够利用预设开发环境开发目标插件,在不影响开发人员正常作业流程的基础上,使用目标插件即插即用,省去工具切换的麻烦,在开发工具里面就解决接口测试问题,提升接口测试效率,可以自动解析出接口的执行路径和参数,有效省去现有技术中参数在开发工具与第三方接口测试工具之间来回拷贝的步骤。
图3示出了本发明一实施例提供的一种接口测试装置的结构示意图,如图3所示,本实施例的接口测试装置,包括:注册模块31、解析模块32、展示模块33和测试模块34;其中:
所述注册模块31,用于使用预设开发环境提供的自定义菜单注册功能,注册目标插件的入口;
所述解析模块32,用于使用预设开发环境,解析出待测试源代码的接口信息,所述接口信息包括:接口的执行路径和接口的参数;
所述展示模块33,用于接收对所述待测试源代码中选择的任意方法的接口测试选择命令,响应所述接口测试选择指令,通过所述目标插件,将所述待测试源代码的接口信息进行展示;
所述测试模块34,用于接收接口测试执行命令,通过所述目标插件,接收用户基于所展示的接口信息中的接口的参数而输入的数据,并基于用户输入的数据和解析出的接口的执行路径,对所述待测试源代码中所选择的方法进行接口测试操作。
具体地,所述注册模块31使用预设开发环境提供的自定义菜单注册功能,注册目标插件的入口;所述解析模块32使用预设开发环境,解析出待测试源代码的接口信息,所述接口信息包括:接口的执行路径和接口的参数;所述展示模块33接收对所述待测试源代码中选择的任意方法的接口测试选择命令,响应所述接口测试选择指令,通过所述目标插件,将所述待测试源代码的接口信息进行展示;所述测试模块34接收接口测试执行命令,通过所述目标插件,接收用户基于所展示的接口信息中的接口的参数而输入的数据,并基于用户输入的数据和解析出的接口的执行路径,对所述待测试源代码中所选择的方法进行接口测试操作。
可以理解的是,本实施例所述预设开发环境为支持自定义开发插件的开发环境。
需要说明的是,本实施例所述装置应用于处理器。
在具体应用中,举例来说,所述接口的参数可以包括:label(标签)、keyword(关键词)、type(类型)、nationid(国家标识)、usercode(用户码)、platform(平台)、pageno(页数)、pagesize(页面大小)等,本实施例并不对其进行限制。
可以理解的是,本实施例是将所述待测试源代码的接口信息在所述目标插件的用户使用界面进行展示,举例来说,所述用户使用界面可以使用java的swing开发工具包进行编写,本实施例并不对其进行限制。
可以理解的是,通过所述目标插件,将所述待测试源代码的接口信息进行展示之后,用户可以基于所展示的接口信息,输入设置接口的各个参数的值,接收接口测试执行命令,通过所述目标插件,可接收用户输入设置的接口的各个参数的值,根据用户输入设置的接口的各个参数的值和解析出的接口的执行路径,对所述待测试源代码中所选择的方法进行接口测试操作,得到接口测试结果。
可以理解的是,执行接口测试时,需要基于接口的执行路径和接口的参数进行接口测试操作;而现有技术中执行接口测试需要把参数和路径手动拷贝到所使用的第三方接口测试工具里面,参数较多的时候会浪费大量时间。本实施例使用预设开发环境,解析出待测试源代码的接口的执行路径和接口的参数等接口信息,能够有效省去现有技术中参数在开发工具与第三方接口测试工具之间来回拷贝的步骤,有效提高接口测试效率。
本发明实施例提供的接口测试装置,能够利用预设开发环境开发目标插件,在不影响开发人员正常作业流程的基础上,使用目标插件即插即用,省去工具切换的麻烦,在开发工具里面就解决接口测试问题,提升接口测试效率,可以自动解析出接口的执行路径和参数,有效省去现有技术中参数在开发工具与第三方接口测试工具之间来回拷贝的步骤。
进一步地,在上述实施例的基础上,所述接口信息还可以包括:接口的请求方式等,本实施例并不对其进行限制。当所述接口信息还包括:接口的请求方式时,相应地,所述测试模块34,可具体用于接收接口测试执行命令,通过所述目标插件,接收用户基于所展示的接口信息中的接口的参数而输入的数据,并基于用户输入的数据和解析出的接口的执行路径,利用解析出的接口的请求方式,对所述待测试源代码中所选择的方法进行接口测试操作。
在具体应用中,可以图2为例对本实施例中将所述待测试源代码的接口信息在所述目标插件的用户使用界面进行展示进行更具体地说明。图2为将所述待测试源代码的接口信息在所述目标插件的用户使用界面进行展示的一种举例示意图。图2中的界面为目标插件的主界面,也是接口测试的执行界面,图中:第一行为url后面的录入框默认为本地接口host(主机)可更改,录入框后面是自动获取的接口执行路径;第二行为接口host的执行记录,选中的时候会更新第一行数据;第3行-第10行都是目标插件自动解析出来的接口的参数,测试人员只需要在其后面对应录入框填入参数值,然后点击ok(确认)按钮即可测试接口,点击cancel(取消)按钮则取消测试接口;第11行的文本框区域是参数的执行记录,点击选中参数值会自动填充到相应的参数后面,这个记录包括项目的其他开发人员的测试记录,以此实现共享测试数据的效果。最后一个文本框区域是用来展示接口执行的结果的;最后一排是操作按钮以及包含一些请求耗时和status状态信息。
这样,本实施例能够将所述待测试源代码的接口信息在所述目标插件的用户使用界面进行展示。
进一步地,在上述实施例的基础上,所述预设开发环境为支持自定义开发插件的开发环境,可以包括:intellijidea开发环境等,本实施例并不对其进行限制。
可以理解的是,本实施例利用预设开发环境支持自定义开发插件的功能开发目标插件,能够在不影响开发人员正常作业流程的基础上,使用目标插件即插即用,省去工具切换的麻烦,在开发工具里面就解决接口测试问题,提升接口测试效率。
进一步地,在所述预设开发环境为intellijidea开发环境时,所述解析模块32可以具体用于
使用intellijidea开发环境提供的,解析出待测试源代码的接口信息。
可以理解的是,现有的intellijidea开发环境提供有开放平台openapi.jar包,本实施例利用openapi.jar包,能够解析出待测试源代码的接口信息。
进一步地,在上述实施例的基础上,本实施例所述装置还可以包括图中未示出的:
存储模块,用于将本次用户输入的数据和本次接口测试操作的测试结果数据进行存储,并在再次接收到对所述待测试源代码中本次接口测试操作已测试过的方法的接口测试选择命令时,通过所述目标插件,将存储的本次用户输入的数据和本次接口测试操作的测试结果数据进行展示。
在具体应用中,举例来说,所述存储模块可以利用redis数据库,将本次用户输入的数据和本次接口测试操作的测试结果数据进行存储,本实施例并不对其进行限制。
可以理解的是,将本次用户输入的数据和本次接口测试操作的测试结果数据进行存储后,可以使本次接口测试操作的接口参数值自动共享,其他人员可直接使用本次接口测试操作的测试用例,有效提高开发人员接口测试率和测试效率。
本发明实施例提供的接口测试装置,能够利用预设开发环境开发目标插件,在不影响开发人员正常作业流程的基础上,使用目标插件即插即用,省去工具切换的麻烦,在开发工具里面就解决接口测试问题,提升接口测试效率,可以自动解析出接口的执行路径和参数,有效省去现有技术中参数在开发工具与第三方接口测试工具之间来回拷贝的步骤。
本发明实施例提供的接口测试装置,可以用于执行前述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图4示出了本发明一实施例提供的一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括存储器402、处理器401及存储在存储器402上并可在处理器401上运行的计算机程序,所述处理器401执行所述程序时实现上述方法的步骤,例如包括:使用预设开发环境提供的自定义菜单注册功能,注册目标插件的入口;使用预设开发环境,解析出待测试源代码的接口信息,所述接口信息包括:接口的执行路径和接口的参数;接收对所述待测试源代码中选择的任意方法的接口测试选择命令,响应所述接口测试选择指令,通过所述目标插件,将所述待测试源代码的接口信息进行展示;接收接口测试执行命令,通过所述目标插件,接收用户基于所展示的接口信息中的接口的参数而输入的数据,并基于用户输入的数据和解析出的接口的执行路径,对所述待测试源代码中所选择的方法进行接口测试操作。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤,例如包括:使用预设开发环境提供的自定义菜单注册功能,注册目标插件的入口;使用预设开发环境,解析出待测试源代码的接口信息,所述接口信息包括:接口的执行路径和接口的参数;接收对所述待测试源代码中选择的任意方法的接口测试选择命令,响应所述接口测试选择指令,通过所述目标插件,将所述待测试源代码的接口信息进行展示;接收接口测试执行命令,通过所述目标插件,接收用户基于所展示的接口信息中的接口的参数而输入的数据,并基于用户输入的数据和解析出的接口的执行路径,对所述待测试源代码中所选择的方法进行接口测试操作。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。