CN115794613A - 接口自动化测试方法、装置和计算机设备 - Google Patents
接口自动化测试方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN115794613A CN115794613A CN202211376176.8A CN202211376176A CN115794613A CN 115794613 A CN115794613 A CN 115794613A CN 202211376176 A CN202211376176 A CN 202211376176A CN 115794613 A CN115794613 A CN 115794613A
- Authority
- CN
- China
- Prior art keywords
- parameter
- interface
- test
- key
- information
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种接口自动化测试方法、装置和计算机设备,涉及接口测试领域。该方法包括获取登录微服务系统的身份标识信息;从缓存中间件中查找与身份标识信息对应的身份信息主键;根据身份信息主键,获取多个微服务的接口测试参数信息;根据接口测试参数信息和先验知识,得到多个测试参数主键;根据身份信息主键,在缓存中间件中查询测试参数主键,得到测试参数主键对应的测试参数键值;在测试参数键值不为空的情况下,根据预设的测试工具对微服务的接口进行自动化测试,得到测试结果。本申请实施例通过缓存中间件进行接口依赖数据存储,参数读写操作直接访问内存,不需要磁盘IO,提高了自动化测试性能。
Description
技术领域
本申请涉及接口测试技术领域,特别涉及一种接口自动化测试方法、装置和计算机设备。
背景技术
随着互联网技术的发展,用户数量的激增和业务的快速扩展,传统的单体架构、SOA架构等应用架构已满足不了实际需求,微服务架构就随之产生,微服务架构以业务功能或业务域为边界,将大而复杂的应用拆分为多个微服务,每个微服务代表一个小的业务能力,服务之间松耦合但互相协调、互相配合。
通常在进行同一应用微服务接口测试时,为了减少自动化测试工程的复杂冗余,一个微服务的所有接口对应一个自动化测试项目即创建一个测试工程。而在进行多个微服务接口测试时,多个测试工程之间难以直接通过参数传递实现关联接口参数依赖,在多个微服务间自动化测试用例维护过程中,接口依赖参数各自独立,难以共享。将依赖参数存储在数据库进行持久化,在一定程度上解决了参数共享问题,但是在高并发场景下,依赖参数获取频繁容易造成输入输出(Input-Output,IO)瓶颈,影响测试工程自身性能。
发明内容
本申请的旨在至少一定程度解决现有技术的问题,提供一种接口自动化测试方法、装置和计算机设备,通过缓存中间件进行接口依赖数据存储,参数读写操作直接访问内存,不需要磁盘IO,提高了自动化测试性能。
本申请实施例的技术方案如下:
第一方面,本申请提供了一种接口自动化测试方法,应用于微服务系统,所述微服务系统包括多个微服务,所述方法包括:
获取登录所述微服务系统的身份标识信息;
从缓存中间件中查找与所述身份标识信息对应的身份信息主键;
根据所述身份信息主键,获取多个所述微服务的接口测试参数信息;
根据所述接口测试参数信息和先验知识,得到多个测试参数主键;
根据所述身份信息主键,在所述缓存中间件中查询所述测试参数主键,得到所述测试参数主键对应的测试参数键值;
在所述测试参数键值不为空的情况下,根据预设的测试工具对所述微服务的接口进行自动化测试,得到测试结果。
根据本申请的一些实施例,在所述根据所述身份信息主键,在所述缓存中间件中查询所述测试参数主键,得到所述测试参数主键对应的测试参数键值之后,所述方法还包括:
在所述测试参数键值为空的情况下,通过所述微服务的接口重新获取所述接口测试参数信息;
根据所述接口测试参数信息,利用预设的测试工具对所述微服务的接口进行自动化测试,得到测试结果。
根据本申请的一些实施例,所述根据所述接口测试参数信息和先验知识,得到多个测试参数主键,包括:
对各个所述接口测试参数信息进行分类处理,得到参数类别;
根据所述先验知识,确定所述参数类别的命名格式,以得到所述测试参数主键。
根据本申请的一些实施例,在所述从缓存中间件中查找与所述身份标识信息对应的身份信息主键之前,所述获取登录所述微服务系统的身份标识信息之后,所述方法还包括:
根据所述先验知识,确定所述身份标识信息的命名格式,以得到所述身份信息主键;
将身份标识信息作为身份信息键值,将所述身份信息主键和所述身份信息键值以键值对的形式存储于所述缓存中间件。
根据本申请的一些实施例,在所述根据所述身份信息主键,在所述缓存中间件中查询所述测试参数主键,得到所述测试参数主键对应的测试参数键值之前,所述方法还包括:
获取各个所述微服务的接口依赖参数和全局静态参数;
按照所述先验知识,确定所述接口依赖参数的命名格式,以得到依赖参数主键;
按照所述先验知识,确定所述全局静态参数的命名格式,以得到全局参数主键;
将所述接口依赖参数作为依赖参数键值,将所述依赖参数主键和所述依赖参数键值以键值对的方式存储于所述缓存中间件;
将所述全局静态参数作为全局参数键值,将所述全局参数主键和所述全局参数键值以键值对的方式存储于所述缓存中间件。
根据本申请的一些实施例,所述获取多个所述微服务的接口依赖参数和全局静态参数,包括:根据所述微服务系统的业务逻辑,利用串行调用算法获取所述接口依赖参数和所述全局静态参数。
根据本申请的一些实施例,所述对各个所述接口测试参数信息进行分类处理,得到参数类别,包括:按照预设的用途分类对各个所述接口测试参数信息进行分类处理,得到所述参数类别。
第二方面,本申请提供了一种接口自动化测试装置,应用于微服务系统,所述微服务系统包括多个微服务,所述装置包括:
身份获取模块,用于获取登录所述微服务系统的身份标识信息;
信息查找模块,用于从缓存中间件中查找与所述身份标识信息对应的身份信息主键;
参数获取模块,用于根据所述身份信息主键,获取多个所述微服务的接口测试参数信息;
参数命名模块,用于根据所述接口测试参数信息和先验知识,得到多个测试参数主键;
参数查找模块,用于根据所述身份信息主键,在所述缓存中间件中查询所述测试参数主键,得到所述测试参数主键对应的测试参数键值;
测试模块,用于在所述测试参数键值不为空的情况下,根据预设的测试工具对所述微服务的接口进行自动化测试,得到测试结果。
第三方面,本申请提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被一个或多个所述处理器执行时,使得一个或多个所述处理器执行如上第一方面描述的任一项所述方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,所述存储介质可被处理器读写,所述存储介质存储有计算机指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上第一方面描述的任一项所述方法的步骤。
本申请实施例所提供的技术方案具有如下的有益效果:
本申请实施例提出一种接口自动化测试方法、装置和计算机设备,该接口自动化测试方法包括:获取登录微服务系统的身份标识信息,有利于后续根据身份标识信息得到对应的身份信息主键;从缓存中间件中查找与身份标识信息对应的身份信息主键,身份信息主键能够唯一标识身份信息,保证了登录的安全性;根据身份信息主键,获取多个微服务的接口测试参数信息;根据接口测试参数信息和先验知识,得到多个测试参数主键;根据身份信息主键,在缓存中间件中查询测试参数主键,得到测试参数主键对应的测试参数键值,通过从缓存中间件中获取接口依赖数据,直接访问内存,不想要磁盘IO,在高并发环境下,能够有效提高数据获取速度;在测试参数键值不为空的情况下,根据预设的测试工具对微服务的接口进行自动化测试,得到测试结果,从而实现自动化测试。与现有技术在高并发场景下,依赖参数获取频繁容易造成IO瓶颈,影响测试工程自身性能相比,本申请实施例通过缓存中间件进行接口依赖数据存储,参数读写操作直接访问内存,不需要磁盘IO,提高了自动化测试性能。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请一个实施例提供的接口自动化测试方法的流程示意图;
图2是本申请另一个实施例提供的接口自动化测试方法的流程示意图;
图3是图1中步骤S140的一个子步骤流程示意图;
图4是本申请另一个实施例提供的接口自动化测试方法的流程示意图;
图5是本申请另一个实施例提供的接口自动化测试方法的流程示意图;
图6是本申请一个实施例提供的接口自动化测试方法的整体示意图;
图7是本申请一个实施例提供的接口自动化测试装置的结构示意图;
图8是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
相关技术中,一个微服务的所有接口通常对应一个自动化测试项目即创建一个测试工程,那么不同微服务间关联接口依赖问题如何解决呢?常见的接口参数依赖处理方式为:将依赖参数存储在全局变量、上下文等以实现不同微服务间的关联接口依赖,但是,多个测试工程之间难以直接通过参数传递。在进行多个微服务测试时,实现依赖参数共享亟待解决。
基于此,本申请实施例提出一种接口自动化测试方法、装置和计算机设备,该接口自动化测试方法首先获取登录微服务系统的身份标识信息,有利于后续根据身份标识信息得到对应的身份信息主键;从缓存中间件中查找与身份标识信息对应的身份信息主键,身份信息主键能够唯一标识身份信息,保证了登录的安全性;根据身份信息主键,获取多个微服务的接口测试参数信息;根据接口测试参数信息和先验知识,得到多个测试参数主键;根据身份信息主键,在缓存中间件中查询测试参数主键,得到测试参数主键对应的测试参数键值,通过从缓存中间件中获取接口依赖数据,直接访问内存,不想要磁盘I/O,在高并发环境下,能够有效提高数据获取速度;在测试参数键值不为空的情况下,根据预设的测试工具对微服务的接口进行自动化测试,得到测试结果,从而实现自动化测试。与现有技术在高并发场景下,依赖参数获取频繁容易造成IO瓶颈,影响测试工程自身性能相比,本申请实施例通过缓存中间件进行接口依赖数据存储,不仅能够实现依赖参数共享,而且参数读写操作直接访问内存,不需要磁盘IO,提高了自动化测试性能。
在一实施例中,该接口自动化测试方法还可以应用于微服务自动化测试、软件测试、自动化测试、接口测试等领域,不论接口自动化框架使用哪种编程语言、或选用什么单元测试框架,该接口自动化测试方法均可适用。利用该接口自动化测试方法可解决多微服务间接口参数依赖问题,以及在高并发场景下,自动化测试工程性能问题,自动化用例可重复循环运行,减少用例的编写冗余,节约代码,提升自动化测试工程的健壮性。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据用户信息、用户行为数据,用户历史数据以及用户位置信息等与用户身份或特性相关的数据进行相关处理时,都会先获得用户的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关国家和地区的相关法律法规和标准。此外,当本申请实施例需要获取用户的敏感个人信息时,会通过弹窗或者跳转到确认页面等方式获得用户的单独许可或者单独同意,在明确获得用户的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的用户相关数据。
下面参照附图,对本申请实施例提供的接口自动化测试方法、装置和计算机设备,进行说明。
参见图1,图1示出了本申请实施例提供的接口自动化测试方法的流程示意图。接口自动化测试方法应用于微服务系统,微服务系统包括多个微服务,该接口自动化测试方法包括但不限于有步骤S110、步骤S120、步骤S130、步骤S140、步骤S150和步骤S160。
步骤S110,获取登录微服务系统的身份标识信息。
在一实施例中,首先通过调用登录接口从请求成功后返回的数据中通过jsonPath进行动态获取身份标识信息,身份标识信息可以为登录身份的手机号、用户名等,只有登录成功的身份才能访问微服务系统的各个微服务。通过获取身份标识信息,有利于后续根据身份标识信息得到对应的身份信息主键。
如图4所示,在从缓存中间件中查找与身份标识信息对应的身份信息主键之前,获取登录微服务系统的身份标识信息之后,接口自动化测试方法还包括但不限于有以下步骤:
步骤S210,根据先验知识,确定身份标识信息的命名格式,以得到身份信息主键。
在一实施例中,先验知识为在系统开发中各个微服务接口参数常用的命名方式,常用的命名方式通过具有较高业务辨识度的字符串体现,通过该命名方式能够体现该参数代表的含义。根据先验知识,确定身份标识信息的命名格式,以得到身份信息主键。示例性地,身份信息主键可以表示为UserIdKey。该身份信息主键具有唯一性,保证了登录的安全性,避免其他用户的信息泄露。
步骤S220,将身份标识信息作为身份信息键值,将身份信息主键和身份信息键值以键值对的形式存储于缓存中间件。
在一实施例中,为了实现不同微服务的接口依赖参数共享,将身份标识信息作为身份信息键值,然后将身份信息主键和身份信息键值以键值对的形式存储于缓存中间件,存储于缓存中间件不仅能够直接访问,还能够实现依赖参数共享。
步骤S120,从缓存中间件中查找与身份标识信息对应的身份信息主键。
在一实施例中,由于身份信息主键和身份信息键值通过键值对的形式存储于缓存中间件中,并且身份信息键值具有唯一性,因此,能够根据其中的一个值得到另外一个值的信息。身份信息键值为身份标识信息,于是,根据身份标识信息在缓存中间件中能够查找到与身份标识信息对应的身份信息主键,有利于后续根据身份信息主键获取各个微服务的接口参数信息。
步骤S130,根据身份信息主键,获取多个微服务的接口测试参数信息。
在一实施例中,根据身份信息主键能够查看在微服务系统中该身份信息账号下的所有信息,示例性地,在一个供应链系统中,包括用户管理、商品管理、订单管理、物流管理四个微服务,登录供应链系统后,可以查看身份信息主键对应账户下的所有商品信息,可以通过传参的方式进行查看,在查看订单信息的情况下,根据身份信息主键调用订单管理微服务,订单管理微服务的接口中,具有订单信息,商品ID等信息,这里不作赘述。根据身份信息主键,能够获取多个微服务的接口测试参数信息,通过获取参数信息,有利于后续判断是否更新有时效限制的参数。
步骤S140,根据接口测试参数信息和先验知识,得到多个测试参数主键。
如图3所示,根据接口测试参数信息和先验知识,得到多个测试参数主键,包括但不限于有以下步骤:
步骤S141,对各个接口测试参数信息进行分类处理,得到参数类别。
在一实施例中,先按照预设的用途分类进行分类对各个接口测试参数信息进行分类处理,得到参数类别,有利于后续根据参数类别确定命名格式。预设的用途分类表示该接口测试参数所属的微服务能够实现的功能。
步骤S142,根据先验知识,确定参数类别的命名格式,以得到测试参数主键。
在一实施例中,根据先验知识对微服务系统的各个微服务按照常用方式命名,以及根据步骤S141得到的参数类别,对参数类别按照约定的命名方式进行命名,作为测试参数主键。通过得到测试参数主键,能够清楚的表示参数表示的用途或者功能,可读性较好,还有利于后续根据测试参数主键得到测试参数键值的信息。
示例性地,在用户买单场景下自动化测试过程,涉及四个微服务,分别为:用户中心微服务、订单微服务、积分微服务、物流微服务,通过这些微服务得到的接口测试参数信息可以为订单ID、联系方式、地址信息、用户ID、商品ID和金额等,根据用途分类将各个接口测试参数信息进行分类处理,将订单ID划分为订单微服务类别,将订单ID、商品ID、用户ID、地址信息和联系方式划分为物流分类,将用户ID和金额划分为积分分类,上述接口测试参数信息得到的测试参数主键分别为:订单ID(OrderIdKey)、商品ID(GoodsIdKey)、金额(MoneyKey)、用户ID(UserIdKey)、地址信息(AddrKey)、联系方式(MobileKey),能够清楚地表示实现的功能。
如图5所示,在根据身份信息主键,在缓存中间件中查询测试参数主键,得到测试参数主键对应的测试参数键值之前,接口自动化测试方法还包括但不限于有以下步骤:
步骤S310,获取各个微服务的接口依赖参数和全局静态参数。
在一实施例中,根据微服务系统的业务逻辑,示例性地,根据各个接口的调用关系以及与数据库的交互,利用串行调用算法获取接口依赖参数和全局静态参数,为后续将依赖参数存储于缓存中间件中提供数据支撑。其中,串行调用算法可以为先来先服务算法,也可以为具有优先级的调度算法,这里不作赘述;接口依赖参数可以为订单ID,用户ID等,这里不作赘述;全局参数可以为数据库的信息、微服务系统的全局环境信息或者全局参数等。
步骤S320,按照先验知识,确定接口依赖参数的命名格式,以得到依赖参数主键。
在一实施例中,在一实施例中,先验知识为在系统开发中各个微服务接口参数常用的命名方式,常用的命名方式通过具有较高业务辨识度的字符串体现,通过该命名方式能够体现该参数代表的含义。根据先验知识,确定接口依赖参数的命名格式,作为依赖参数主键。示例性地,依赖参数主键可以表示为UserIdKey,OrderIdKey等。该依赖参数主键具有唯一性,有利于后续根据依赖参数主键得到依赖参数,从而实现依赖参数共享,进而实现多个微服务间的接口测试。
步骤S330,按照先验知识,确定全局静态参数的命名格式,以得到全局参数主键。
在一实施例中,根据步骤S320,按照先验知识,通过具有较高业务辨识度的字符串表示全局静态参数,确定全局静态参数的命名格式,作为全局参数主键。有利于后续根据全局参数主键得到全局参数,从而实现依赖参数共享,进而实现多个微服务间的接口测试。
步骤S340,将接口依赖参数作为依赖参数键值,将依赖参数主键和依赖参数键值以键值对的方式存储于缓存中间件。
在一实施例中,将接口依赖参数作为依赖参数键值,将依赖参数主键和依赖参数键值以键值对的方式存储于缓存中间件,由于依赖参数主键和依赖参数键值以键值对的方式存储,因此,能够根据依赖参数主键得到依赖参数键值的信息,即根据依赖参数主键能够查找到接口依赖参数。通过缓存中间件能够实现在高并发场景下,避免出现依赖参数获取频繁造成的IO瓶颈,影响测试工程性能的问题。
步骤S350,将全局静态参数作为全局参数键值,将全局参数主键和全局参数键值以键值对的方式存储于缓存中间件。
在一实施例中,将全局静态参数作为全局参数键值,将全局参数主键和全局参数键值以键值对的方式存储于缓存中间件,由于全局参数主键和全局参数键值以键值对的方式存储,因此,能够根据全局参数主键得到全局参数键值的信息,即根据全局参数主键能够查找到全局静态参数。通过缓存中间件能够实现在高并发场景下,避免出现依赖参数获取频繁造成的IO瓶颈,影响测试工程性能的问题。
步骤S150,根据身份信息主键,在缓存中间件中查询测试参数主键,得到测试参数主键对应的测试参数键值。
在一实施例中,根据步骤得到测试参数主键,根据身份信息主键和测试参数主键能够确认具体的微服务,由于缓存中间件以键值对的方式进行存储,在缓存中间件中查询测试参数主键,得到微服务接口的测试参数主键对应的测试参数键值,从而实现依赖参数共享,有利于后续实现多个微服务间的接口测试。
步骤S160,在测试参数键值不为空的情况下,根据预设的测试工具对微服务的接口进行自动化测试,得到测试结果。
在一实施例中,在测试参数键值不为空的情况下,说明根据测试参数主键查找到测试参数键值,并且测试参数键值为具体的接口测试参数信息,根据该具体的接口测试参数信息得到测试用于,通过预设的测试工具对微服务的接口进行自动化测试,得到测试结果,实现对多个微服务接口的自动化测试。其中,预设的测试工具可以为restAssured,也可以为requests,能够自动组装发送请求正常执行接口用例即可,这里不作赘述。
如图2所示,在根据身份信息主键,在缓存中间件中查询测试参数主键,得到测试参数主键对应的测试参数键值之后,接口自动化测试方法还包括但不限于有以下步骤:
步骤S170,在测试参数键值为空的情况下,通过微服务的接口重新获取接口测试参数信息。
在一实施例中,一些特定参数自身具有时长限制,缓存中间件定时更新,在缓存中间件中查询测试参数主键,得到测试参数主键对应的测试参数键值,在测试参数键值为空的情况下,说明该参数已失效,通过依赖参数失效后刷新机制,请求该参数的生产接口,即对应的微服务的接口重新获取接口测试参数信息,获取最新数据后更新缓存。在自动化集成测试用例运行时,保障不会因为某项特定参数失效而导致自动化测试用例运行失败,从而实现不同测试工程间参数共享并解决因参数有效时长而失效的问题。其中,特征参数可以为身份信息,登录时间过长或者不操作使得登录失效。
步骤S180,根据接口测试参数信息,利用预设的测试工具对微服务的接口进行自动化测试,得到测试结果。
在一实施例中,根据步骤S170得到的接口测试参数信息,根据该接口测试参数信息得到测试用例,通过预设的测试工具对微服务的接口进行自动化测试,得到测试结果,实现对多个微服务接口的自动化测试。其中,预设的测试工具可以为restAssured,也可以为requests,能够自动组装发送请求正常执行接口用例即可,这里不作赘述。
参见图6,图6示出了本申请实施例提供的接口自动化测试方法的整体示意图,首先登录微服务系统,该微服务系统包括微服务1、微服务2、微服务3等,各个微服务之间通过相应的接口调用实现微服务系统的功能,各个接口的依赖参数通过键值对的方式存入缓存中间件。获取待测试微服务的接口测试参数信息,接口测试参数信息包括依赖参数,根据测试参数信息得到测试参数主键,从缓存中间件中查找测试参数主键对应的测试参数键值,在测试参数键值不为空的情况下,根据预设的测试工具对微服务的接口进行自动化测试,得到测试结果,实现对多个微服务接口的自动化测试。在测试参数键值为空的情况下,通过微服务的接口重新获取接口测试参数信息,保障不会因为某项特定参数失效而导致自动化测试用例运行失败,根据接口测试参数信息,利用预设的测试工具对微服务的接口进行自动化测试,得到测试结果,实现对多个微服务接口的自动化测试。通过缓存中间件进行接口依赖数据存储,不仅能够实现依赖参数共享,而且参数读写操作直接访问内存,不需要磁盘IO,提高了自动化测试性能。
如图7所示,本申请实施例提供了接口自动化测试装置100,应用于微服务系统,微服务系统包括多个微服务,接口自动化测试装置100首先通过身份获取模块110获取登录微服务系统的身份标识信息,有利于后续根据身份标识信息得到对应的身份信息主键;随后利用信息查找模块120从缓存中间件中查找与身份标识信息对应的身份信息主键,身份信息主键能够唯一标识身份信息,保证了登录的安全性;通过参数获取模块130根据身份信息主键,获取多个微服务的接口测试参数信息;采用参数命名模块140根据接口测试参数信息和先验知识,得到多个测试参数主键;接着利用参数查找模块150根据身份信息主键,在缓存中间件中查询测试参数主键,得到测试参数主键对应的测试参数键值,通过从缓存中间件中获取接口依赖数据,直接访问内存,不想要磁盘I/O,在高并发环境下,能够有效提高数据获取速度;最后利用测试模块160在测试参数键值不为空的情况下,根据预设的测试工具对微服务的接口进行自动化测试,得到测试结果,从而实现自动化测试。本申请实施例通过缓存中间件进行接口依赖数据存储,不仅能够实现依赖参数共享,而且提高了自动化测试性能。
需要说明的是,身份获取模块110与信息查找模块120连接,信息查找模块120与参数获取模块130连接,参数获取模块130与参数命名模块140连接,参数命名模块140与参数查找模块150连接,参数查找模块150与测试模块160连接。上述接口自动化测试方法作用于接口自动化测试装置100,该接口自动化测试装置100通过缓存中间件进行接口依赖数据存储,不仅能够实现依赖参数共享,而且参数读写操作直接访问内存,不需要磁盘IO,提高了自动化测试性能。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
图8示出了本申请实施例提供的计算机设备500。该计算机设备500可以为基站或者终端,该计算机设备500的内部结构包括但不限于:
存储器510,用于存储程序;
处理器520,用于执行存储器510存储的程序,当处理器520执行存储器510存储的程序时,处理器520用于执行上述的接口自动化测试方法。
处理器520和存储器510可以通过总线或者其他方式连接。
存储器510作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本申请任意实施例描述的接口自动化测试方法。处理器520通过运行存储在存储器510中的非暂态软件程序以及指令,从而实现上述的接口自动化测试方法。
存储器510可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储执行上述的接口自动化测试方法。此外,存储器510可以包括高速随机存取存储器,还可以包括非暂态存储器,比如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器510可选包括相对于处理器520远程设置的存储器,这些远程存储器可以通过网络连接至该处理器520。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述的接口自动化测试方法所需的非暂态软件程序以及指令存储在存储器510中,当被一个或者多个处理器520执行时,执行本申请任意实施例提供的接口自动化测试方法。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行上述的接口自动化测试方法。
在一实施例中,该存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器520执行,比如,被上述计算机设备500中的一个处理器520执行,可使得上述一个或多个处理器520执行本申请任意实施例提供的接口自动化测试方法。
以上所描述的实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包括计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本申请的较佳实施进行了具体说明,但本申请并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请精神的。共享条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本申请权利要求所限定的范围内。
Claims (10)
1.一种接口自动化测试方法,其特征在于,应用于微服务系统,所述微服务系统包括多个微服务,所述方法包括:
获取登录所述微服务系统的身份标识信息;
从缓存中间件中查找与所述身份标识信息对应的身份信息主键;
根据所述身份信息主键,获取多个所述微服务的接口测试参数信息;
根据所述接口测试参数信息和先验知识,得到多个测试参数主键;
根据所述身份信息主键,在所述缓存中间件中查询所述测试参数主键,得到所述测试参数主键对应的测试参数键值;
在所述测试参数键值不为空的情况下,根据预设的测试工具对所述微服务的接口进行自动化测试,得到测试结果。
2.根据权利要求1所述的接口自动化测试方法,其特征在于,在所述根据所述身份信息主键,在所述缓存中间件中查询所述测试参数主键,得到所述测试参数主键对应的测试参数键值之后,所述方法还包括:
在所述测试参数键值为空的情况下,通过所述微服务的接口重新获取所述接口测试参数信息;
根据所述接口测试参数信息,利用预设的测试工具对所述微服务的接口进行自动化测试,得到测试结果。
3.根据权利要求1所述的接口自动化测试方法,其特征在于,所述根据所述接口测试参数信息和先验知识,得到多个测试参数主键,包括:
对各个所述接口测试参数信息进行分类处理,得到参数类别;
根据所述先验知识,确定所述参数类别的命名格式,以得到所述测试参数主键。
4.根据权利要求1所述的接口自动化测试方法,其特征在于,在所述从缓存中间件中查找与所述身份标识信息对应的身份信息主键之前,所述获取登录所述微服务系统的身份标识信息之后,所述方法还包括:
根据所述先验知识,确定所述身份标识信息的命名格式,以得到所述身份信息主键;
将身份标识信息作为身份信息键值,将所述身份信息主键和所述身份信息键值以键值对的形式存储于所述缓存中间件。
5.根据权利要求1所述的接口自动化测试方法,其特征在于,在所述根据所述身份信息主键,在所述缓存中间件中查询所述测试参数主键,得到所述测试参数主键对应的测试参数键值之前,所述方法还包括:
获取各个所述微服务的接口依赖参数和全局静态参数;
按照所述先验知识,确定所述接口依赖参数的命名格式,以得到依赖参数主键;
按照所述先验知识,确定所述全局静态参数的命名格式,以得到全局参数主键;
将所述接口依赖参数作为依赖参数键值,将所述依赖参数主键和所述依赖参数键值以键值对的方式存储于所述缓存中间件;
将所述全局静态参数作为全局参数键值,将所述全局参数主键和所述全局参数键值以键值对的方式存储于所述缓存中间件。
6.根据权利要求5所述的接口自动化测试方法,其特征在于,所述获取多个所述微服务的接口依赖参数和全局静态参数,包括:根据所述微服务系统的业务逻辑,利用串行调用算法获取所述接口依赖参数和所述全局静态参数。
7.根据权利要求3所述的接口自动化测试方法,其特征在于,所述对各个所述接口测试参数信息进行分类处理,得到参数类别,包括:按照预设的用途分类对各个所述接口测试参数信息进行分类处理,得到所述参数类别。
8.一种接口自动化测试装置,其特征在于,应用于微服务系统,所述微服务系统包括多个微服务,所述装置包括:
身份获取模块,用于获取登录所述微服务系统的身份标识信息;
信息查找模块,用于从缓存中间件中查找与所述身份标识信息对应的身份信息主键;
参数获取模块,用于根据所述身份信息主键,获取多个所述微服务的接口测试参数信息;
参数命名模块,用于根据所述接口测试参数信息和先验知识,得到多个测试参数主键;
参数查找模块,用于根据所述身份信息主键,在所述缓存中间件中查询所述测试参数主键,得到所述测试参数主键对应的测试参数键值;
测试模块,用于在所述测试参数键值不为空的情况下,根据预设的测试工具对所述微服务的接口进行自动化测试,得到测试结果。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被一个或多个所述处理器执行时,使得一个或多个所述处理器执行如权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质可被处理器读写,所述存储介质存储有计算机指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211376176.8A CN115794613A (zh) | 2022-11-04 | 2022-11-04 | 接口自动化测试方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211376176.8A CN115794613A (zh) | 2022-11-04 | 2022-11-04 | 接口自动化测试方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115794613A true CN115794613A (zh) | 2023-03-14 |
Family
ID=85435519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211376176.8A Pending CN115794613A (zh) | 2022-11-04 | 2022-11-04 | 接口自动化测试方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115794613A (zh) |
-
2022
- 2022-11-04 CN CN202211376176.8A patent/CN115794613A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9836346B2 (en) | Error troubleshooting using a correlated knowledge base | |
CN109032825B (zh) | 一种故障注入方法、装置及设备 | |
CN110609844A (zh) | 一种数据更新方法,装置及系统 | |
US9514176B2 (en) | Database update notification method | |
CN109672608B (zh) | 根据时间发送消息的方法 | |
CN113704117A (zh) | 一种算法测试系统、方法及装置 | |
CN112241362A (zh) | 一种测试方法、装置、服务器及存储介质 | |
CN110046100B (zh) | 一种分组测试的方法、电子设备及介质 | |
CN109446077A (zh) | 一种数据库测试方法及装置 | |
CN111522881B (zh) | 业务数据处理方法、装置、服务器及存储介质 | |
CN110888643A (zh) | 页面处理方法及装置 | |
CN115794613A (zh) | 接口自动化测试方法、装置和计算机设备 | |
CN113867778B (zh) | 一种镜像文件的生成方法、装置、电子设备及存储介质 | |
US11757818B2 (en) | Storage space optimization for emails | |
CN110688430B (zh) | 一种获得数据旁路的方法、装置及电子设备 | |
CN112579858A (zh) | 一种数据爬取方法及装置 | |
CN111736848A (zh) | 包冲突定位方法、装置、电子设备及可读存储介质 | |
CN112506736B (zh) | office文件打开状态监控方法及装置 | |
CN109918895B (zh) | 用于输出数据的方法、电子设备和计算机可读介质 | |
CN112395521B (zh) | 页面处理方法、装置、电子设备及计算机可读存储介质 | |
EP4346191A1 (en) | Data processing method, and apparatus | |
CN113067713B (zh) | 一种为告警网元添加工程标识的方法和装置 | |
CN113111120B (zh) | 业务数据校验的方法和装置 | |
CN115563014A (zh) | 链路接口梳理方法、装置、电子设备及存储介质 | |
CN115033454A (zh) | 无侵入App的数据监控方法及终端 |
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 |