CN115878443A - 接口测试脚本的生成方法及装置、存储介质及电子装置 - Google Patents
接口测试脚本的生成方法及装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN115878443A CN115878443A CN202111132016.4A CN202111132016A CN115878443A CN 115878443 A CN115878443 A CN 115878443A CN 202111132016 A CN202111132016 A CN 202111132016A CN 115878443 A CN115878443 A CN 115878443A
- Authority
- CN
- China
- Prior art keywords
- interface
- target
- data set
- interface data
- database
- 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
- 238000013515 script Methods 0.000 title claims abstract description 173
- 238000012360 testing method Methods 0.000 title claims abstract description 111
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 8
- 238000011161 development Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013479 data entry Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种接口测试脚本的生成方法及装置、存储介质及电子装置,其中,上述方法包括:获取生成指令,其中,所述生成指令用于指示生成目标项目的接口测试脚本,所述目标项目通过代码实现;根据所述生成指令访问所述目标项目的数据库,以获取所述数据库的更新时间,其中,所述更新时间用于指示所述数据库中的数据发生变化的时间;在所述更新时间距离当前时间的时间间隔小于预设阈值的情况下,从所述目标项目的数据库中获取第一接口数据集,并根据所述第一接口数据集生成所述目标项目中每一个接口的接口测试脚本,其中,所述第一接口数据集中具有所述目标项目中多个接口对应的接口数据。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种接口测试脚本的生成方法及装置、存储介质及电子装置。
背景技术
随着现代社会的发展,一个软件项目的体量通常比较巨大,且用于实现多种功能,传统的开发思想通常是面向过程开发,但通常会导致不同功能代码的耦合性较高,故为了降低不同功能代码的耦合性,并且为了可以让不同的用户可以编写不同的功能代码,现代软件开发通常是面向接口开发,这样既可以提高项目开发效率,又可以降低不同功能代码之间的耦合性。
但在面向接口开发的过程中,会存在一些问题,即不同的开发者可能会同时开发一个项目,导致数据库中此项目的接口数据可能不是此项目最新的接口数据,并且传统接口的测试脚本都是测试人员手动的进行编写,但由于接口中涉及字段过多,人工编写脚本时,可能存在数据遗漏,质量不能得到保证。
针对相关技术,测试人员手动编写软件项目中接口的测试脚本,导致编写项目的接口脚本效率较低的问题,目前尚未提出有效的解决方案。
因此,有必要对相关技术予以改良以克服相关技术中的所述缺陷。
发明内容
本发明实施例提供了一种接口测试脚本的生成方法及装置、存储介质及电子装置,以至少解决测试人员手动编写软件项目中接口的测试脚本,导致编写项目的接口脚本效率较低的问题。
根据本发明实施例的一方面,提供一种接口测试脚本的生成方法,包括:获取生成指令,其中,所述生成指令用于指示生成目标项目的接口测试脚本,所述目标项目通过代码实现;根据所述生成指令访问所述目标项目的数据库,以获取所述数据库的更新时间,其中,所述更新时间用于指示所述数据库中的数据发生变化的时间;在所述更新时间距离当前时间的时间间隔小于预设阈值的情况下,从所述目标项目的数据库中获取第一接口数据集,并根据所述第一接口数据集生成所述目标项目中每一个接口的接口测试脚本,其中,所述第一接口数据集中具有所述目标项目中多个接口对应的接口数据。
进一步地,根据所述第一接口数据集生成所述目标项目中每一个接口的接口测试脚本,包括:从所述第一接口数据集中获取所述目标项目中每一个接口的接口数据;根据所述每一个接口的接口数据生成所述每一个接口的接口测试脚本。
进一步地,根据所述每一个接口的接口数据生成所述每一个接口的接口测试脚本,包括:获取目标算法,其中,所述目标算法用于实现根据接口数据生成接口测试脚本;将所述每一个接口的接口数据通过所述目标算法生成所述每一个接口的接口测试脚本。
进一步地,根据所述生成指令访问所述目标项目的数据库,以获取所述数据库的更新时间之后,所述方法还包括:在确定所述更新时间距离当前时间的时间间隔大于预设阈值的情况下,获取所述目标项目在所述当前时间保存的第二接口数据集,其中,所述第二接口数据集中具有所述目标项目在所述当前时间所保存的位于所述目标项目中多个接口对应的接口数据;根据所述第二接口数据集生成所述目标项目中每一个接口的接口测试脚本。
进一步地,获取所述目标项目在所述当前时间保存的第二接口数据集,包括:向目标插件发送请求指令,并接收所述目标插件响应所述请求指令所发送的接口文件,其中,所述接口文件为目标对象为所述目标项目配置目标插件后,所述目标插件生成的文件;解析所述接口文件,得到所述目标项目在所述当前时间保存的第二接口数据集。
进一步地,根据所述第二接口数据集生成所述目标项目中每一个第二接口的接口测试脚本之后,所述方法还包括:从所述目标项目的数据库中获取第一接口数据集,其中,所述第一接口数据集中具有所述目标项目中多个接口对应的接口数据;在确定所述第一接口数据集与所述第二接口数据集存在差异的情况下,将所述数据库中的所述第一接口数据集替换为所述第二接口数据集,并确定数据库的更新时间。
进一步地,根据所述生成指令访问所述目标项目的数据库,包括:根据所述生成指令确定所述目标项目的项目标识;访问与所述项目标识对应的目标项目的数据库。
根据本发明实施例的一方面,还提供一种接口测试脚本的生成一种接口测试脚本的生成装置,包括:第一获取模块,用于获取生成指令,其中,所述生成指令用于指示生成目标项目的接口测试脚本,所述目标项目通过代码实现;第二获取模块,用于根据所述生成指令访问所述目标项目的数据库,以获取所述数据库的更新时间,其中,所述更新时间用于指示所述数据库中的数据发生变化的时间;生成模块,用于在所述更新时间距离当前时间的时间间隔小于预设阈值的情况下,从所述目标项目的数据库中获取第一接口数据集,并根据所述第一接口数据集生成所述目标项目中每一个接口的接口测试脚本,其中,所述第一接口数据集中具有所述目标项目中多个接口对应的接口数据。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述接口测试脚本的生成方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述接口测试脚本的生成方法。
通过本发明,在接口脚本生成器获取到生成指令的情况下,根据生成指令访问目标项目的数据库,以获取数据库的更新时间,在确定数据库的更新时间距离当前时间的时间间隔小于预设阈值的情况下,从目标项目的数据库中获取第一接口数据集,并根据第一接口数据集生成目标项目中每一个接口的接口测试脚本。采用上述技术方案,解决测试人员手动编写软件项目中接口的测试脚本,导致编写项目的接口脚本效率较低的问题。进而可以从数据库中获取目标项目接口数据集,根据接口数据集自动生成目标项目中每一个接口的接口测试脚本,提高了目标项目接口项目脚本的编写效率与准确性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示例性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的接口测试脚本的生成方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的接口测试脚本的生成方法的流程图(一);
图3是根据本发明实施例的接口测试脚本的生成方法的流程图(二);
图4是根据本发明实施例的接口测试脚本的生成方法的时序图;
图5是根据本发明实施例的接口测试脚本的生成装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例中所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的接口测试脚本的生成方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器(Microprocessor Unit,简称是MPU)或可编程逻辑器件(Programmable logic device,简称是PLD))和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的接口测试脚本的生成方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
需要说明的是,为了解决人为编写接口的接口脚本数据,导致接口脚本数据的编写效率和准确率较低的问题,本申请实施例提供一种根据接口数据自动生成接口测试脚本的方法。在一个示例性的实施例中,可以通过接口脚本生成器实现,其中,接口脚本生成器为开发者通过目标算法编写代码实现的。
在本实施例中提供了一种接口测试脚本的生成方法,图2是根据本发明实施例的接口测试脚本的生成方法的流程图(一),该流程包括如下步骤:
步骤S202:获取生成指令,其中,所述生成指令用于指示生成目标项目的接口测试脚本,所述目标项目通过代码实现;
需要说明的是,本申请的技术方案可以应用在接口脚本生成器中,接口脚本生成器可以根据生成指令确定目标项目的项目标识,进而接口脚本生成器访问与项目标识对应的目标项目的数据库。
步骤S204:根据所述生成指令访问所述目标项目的数据库,以获取所述数据库的更新时间,其中,所述更新时间用于指示所述数据库中的数据发生变化的时间;
步骤S206:在所述更新时间距离当前时间的时间间隔小于预设阈值的情况下,从所述目标项目的数据库中获取第一接口数据集,并根据所述第一接口数据集生成所述目标项目中每一个接口的接口测试脚本,其中,所述第一接口数据集中具有所述目标项目中多个接口对应的接口数据。
需要说明的是,为了防止数据库中的接口数据集长时间没有更新,从而导致接口脚本生成器根据接口数据集生成的项目接口测试脚本存在误差,因此需要判断数据库的更新时间,只有在更新时间小于预设阈值的情况下,才从数据库中获取接口数据集。预设阈值为目标对象设置的,对于开发中的目标项目,由于项目代码变化频繁,预设阈值可以设置成10分钟,20分钟等,对于已经交付的目标项目,预设阈值可以设置成3小时、6小时等。
通过上述步骤,在接口脚本生成器获取到生成指令的情况下,根据生成指令访问目标项目的数据库,以获取数据库的更新时间,在确定数据库的更新时间距离当前时间的时间间隔小于预设阈值的情况下,从目标项目的数据库中获取第一接口数据集,并根据第一接口数据集生成目标项目中每一个接口的接口测试脚本。采用上述技术方案,解决测试人员手动编写软件项目中接口的测试脚本,导致编写项目的接口脚本效率较低的问题。进而可以从数据库中获取目标项目接口数据集,根据接口数据集自动生成目标项目中每一个接口的接口测试脚本,提高了目标项目接口项目脚本的编写效率与准确性。
需要说明的是,上述根据第一接口数据集生成目标项目中每一个接口的接口测试脚本,可以通过以下方式实现:从所述第一接口数据集中获取所述目标项目中每一个接口的接口数据;根据所述每一个接口的接口数据生成所述每一个接口的接口测试脚本。
也就是说,第一接口数据集中是具有目标项目的多个接口的接口数据,进而接口脚本生成器可以根据接口每一个接口的接口数据,生成每一个接口对应的接口测试脚本,具体的,接口脚本生成器需要获取目标算法,其中,所述目标算法用于实现根据接口数据生成接口测试脚本,进而接口脚本生成器将每一个接口的接口数据通过目标算法生成所述每一个接口的接口测试脚本。
需要说明的是,由于通过接口测试数据生成接口测试脚本是有一套固定的算法的,用户可以将手动编写测试脚本的步骤转化为机器可以执行的目标算法,进而将目标算法发送给接口脚本生成器,使得接口脚本生成器可以使用目标算法,根据每一个接口的接口数据生成每一个接口的接口测试脚本。
需要说明的是,如果确定接口脚本生成器访问数据库,确定数据库的更新时间距离当前时间的时间间隔大于预设阈值,则获取所述目标项目在所述当前时间保存的第二接口数据集,其中,所述第二接口数据集中具有所述目标项目在所述当前时间所保存的位于所述目标项目中多个接口对应的接口数据;根据所述第二接口数据集生成所述目标项目中每一个接口的接口测试脚本。
可以理解的是,如果数据库的更新时间为本月1号,而当前时间为本月3号,则说明数据库已经长时间没有更新,没有更新的原因可能是由于***故障,也可能是由于开发者没有保存,也可能是目标项目确实没有发送变化。由于数据库长时间没有更新,则存在目标项目在当前时间的接口数据和数据库中的接口数据不一样。如果此时继续采用数据库中的接口数据,那么就会导致接口脚本生成器生成的项目接口测试脚本可能存在误差。因此,接口脚本生成器需要获取目标项目在当前时间所保存的第二接口数据集,进而根据第二接口数据集生成目标项目中每一个接口的接口测试脚本。
可选的,接口脚本生成器可以通过以下方式获取第二接口数据集:向目标插件发送请求指令,并接收所述目标插件响应所述请求指令所发送的接口文件,其中,所述接口文件为目标对象为所述目标项目配置目标插件后,所述目标插件生成的文件;解析所述接口文件,得到所述目标项目在所述当前时间保存的第二接口数据集。
需要说明的是,相关技术中,开发团队共同维护一个在线接口文件;每次改接口再去改对应的文件,进而不能实时维护接口文件,导致出现目标项目中的接口与接口文件不一致的情况。为了解决上述问题,目标对象(目标项目的开发者)会给目标项目配置一个目标插件,目标插件可以是swagger插件。此目标插件会根据目标项目最新的代码自动生成目标项目的接口文件。进而,接口脚本生成器才可以获取目标项目的接口文件,并通过解析接口文件,得到目标项目的第二接口数据集。
在一个可选的实施例中,根据第二接口数据集生成目标项目中每一个第二接口的接口测试脚本之后,接口脚本生成器还需要从目标项目的数据库中获取第一接口数据集,其中,所述第一接口数据集中具有所述目标项目中多个接口对应的接口数据;在确定所述第一接口数据集与所述第二接口数据集存在差异的情况下,将所述数据库中的所述第一接口数据集替换为所述第二接口数据集,并确定数据库的更新时间。
也就是说,存在两种情况,一种情况是目标项目确实是长时间没有发生变化,一种情况是目标项目发生变化了,但是接口数据集并没有同步到数据库中。为了对第二种情况进行修正,所以接口脚本生成器还需要获取数据库中的第一接口数据集,进而比较第一接口数据集和第二接口数据集是否有差异,如果没有差异,则说明目标项目确实长时间没有更新,如果存在差异,则说明目标项目的接口数据集并没有同步到数据库中,进而接口脚本生成器需要将数据库中的第一接口数据集替换为第二接口数据集,并重新确定数据库的更新时间。
需要说明的是,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。为了更好的理解,以下结合实施例对上述过程进行说明,但不用于限定本发明实施例的技术方案,具体地:
在一个可选的实施例中,接口脚本生成器还获取目标项目的第三接口数据集,所述目标项目在第一时间包含多个第一接口,所述第三接口数据集包含:每一个第一接口的接口数据;所述接口数据包括以下至少之一:接口变量、接口常量、接口函数;
接口脚本生成器将数据库中保存的第四接口数据集替换为第三接口数据集,其中,所述第四接口数据集包含:多个第二接口中的每一个第二接口在第二时间的接口数据,所述多个第二接口为所述目标项目在所述第二时间所包含的接口;所述第二时间早于所述第一时间;
需要说明的是,由于一个目标项目会有多个开发者开发,进而每一个开发者编写完接口以后,都需要将项目的最新接口数据更新到数据库中。
接口测试脚本在获取到脚本生成指令的情况下,从所述数据库中获取所述第三接口数据集,并根据所述第三接口数据集生成每一个第一接口的接口测试脚本。
为了更好的理解上述步骤,以下做具体说明,接口脚本生成器会一直监听,获取不同开发者发送当前时间(相当于上述第一时间)目标项目最新的接口数据集,进而将数据库中目标项目在历史时间(相当于上述第二时间)的历史接口数据集替换为目标项目最新的接口数据集。如果此时开发者指示接口脚本生成器生成目标项目的接口测试脚本,则接口脚本生成器就需要从数据库中获取到目标项目在当前时间多个接口的接口数据,进而为当前时间目标项目中多个接口的每一个接口生成接口测试脚本。
在接口脚本生成器获取到第三接口数据集以后,就会根据第三接口数据集从数据库中获取目标项目的第四接口数据集;将所述第三接口数据集和所述第四接口数据集进行对比,以将所述数据库中所述第四接口数据集替换为所述第三接口数据集。
也就是说,接口脚本生成器需要将数据库中目标项目的历史接口数据集(相当于第二接口数据集)替换为新的接口数据集(相当于第一接口数据)。
可选的,将所述第三接口数据集和所述第四接口数据集进行对比,以将所述数据库中所述第四接口数据集替换为所述第三接口数据集,可以通过以下方式实现:在所述第三接口数据集中存在第三接口与每一个第四接口的名称都不同的情况下,将所述第三接口的接口数据保存至所述数据库中的第四接口数据集,其中,所述第一接口包括:所述第三接口;在所述第三接口数据集中存在第四接口与所述第四接口数据集中的第五接口的名称相同的情况下,将所述数据库中所述第五接口的接口数据替换为所述第四接口的接口数据,其中,所述第一接口包括:所述第四接口,所述第二接口包括:所述第五接口;在所述第四接口数据集中存在第六接口与所述第三接口数据集中的每一个第一接口的名称都不同的情况下,将所述第六接口的接口数据从所述第四接口数据集删除,其中,所述第二接口包括:所述第六接口。
为了更好的理解,以下做具体说明:如果第三接口数据集中多个接口的接口名称分别为:接口A,接口B,接口C;而第四接口数据集中多个接口的接口名称分别为:接口B,接口C,接口D。接口脚本生成器确定而第四接口数据集中不存在接口A,则将接口A的接口数据保存至数据库的第四接口数据集中,则接口脚本生成器又确定第三接口数据集中没有接口D,具体原因可能是开发者将接口D删除了,则接口脚本生成器就需要将接口D的接口数据从数据库中的第四接口数据集中删除。进一步的,接口脚本数据生成器需要比对第三接口数据集与第四接口数据集中名称相同的接口,看接口数据是否相同,如果不同,则需要将接口对应在第四接口数据集中的接口数据替换为第三接口数据集中的数据。
需要说明的是,接口脚本生成器也可以直接根据目标插件生成的第三接口数据集生成对应的接口测试脚本,但由于目标项目是一直发生变化的,如果每次获取到目标插件生成的接口数据集以后,就直接生成对应的接口测试脚本,就会与项目最新的接口对应不上,进而接口脚本生成器需要将目标插件生成的接口数据集保存在数据库,在目标项目编写完以后,目标对象会发送脚本生成指令给接口脚本生成器,接口脚本生成器才从数据库中获取最新的接口数据集,根据最新的接口数据集来生成目标项目的接口测试脚本,使得生成的接口测试脚本与目标项目中的接口相对应。
为了更好的理解,图3是根据本发明实施例的接口测试脚本的生成方法的流程图(二),体现接口脚本生成器生成接口测试脚本的整体过程,具体的:
步骤S302:目标对象为目标项目配置目标插件以后,目标插件生成目标项目的接口文件;
步骤S304:接口脚本生成器解析接口文件,获取第三接口数据集;
步骤S306:将数据库中的第四接口数据集替换为第三接口数据集;
步骤S308:在获取到脚本生成指令的情况下,从数据库中获取第三接口数据集,生成目标项目对应的接口测试脚本。
通过上述步骤,解决了开发人员在修改接口的过程中,不能实时维护目标项目的接口文件,导致接口与接口文件不匹配的问题,也解决了测试人员根据接口文件,手工编写接口测试脚本时存在数据遗漏,效率低,质量不能得到保证的问题。
显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。为了更好的理解上述接口测试脚本的生成方法,以下结合实施例对上述过程进行说明,但不用于限定本发明实施例的技术方案,具体地:
在一个可选的实施例中,图4是根据本发明实施例的接口测试脚本的生成方法的时序图,具体可分为以下步骤:
步骤一:开发者(相当于上述实施例中的目标对象)给目标项目配置swagger插件(相当于上述实施例中的目标插件),部署项目到服务器;
步骤二:开发者访问目标项目的api-doc地址(例如:http://localhost:8080/demo/v2/api-docs),获取api-doc.json文件(相当于上述实施例中的接口文件);
步骤三:开发者将api-doc.json文件发送给接口脚本生成器;
步骤四:接口脚本生成器解析接口api-doc.json文件,获取项目当前的接口数据(相当于上述实施例中的第三接口数据集);
步骤五:接口脚本生成器获取对应项目的历史接口数据(相当于上述实施例中的第四接口数据集);
步骤六:数据库返回查询结果给接口脚本生成器;
步骤七:接口脚本生成器对比历史接口数据,新增/修改/删除数据库中目标项目的接口数据;
步骤八:更新数据库中的接口数据:
步骤九:获取目标对象发送的项目接口脚本生成指令(相当于上述实施例中的脚本生成指令);
步骤十:接口脚本生成器查询项目接口数据;
步骤十:数据库返回查询结果给接口脚本生成器;
步骤十一:接口脚本生成器生成接口自动化脚本(相当于上述实施例中的接口测试脚本)给目标对象。
此外,本发明实施例的上述技术方案,在开发人员新增/修改项目接口的时候,自动生成项目的接口文档(相当于上述实施例中的接口文件);提高了开发人员维护接口文档的效率,同时简化了测试人员通过接口文档编写接口测试脚本的操作,将接口测试脚本的生成交给程序;使得接口脚本生成器严格规范化的编写接口测试脚本,减少了接口测试脚本手工编写过程中数据录入错误。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
在本实施例中还提供了一种接口测试脚本的生成装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的接口测试脚本的生成装置的结构框图,该装置包括:
第一获取模块52,用于获取生成指令,其中,所述生成指令用于指示生成目标项目的接口测试脚本,所述目标项目通过代码实现;
第二获取模块54,用于根据所述生成指令访问所述目标项目的数据库,以获取所述数据库的更新时间,其中,所述更新时间用于指示所述数据库中的数据发生变化的时间;
生成模块56,用于在所述更新时间距离当前时间的时间间隔小于预设阈值的情况下,从所述目标项目的数据库中获取第一接口数据集,并根据所述第一接口数据集生成所述目标项目中每一个接口的接口测试脚本,其中,所述第一接口数据集中具有所述目标项目中多个接口对应的接口数据。
通过上述模块,在接口脚本生成器获取到生成指令的情况下,根据生成指令访问目标项目的数据库,以获取数据库的更新时间,在确定数据库的更新时间距离当前时间的时间间隔小于预设阈值的情况下,从目标项目的数据库中获取第一接口数据集,并根据第一接口数据集生成目标项目中每一个接口的接口测试脚本。采用上述技术方案,解决测试人员手动编写软件项目中接口的测试脚本,导致编写项目的接口脚本效率较低的问题。进而可以从数据库中获取目标项目接口数据集,根据接口数据集自动生成目标项目中每一个接口的接口测试脚本,提高了目标项目接口项目脚本的编写效率与准确性。
可选的,生成模块56还用于从所述第一接口数据集中获取所述目标项目中每一个接口的接口数据;根据所述每一个接口的接口数据生成所述每一个接口的接口测试脚本。
可选的,生成模块56还用于获取目标算法,其中,所述目标算法用于实现根据接口数据生成接口测试脚本;将所述每一个接口的接口数据通过所述目标算法生成所述每一个接口的接口测试脚本。
可选的,生成模块56还用于在确定所述更新时间距离当前时间的时间间隔大于预设阈值的情况下,获取所述目标项目在所述当前时间保存的第二接口数据集,其中,所述第二接口数据集中具有所述目标项目在所述当前时间所保存的位于所述目标项目中多个接口对应的接口数据;根据所述第二接口数据集生成所述目标项目中每一个接口的接口测试脚本。
可选的,生成模块56还用于向目标插件发送请求指令,并接收所述目标插件响应所述请求指令所发送的接口文件,其中,所述接口文件为目标对象为所述目标项目配置目标插件后,所述目标插件生成的文件;解析所述接口文件,得到所述目标项目在所述当前时间保存的第二接口数据集。
可选的,生成模块56还用于从所述目标项目的数据库中获取第一接口数据集,其中,所述第一接口数据集中具有所述目标项目中多个接口对应的接口数据;在确定所述第一接口数据集与所述第二接口数据集存在差异的情况下,将所述数据库中的所述第一接口数据集替换为所述第二接口数据集,并确定数据库的更新时间。
可选的第二获取模块54还用于根据所述生成指令确定所述目标项目的项目标识;访问与所述项目标识对应的目标项目的数据库。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取生成指令,其中,所述生成指令用于指示生成目标项目的接口测试脚本,所述目标项目通过代码实现;
S2,根据所述生成指令访问所述目标项目的数据库,以获取所述数据库的更新时间,其中,所述更新时间用于指示所述数据库中的数据发生变化的时间;
S3,在所述更新时间距离当前时间的时间间隔小于预设阈值的情况下,从所述目标项目的数据库中获取第一接口数据集,并根据所述第一接口数据集生成所述目标项目中每一个接口的接口测试脚本,其中,所述第一接口数据集中具有所述目标项目中多个接口对应的接口数据。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取生成指令,其中,所述生成指令用于指示生成目标项目的接口测试脚本,所述目标项目通过代码实现;
S2,根据所述生成指令访问所述目标项目的数据库,以获取所述数据库的更新时间,其中,所述更新时间用于指示所述数据库中的数据发生变化的时间;
S3,在所述更新时间距离当前时间的时间间隔小于预设阈值的情况下,从所述目标项目的数据库中获取第一接口数据集,并根据所述第一接口数据集生成所述目标项目中每一个接口的接口测试脚本,其中,所述第一接口数据集中具有所述目标项目中多个接口对应的接口数据。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种接口测试脚本的生成方法,其特征在于,包括:
获取生成指令,其中,所述生成指令用于指示生成目标项目的接口测试脚本,所述目标项目通过代码实现;
根据所述生成指令访问所述目标项目的数据库,以获取所述数据库的更新时间,其中,所述更新时间用于指示所述数据库中的数据发生变化的时间;
在所述更新时间距离当前时间的时间间隔小于预设阈值的情况下,从所述目标项目的数据库中获取第一接口数据集,并根据所述第一接口数据集生成所述目标项目中每一个接口的接口测试脚本,其中,所述第一接口数据集中具有所述目标项目中多个接口对应的接口数据。
2.根据权利要求1所述的接口测试脚本的生成方法,其特征在于,根据所述第一接口数据集生成所述目标项目中每一个接口的接口测试脚本,包括:
从所述第一接口数据集中获取所述目标项目中每一个接口的接口数据;
根据所述每一个接口的接口数据生成所述每一个接口的接口测试脚本。
3.根据权利要求2所述的接口测试脚本的生成方法,其特征在于,根据所述每一个接口的接口数据生成所述每一个接口的接口测试脚本,包括:
获取目标算法,其中,所述目标算法用于实现根据接口数据生成接口测试脚本;
将所述每一个接口的接口数据通过所述目标算法生成所述每一个接口的接口测试脚本。
4.根据权利要求1所述的接口测试脚本的生成方法,其特征在于,根据所述生成指令访问所述目标项目的数据库,以获取所述数据库的更新时间之后,所述方法还包括:
在确定所述更新时间距离当前时间的时间间隔大于预设阈值的情况下,获取所述目标项目在所述当前时间保存的第二接口数据集,其中,所述第二接口数据集中具有所述目标项目在所述当前时间所保存的位于所述目标项目中多个接口对应的接口数据;
根据所述第二接口数据集生成所述目标项目中每一个接口的接口测试脚本。
5.根据权利要求4所述的接口测试脚本的生成方法,其特征在于,获取所述目标项目在所述当前时间保存的第二接口数据集,包括:
向目标插件发送请求指令,并接收所述目标插件响应所述请求指令所发送的接口文件,其中,所述接口文件为目标对象为所述目标项目配置目标插件后,所述目标插件生成的文件;
解析所述接口文件,得到所述目标项目在所述当前时间保存的第二接口数据集。
6.根据权利要求4所述的接口测试脚本的生成方法,其特征在于,根据所述第二接口数据集生成所述目标项目中每一个第二接口的接口测试脚本之后,所述方法还包括:
从所述目标项目的数据库中获取第一接口数据集,其中,所述第一接口数据集中具有所述目标项目中多个接口对应的接口数据;
在确定所述第一接口数据集与所述第二接口数据集存在差异的情况下,将所述数据库中的所述第一接口数据集替换为所述第二接口数据集,并确定数据库的更新时间。
7.根据权利要求1所述的接口测试脚本的生成方法,其特征在于,根据所述生成指令访问所述目标项目的数据库,包括:
根据所述生成指令确定所述目标项目的项目标识;
访问与所述项目标识对应的目标项目的数据库。
8.一种接口测试脚本的生成装置,其特征在于,包括:
第一获取模块,用于获取生成指令,其中,所述生成指令用于指示生成目标项目的接口测试脚本,所述目标项目通过代码实现;
第二获取模块,用于根据所述生成指令访问所述目标项目的数据库,以获取所述数据库的更新时间,其中,所述更新时间用于指示所述数据库中的数据发生变化的时间;
生成模块,用于在所述更新时间距离当前时间的时间间隔小于预设阈值的情况下,从所述目标项目的数据库中获取第一接口数据集,并根据所述第一接口数据集生成所述目标项目中每一个接口的接口测试脚本,其中,所述第一接口数据集中具有所述目标项目中多个接口对应的接口数据。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111132016.4A CN115878443A (zh) | 2021-09-26 | 2021-09-26 | 接口测试脚本的生成方法及装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111132016.4A CN115878443A (zh) | 2021-09-26 | 2021-09-26 | 接口测试脚本的生成方法及装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115878443A true CN115878443A (zh) | 2023-03-31 |
Family
ID=85762732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111132016.4A Pending CN115878443A (zh) | 2021-09-26 | 2021-09-26 | 接口测试脚本的生成方法及装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115878443A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116756046A (zh) * | 2023-08-16 | 2023-09-15 | 湖南长银五八消费金融股份有限公司 | 一种接口自动化测试方法、装置、设备及存储介质 |
-
2021
- 2021-09-26 CN CN202111132016.4A patent/CN115878443A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116756046A (zh) * | 2023-08-16 | 2023-09-15 | 湖南长银五八消费金融股份有限公司 | 一种接口自动化测试方法、装置、设备及存储介质 |
CN116756046B (zh) * | 2023-08-16 | 2023-11-03 | 湖南长银五八消费金融股份有限公司 | 一种接口自动化测试方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110708210B (zh) | 云测试配置方法、装置、计算机设备及存储介质 | |
CN112217731B (zh) | 目标应用的生成方法及装置、存储介质 | |
CN113992514B (zh) | 一种零代码快速实现数采仪协议的方法及数采仪终端 | |
CN113064685A (zh) | 一种h5页面加载方法及装置 | |
CN113467832A (zh) | 设备控制处理方法、装置、存储介质及电子装置 | |
CN115878443A (zh) | 接口测试脚本的生成方法及装置、存储介质及电子装置 | |
CN111651358A (zh) | 生成测试用例的方法、软件测试方法、装置和服务器 | |
CN113014626B (zh) | 数据服务的管理方法及装置、存储介质及电子装置 | |
CN113434405A (zh) | 测试文件的确定方法及装置、存储介质及电子装置 | |
CN110990381A (zh) | 服务器的处理方法及装置、存储介质和电子装置 | |
CN110968507B (zh) | 覆盖率统计方法及装置 | |
CN114466387A (zh) | 基站的配置文件的更新方法、装置、存储介质和电子装置 | |
CN114385493A (zh) | 一种性能测试方法、装置、电子设备及存储介质 | |
CN114416546A (zh) | 一种代码覆盖率确定方法及装置 | |
CN113434525A (zh) | 缓存数据的更新方法和装置、存储介质及电子装置 | |
CN112650815A (zh) | 环境数据的同步方法及装置、存储介质及电子装置 | |
CN113110982A (zh) | 数据访问层验证方法及装置、存储介质及电子装置 | |
CN112187746A (zh) | 一种设备标识的生成方法及装置 | |
CN113626295A (zh) | 压测数据的处理方法、***及计算机可读存储介质 | |
CN105812433B (zh) | 一种云适配处理方法、装置、终端及云服务器 | |
CN113852919B (zh) | 预警消息的生成方法和装置、存储介质及电子装置 | |
CN116756044B (zh) | 一种基于数据链路追踪的rpc远程调试方法、装置及应用 | |
CN117234914A (zh) | Ab测试方法及*** | |
CN116339782A (zh) | Ecu的升级方法、升级装置和电子设备 | |
CN112506580A (zh) | 数据融合方法及装置,存储介质及电子装置 |
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 |