首页> 中国专利> 跨服务Mock数据的共享使用方法、系统、设备及存储介质

跨服务Mock数据的共享使用方法、系统、设备及存储介质

摘要

本发明公开了一种跨服务Mock数据的共享使用方法、系统、设备及存储介质,其中方法包括:通过UI自动化工程服务调用Mocker服务的方式获取规则的类型和返回数据;将获取到的规则的类型和返回数据进行解析,获取规则为Mock类型的content数据;在编写和执行UI自动化用例过程调用所述content数据并进行使用。本发明可以提高UI自动化工程的执行效率,减少冗余文件的维护和管理成本,减少自动化用例编写的步骤,将Mock数据变为可视化,使操作和使用更加简便快捷。

著录项

  • 公开/公告号CN112711421A

    专利类型发明专利

  • 公开/公告日2021-04-27

    原文格式PDF

  • 申请/专利权人 广州品唯软件有限公司;

    申请/专利号CN202011583869.5

  • 发明设计人 胡梅;古知己;

    申请日2020-12-28

  • 分类号G06F8/41(20180101);G06F8/70(20180101);G06F16/176(20190101);G06F16/25(20190101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人王云晓

  • 地址 510000 广东省广州市荔湾区芳村花海街20号自编6号楼

  • 入库时间 2023-06-19 10:46:31

说明书

技术领域

本发明涉及计算机技术领域,尤其涉及一种跨服务Mock数据的共享使用方法、系统、设备及存储介质。

背景技术

目前,UI自动化在使用Mock(模拟)数据的时候,是将mock数据存放在工程目录的一个统一的文件夹下面,需要按照统一的存储规则进行存储-读取-使用。一旦Mock数据累计变多,数据庞大后,不仅占用工程资源,影响执行效率,同时维护和应用也会耗费一定的人力和资源。

以上信息作为背景信息给出只是为了辅助理解本公开,并没有确定或者承认任意上述内容是否可用作相对于本公开的现有技术。

发明内容

本发明提供一种跨服务Mock数据的共享使用方法、系统、设备及存储介质,以解决现有技术的不足。

为实现上述目的,本发明提供以下的技术方案:

第一方面,本发明实施例提供一种跨服务Mock数据的共享使用方法,所述方法包括:

通过UI自动化工程服务调用Mocker服务的方式获取规则的类型和返回数据;

将获取到的规则的类型和返回数据进行解析,获取规则为Mock类型的content数据;

在编写和执行UI自动化用例过程调用所述content数据并进行使用。

进一步地,所述服务Mock数据的共享使用方法中,所述通过UI自动化工程服务调用Mocker服务的方式获取规则的类型和返回数据的步骤包括:

通过UI自动化工程服务发起Http请求调用Mocker服务的showRule()接口,以查询Mocker服务的数据库;

从Mocker服务的数据库中获取规则的类型和返回数据。

进一步地,所述服务Mock数据的共享使用方法中,所述在编写和执行UI自动化用例过程调用所述content数据并进行使用的步骤包括:

在编写和执行UI自动化用例过程中,通过代理服务器监听并拦截需要使用Mock数据的接口的接口请求,并将获取到的所述content数据传入以替换拦截的返回数据;

UI自动化用例使用所述content数据进行数据的检查和UI的展示。

第二方面,本发明实施例提供一种跨服务Mock数据的共享使用系统,所述系统包括:

调用模块,用于通过UI自动化工程服务调用Mocker服务的方式获取规则的类型和返回数据;

解析模块,用于将获取到的规则的类型和返回数据进行解析,获取规则为Mock类型的content数据;

使用模块,用于在编写和执行UI自动化用例过程调用所述content数据并进行使用。

进一步地,所述跨服务Mock数据的共享使用系统中,所述调用模块具体用于:

通过UI自动化工程服务发起Http请求调用Mocker服务的showRule()接口,以查询Mocker服务的数据库;

从Mocker服务的数据库中获取规则的类型和返回数据。

进一步地,所述跨服务Mock数据的共享使用系统中,所述使用模块具体用于:

在编写和执行UI自动化用例过程中,通过代理服务器监听并拦截需要使用Mock数据的接口的接口请求,并将获取到的所述content数据传入以替换拦截的返回数据;

UI自动化用例使用所述content数据进行数据的检查和UI的展示。

第三方面,本发明实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上任一方面所述的跨服务Mock数据的共享使用方法。

第四方面,本发明实施例提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令由计算机处理器执行,以实现如上任一方面所述的跨服务Mock数据的共享使用方法。

本发明实施例提供的一种跨服务Mock数据的共享使用方法、系统、设备及存储介质,可以提高UI自动化工程的执行效率,减少冗余文件的维护和管理成本,减少自动化用例编写的步骤,将Mock数据变为可视化,使操作和使用更加简便快捷。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1是本发明实施例一提供的一种跨服务Mock数据的共享使用方法的流程示意图;

图2是本发明实施例二提供的一种跨服务Mock数据的共享使用方法的流程示意图;

图3是本发明实施例三提供的一种跨服务Mock数据的共享使用方法的流程示意图;

图4是本发明实施例四提供的一种跨服务Mock数据的共享使用系统的功能模块示意图。

图5是本发明实施例五提供的一种计算机设备的结构示意图。

具体实施方式

为使得本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在本发明的描述中,需要理解的是,当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中设置的组件。当一个组件被认为是“设置在”另一个组件,它可以是直接设置在另一个组件上或者可能同时存在居中设置的组件。

此外,术语“长”“短”“内”“外”等指示方位或位置关系为基于附图所展示的方位或者位置关系,仅是为了便于描述本发明,而不是指示或暗示所指的装置或原件必须具有此特定的方位、以特定的方位构造进行操作,以此不能理解为本发明的限制。

下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。

实施例一

有鉴于现有的技术存在的缺陷,本发明人基于从事该行业多年丰富的实务经验及专业知识,并配合学理的运用,积极加以研究创新,以期创设一种切实可行的跨服务Mock数据的共享使用技术,使其更具有实用性。在经过不断的研究、设计并反复试作及改进后,终于创设出确具实用价值的本发明。

请参阅图1,图1是本发明实施例公开的一种跨服务Mock数据的共享使用方法的流程示意图,该方法适用于共享实现远程Mock数据的场景,该方法由跨服务Mock数据的共享使用系统来执行,该系统可以由软件和/或硬件实现,集成于计算机的内部。如图1所示,该跨服务Mock数据的共享使用方法可以包括以下步骤:

S101、通过UI自动化工程服务调用Mocker服务的方式获取规则的类型和返回数据。

其中,返回数据是Response。

需要说明的是,UI自动化工程是通过规定的参数(规则ID,即ruleID)去调用Mocker服务的。

另外,调用Mocker服务具体指的是调用Mocker服务的接口,以能够访问且查询Mocker服务的数据库。规则的类型和返回数据是存储在Mocker服务的数据库的。

S102、将获取到的规则的类型和返回数据进行解析,获取规则为Mock类型的content数据。

需要说明的是,此步骤具体是通过识别Type=Mock的规则,然后获取到当前规则为Mock类型的content数据。

S103、在编写和执行UI自动化用例过程调用所述content数据并进行使用。

需要说明的是,此步骤具体是在编写和执行UI自动化用例过程中,如果有需要用到Mock数据,则直接通过调用获取到的Type=Mock的content数据进行使用。

本实施例支持单个Mock数据和多个Mock数据在一个UI自动化用例设计中同时使用,还支持获取Get和Post请求方式的Mock规则内容。

本发明实施例提供的一种跨服务Mock数据的共享使用方法,可以提高UI自动化工程的执行效率,减少冗余文件的维护和管理成本,减少自动化用例编写的步骤,将Mock数据变为可视化,使操作和使用更加简便快捷。

实施例二

如图2所示,本发明实施例二提供的跨服务Mock数据的共享使用方法,是在实施例一提供的技术方案的基础上,对步骤S101“通过UI自动化工程服务调用Mocker服务的方式获取规则的类型和返回数据”做了进一步优化。与上述各实施例相同或相应的术语的解释在此不再赘述。即:

通过UI自动化工程服务发起Http请求调用Mocker服务的showRule()接口,以查询Mocker服务的数据库;

从Mocker服务的数据库中获取规则的类型和返回数据。

基于上述优化,如图2所示,本实施例提供的一种跨服务Mock数据的共享使用方法,可以包括如下步骤:

S201、通过UI自动化工程服务发起Http请求调用Mocker服务的showRule()接口,以查询Mocker服务的数据库。

其中,Mocker服务具体指的是Appmocker,调用的方式是UI自动化工程传入ruleID。

S202、从Mocker服务的数据库中获取规则的类型和返回数据。

S203、将获取到的规则的类型和返回数据进行解析,获取规则为Mock类型的content数据。

S204、在编写和执行UI自动化用例过程调用所述content数据并进行使用。

本发明实施例提供的一种跨服务Mock数据的共享使用方法,可以提高UI自动化工程的执行效率,减少冗余文件的维护和管理成本,减少自动化用例编写的步骤,将Mock数据变为可视化,使操作和使用更加简便快捷。

实施例三

如图3所示,本发明实施例三提供的跨服务Mock数据的共享使用方法,是在实施例一提供的技术方案的基础上,对步骤S103“在编写和执行UI自动化用例过程调用所述content数据并进行使用”做了进一步优化。与上述各实施例相同或相应的术语的解释在此不再赘述。即:

在编写和执行UI自动化用例过程中,通过代理服务器监听并拦截需要使用Mock数据的接口的接口请求,并将获取到的所述content数据传入以替换拦截的返回数据。

UI自动化用例使用所述content数据进行数据的检查和UI的展示。

基于上述优化,如图3所示,本实施例提供的一种跨服务Mock数据的共享使用方法,可以包括如下步骤:

S301、通过UI自动化工程服务调用Mocker服务的方式获取规则的类型和返回数据。

S302、将获取到的规则的类型和返回数据进行解析,获取规则为Mock类型的content数据。

S303、在编写和执行UI自动化用例过程中,通过代理服务器监听并拦截需要使用Mock数据的接口的接口请求,并将获取到的所述content数据传入以替换拦截的返回数据。

其中,代理服务器具体指的是AppProxy。

S304、UI自动化用例使用所述content数据进行数据的检查和UI的展示。

本发明实施例提供的一种跨服务Mock数据的共享使用方法,可以减少工程本地文件的维护,多服务公用数据库的数据,将Mock数据界面化,且可以实时更新查看,便于问题的调试,提高自动化用例执行的效率,减少工程资源的使用。

实施例四

请参阅附图4,图4为本发明实施例四提供的一种跨服务Mock数据的共享使用系统,该系统适用于执行本发明实施例提供的跨服务Mock数据的共享使用方法。该系统具体包含如下模块:

调用模块401,用于通过UI自动化工程服务调用Mocker服务的方式获取规则的类型和返回数据;

解析模块402,用于将获取到的规则的类型和返回数据进行解析,获取规则为Mock类型的content数据;

使用模块403,用于在编写和执行UI自动化用例过程调用所述content数据并进行使用。

优选的,所述调用模块401具体用于:

通过UI自动化工程服务发起Http请求调用Mocker服务的showRule()接口,以查询Mocker服务的数据库;

从Mocker服务的数据库中获取规则的类型和返回数据。

优选的,所述使用模块403具体用于:

在编写和执行UI自动化用例过程中,通过代理服务器监听并拦截需要使用Mock数据的接口的接口请求,并将获取到的所述content数据传入以替换拦截的返回数据;

UI自动化用例使用所述content数据进行数据的检查和UI的展示。

本发明实施例提供的一种跨服务Mock数据的共享使用系统,可以提高UI自动化工程的执行效率,减少冗余文件的维护和管理成本,减少自动化用例编写的步骤,将Mock数据变为可视化,使操作和使用更加简便快捷。

上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。

实施例五

图5为本发明实施例五提供的一种计算机设备的结构示意图。图5示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图5显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图5所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。

计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。

计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图5中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的跨服务Mock数据的共享使用方法。

也即,所述处理单元执行所述程序时实现:通过UI自动化工程服务调用Mocker服务的方式获取规则的类型和返回数据;将获取到的规则的类型和返回数据进行解析,获取规则为Mock类型的content数据;在编写和执行UI自动化用例过程调用所述content数据并进行使用。

实施例六

本发明实施例六提供了一种计算机可读存储介质,其上存储有计算机可执行指令,该指令被处理器执行时实现如本申请所有发明实施例提供的跨服务Mock数据的共享使用方法:

也即,所述处理单元执行所述程序时实现:对Clang编译器的插件进行改造;通过UI自动化工程服务调用Mocker服务的方式获取规则的类型和返回数据;将获取到的规则的类型和返回数据进行解析,获取规则为Mock类型的content数据;在编写和执行UI自动化用例过程调用所述content数据并进行使用。

可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

至此,以说明和描述的目的提供上述实施例的描述。不意指穷举或者限制本公开。特定的实施例的单独元件或者特征通常不受到特定的实施例的限制,但是在适用时,即使没有具体地示出或者描述,其可以互换和用于选定的实施例。在许多方面,相同的元件或者特征也可以改变。这种变化不被认为是偏离本公开,并且所有的这种修改意指为包括在本公开的范围内。

提供示例实施例,从而本公开将变得透彻,并且将会完全地将该范围传达至本领域内技术人员。为了透彻理解本公开的实施例,阐明了众多细节,诸如特定零件、装置和方法的示例。显然,对于本领域内技术人员,不需要使用特定的细节,示例实施例可以以许多不同的形式实施,而且两者都不应当解释为限制本公开的范围。在某些示例实施例中,不对公知的工序、公知的装置结构和公知的技术进行详细地描述。

在此,仅为了描述特定的示例实施例的目的使用专业词汇,并且不是意指为限制的目的。除非上下文清楚地作出相反的表示,在此使用的单数形式“一个”和“该”可以意指为也包括复数形式。术语“包括”和“具有”是包括在内的意思,并且因此指定存在所声明的特征、整体、步骤、操作、元件和/或组件,但是不排除存在或额外地具有一个或以上的其他特征、整体、步骤、操作、元件、组件和/或其组合。除非明确地指示了执行的次序,在此描述的该方法步骤、处理和操作不解释为一定需要按照所论述和示出的特定的次序执行。还应当理解的是,可以采用附加的或者可选择的步骤。

当元件或者层称为是“在……上”、“与……接合”、“连接到”或者“联接到”另一个元件或层,其可以是直接在另一个元件或者层上、与另一个元件或层接合、连接到或者联接到另一个元件或层,也可以存在介于其间的元件或者层。与此相反,当元件或层称为是“直接在……上”、“与……直接接合”、“直接连接到”或者“直接联接到”另一个元件或层,则可能不存在介于其间的元件或者层。其他用于描述元件关系的词应当以类似的方式解释(例如,“在……之间”和“直接在……之间”、“相邻”和“直接相邻”等)。在此使用的术语“和/或”包括该相关联的所罗列的项目的一个或以上的任一和所有的组合。虽然此处可能使用了术语第一、第二、第三等以描述各种的元件、组件、区域、层和/或部分,这些元件、组件、区域、层和/或部分不受到这些术语的限制。这些术语可以只用于将一个元件、组件、区域或部分与另一个元件、组件、区域或部分区分。除非由上下文清楚地表示,在此使用诸如术语“第一”、“第二”及其他数值的术语不意味序列或者次序。因此,在下方论述的第一元件、组件、区域、层或者部分可以采用第二元件、组件、区域、层或者部分的术语而不脱离该示例实施例的教导。

空间的相对术语,诸如“内”、“外”、“在下面”、“在……的下方”、“下部”、“上方”、“上部”等,在此可出于便于描述的目的使用,以描述如图中所示的一个元件或者特征和另外一个或多个元件或者特征之间的关系。空间的相对术语可以意指包含除该图描绘的取向之外该装置的不同的取向。例如如果翻转该图中的装置,则描述为“在其他元件或者特征的下方”或者“在元件或者特征的下面”的元件将取向为“在其他元件或者特征的上方”。因此,示例术语“在……的下方”可以包含朝上和朝下的两种取向。该装置可以以其他方式取向(旋转90度或者其他取向)并且以此处的空间的相对描述解释。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号