CN114064455A - 一种提供mock服务的方法、装置和电子设备 - Google Patents
一种提供mock服务的方法、装置和电子设备 Download PDFInfo
- Publication number
- CN114064455A CN114064455A CN202111202316.5A CN202111202316A CN114064455A CN 114064455 A CN114064455 A CN 114064455A CN 202111202316 A CN202111202316 A CN 202111202316A CN 114064455 A CN114064455 A CN 114064455A
- Authority
- CN
- China
- Prior art keywords
- mock
- configuration
- tested
- interface
- 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
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种提供mock服务的方法,包括:将自动化测试中的待测系统在mock平台上的mock配置、待测系统ID和接口ID同步到数据库中;解析出第一待测系统需要预先配置的所有mock的mock ID;遍历所有mock ID,解析当前mock ID对应的待测系统ID和接口ID;响应于当前mock ID对应的是高级mock配置,根据待测系统ID和接口ID以及当前mock ID,在mock平台检查是否存在对应的高级mock配置,若不存在,则将数据库中保存的当前mock ID对应的高级mock配置设置到mock平台上,用于为自动化测试提供数据反馈。应用本申请,能够在数据库中同步mock配置,并能够自动修复mock平台上的mock配置。
Description
技术领域
本申请涉及自动测试技术领域,尤其涉及一种提供mock服务的方法、装置、一种计算机可读存储介质以及一种电子设备。
背景技术
在现有的各类系统中,业务可能会有交叉,因此在某系统运行时可能需要从其他第三方系统获取相关数据和信息等。对于这类系统的测试,也就需要第三方系统的输入或交互来完成测试。例如,交易平台的贷款服务需要和外部的银行系统进行交互,在触发某些请求到银行时,依赖银行系统的特定返回内容来进行后续的业务处理;那么对于交易平台的贷款服务进行测试时,某些情况下可能就需要银行反馈信息来帮助完成测试。然而,对于这类需要第三方系统的交互或信息传输来完成测试的服务,在其测试过程中,经常会发生由于第三方系统返回数据不符合预期而导致自动化测试执行报错,因此,需要确保第三方系统的稳定性和数据准确性,否则会影响测试服务的测试稳定性和测试结果的准确性。
mock是用于被测系统摆脱其依赖的第三方系统进行交互的常见解决方案。
但是目前的自动化测试框架的mock能力有两个缺点:不稳定,不通用。现有的mock服务是嵌套在被测系统中的,例如,对于贷款服务的测试只支持贷款服务,其他系统无法使用该mock服务。同时贷款服务使用的mock 方案,也不稳定,mock配置写死在mock平台,一旦mock平台上的测试数据被篡改,自动化测试无法第一时间感知到mock错误,那么在测试执行时也一定会由于mock返回内容错误而失败,当发现测试失败时,还需要依赖人工去修复mock平台上的相关配置。由此可见,目前的mock服务一方面无法对多种系统通用,另一方面测试系统无法感知mock数据出错,当出现问题后需要人工修复mock配置。
发明内容
针对上述现有技术,本申请实施例公开一种提供mock服务的方法,在数据库中同步mock配置,并能够自动修复mock平台上的mock配置。
一种提供mock服务的方法,可选地,该方法包括:
将自动化测试中的待测系统在mock平台上的mock配置、待测系统ID和接口ID同步到数据库中;其中,所述mock配置为用于对所述待测系统进行测试的mock的配置信息,所述待测系统ID为所述待测系统在所述mock平台上的标识,所述接口ID为所述待测系统的被测接口标识;
响应于确定待进行自动化测试的第一待测系统需要在进行自动化测试前配置mock,解析出所述第一待测系统需要预先配置的所有mock的mock ID;其中,所述mock ID用于标识所述mock;
遍历所述mock ID,从所述数据库中解析当前mock ID对应的待测系统ID 和接口ID;
响应于所述当前mock ID对应的是高级mock配置,根据解析得到的待测系统ID和接口ID以及所述当前mock ID,在所述mock平台检查是否存在对应相同待测系统ID和接口ID的高级mock配置,若不存在,则将所述数据库中保存的当前mock ID对应的高级mock配置,按照其对应的待测系统ID和接口ID设置到所述mock平台上。
可选地,该方法进一步包括:根据所述数据库中保存的信息判断所述待测系统是否需要网关缓存刷新;若需要网关缓存刷新,则从所述数据库中确定所述待测系统的网关服务配置,根据所述网关服务配置确定网关是否已经启动相应mock,若没有启动,则指示网关启动相应mock。
可选地,所述将待测系统在mock平台上的mock配置以及待测系统ID和接口ID同步到数据库中包括:
接收用户输入用于请求同步mock配置的命令;所述命令中包括用于同步操作的mock配置同步关键字、所述待测系统ID、所述接口ID;
在所述命令中检测到所述mock配置同步关键字后,根据所述命令中的所述待测系统ID和所述接口ID确定所述mock平台中与所述待测系统相关的一个特定接口,从所述特定接口获取mock配置,保存到所述数据库中。
可选地,所述从所述特定接口获取mock配置保存到所述数据库中包括:
响应于确定获取的mock配置为高级mock配置、且所述命令中包括mock 配置索引,从该高级mock配置的所有配置项中获取所述mock配置索引所指示的配置项;其中,每个配置项包括测试时需要反馈的mock数据及其对应的触发条件;
和/或,
响应于确定获取的mock配置为高级mock配置、且所述命令中不包括mock 配置索引,将该高级mock配置的所有配置项存储到所述数据库中;
和/或,
响应于确定获取的mock配置为普通mock配置,将该普通mock配置中的所有内容存储到所述数据库中。
可选地,若所述用于请求同步mock配置的命令发生请求失败,或者,若从所述特定接口获取mock配置失败,该方法进一步包括:发出同步失败的报警信息。
可选地,在所述将提取出的高级mock配置设置到mock平台上后,该方法进一步包括:若设置成功,将设置接口返回的高级mock ID更新到所述数据库的对应mock配置上;若设置失败,则系统提示高级mock设置错误信息。
可选地,该方法进一步包括:若遍历的当前mock ID对应的是普通mock配置,则在解析得到mock ID对应的待测系统ID和接口ID后,将当前mock ID 在所述数据库中对应保存的普通mock配置设置到mock平台中;
可选地,在所述将当前mock ID在所述数据库中对应保存的普通mock配置设置到mock平台中后,该方法进一步包括:若设置失败,则系统提示普通mock设置错误信息。
一种提供mock服务的装置,包括:配置同步单元、自检单元和修复单元;
所述配置同步单元,用于将自动化测试中的待测系统在mock平台上的mock 配置、待测系统ID和接口ID同步到数据库中;其中,所述mock配置为用于对所述待测系统进行测试的mock的配置信息,所述待测系统ID为所述待测系统在所述mock平台上的标识,所述接口ID为所述待测系统的被测接口标识;
所述自检单元,用于响应于确定待进行自动化测试的第一待测系统需要在进行自动化测试前配置mock,解析出所述第一待测系统需要预先配置的所有 mock的mock ID;遍历所述mock ID,从所述数据库中解析当前mock ID对应的待测系统ID和接口ID;响应于所述当前mock ID对应的是高级mock配置,根据解析得到的待测系统ID和接口ID以及所述当前mock ID,在所述mock平台检查是否存在对应相同待测系统ID和接口ID的高级mock配置,若不存在,则通知所述修复单元进行mock平台的配置修复;
所述修复单元,用于在接收到所述自检单元的通知后,将所述数据库中保存的当前mock ID对应的高级mock配置,按照其对应的待测系统ID和接口ID 设置到mock平台上。
可选地,该装置还包括网关检测单元,用于根据所述数据库中保存的信息判断所述待测系统是否需要网关缓存刷新;若需要网关缓存刷新,则从所述数据库中确定所述待测系统的网关服务配置,根据所述网关服务配置确定网关是否已经启动相应mock,若没有启动,则指示网关启动相应mock。
一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时可实现所述基于mock的自动化测试方法。
一种电子设备,该电子设备至少包括所述的计算机可读存储介质,还包括处理器;
所述处理器,用于从所述计算机可读存储介质中读取所述可执行指令,并执行所述指令以实现所述基于mock的自动化测试方法。
综上,本申请实施例公开了一种基于mock的自动化测试方法、装置和存储介质。在本申请实施例将mock平台上的mock配置及对应的系统ID和接口ID 同步保存到数据库中;然后,在进行系统自动化测试、且需要提前配置mock时,解析需要预先配置的所有mock的mock ID;当mock ID对应的是高级mock配置,在数据库中解析该mock ID对应的系统ID和接口ID,并在mock平台上检查相同的系统和接口上是否存在高级mock配置,若不存在,则将数据库中保存的该高级mock配置按照相同的系统和接口设置到mock平台上;最后,基于 mock平台上的mock设置进行系统的自动化测试。通过上述方式,能够在数据库中自动同步mock配置,并能够自动修复mock平台上的mock配置。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请中提供mock服务的方法流程示意图;
图2为index在高级mock配置中的含义示意图;
图3所示为weapons_mock表的表结构;
图4为weapons_mock表中存储的mock配置的示例;
图5为mock配置同步完成后在系统显示界面显示同步的结果提示示意图;
图6为测试用例表case_info中的pre_step列的示意图;
图7为case_info表中mock配置示例的示意图;
图8为case_info表中pre_step列中的mock配置示意图;
图9为重新设置mock配置到mock平台的示意图;
图10为本申请中提供mock服务的装置的基本结构示意图;
图11为本申请提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
下面以具体实施例对本发明的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
本申请中公开一种提供mock服务的方法和装置,可以独立于被测系统,为多种系统的自动化测试提供统一的mock服务。
图1为本申请中提供mock服务的方法流程示意图。如图1所示,该方法包括:
步骤101,将自动化测试中的待测系统在mock平台上的mock配置、待测系统ID和接口ID同步到数据库中。
本步骤中,将每条mock配置以及该mock配置所属的系统ID和接口ID对应保存在数据库中。其中,mock配置是对待测系统进行测试的mock的配置信息,待测系统ID为待测系统在mock平台的ID,接口ID为待测系统的被测接口标识。具体从mock平台上拉取数据保存到数据库的方式可以采用现有方式,通常是手工录入的方式。考虑到数据录入的准确性以及录入效率,本申请中给出一种自动从mock平台拉取mock配置保存到数据库的方式,具体可以使用预设的命令输入提供mock服务的系统,下面以php artisan命令进行mock配置同步为例进行说明,处理步骤如下:
接收用户输入用于请求同步mock配置的php artisan命令;该命令中包括 mock配置同步关键字,用于表示该命令为同步mock配置的请求消息;php artisan命令中还包括待测系统在mock平台中的ID(即待测系统ID)、待测系统的被测接口在mock平台中的ID(即接口ID)。提供mock服务的系统,在php artisan命令中检测到mock配置同步关键字后,根据命令中包括的待测系统在 mock平台中的ID和待测系统的被测接口,在mock平台中的ID确定mock平台中与待测系统相关的一个特定接口,从该特定接口获取mock配置,保存到数据库中。其中,如果获取的mock配置为普通mock配置时,可以将该普通mock 配置中的所有内容存储到数据库中,包括mock ID、需要反馈的mock数据、对应的待测系统ID和接口ID;假定php artisan命令中还包括mock配置索引 (index),那么如果获取的mock配置为高级mock配置,则从该高级mock配置的所有配置项中获取由index所指示的配置项,将获取的配置项内容对应其待测系统ID和接口ID存储到数据库中;或者,如果获取的mock配置为高级mock配置、且php artisan命令中不包括mock配置索引index时,可以直接将该高级 mock配置的所有配置项存储到数据库中。这里,配置项指的高级mock配置中一个触发条件极其对应的测试时需要反馈mock数据。下面给出一个php artisan 命令的范例:
php artisan sync:mock--project=1238--interface=19066--index=0
在上述命令中,sync:mock是命令行的关键字,指示该命令用于请求mock 配置的同步;project指的是被测系统在mock平台中的代号;interface指的是被测接口在mock平台中的代号。通过project和interface,就能从mock平台中锁定某系统的待测接口。index则表示高级mock中的第几条数据。比如当index=0 时,代表的是获取高级mock中的第1条数据,如图2所示;当index=0,2时,代表的是获取高级mock中的第1条和第3条数据。
提供mock服务的系统解析到php artisan sync:mock命令时,首先会解析出project,interface和index的值,index的值根据英文逗号分割,可以将分割出的数字下标存在数组中。接下来系统会请求mock平台,通过project和interface 获取该接口在mock平台中的所有高级mock配置。如果请求失败或者没有获取到数据,则认为同步失败,系统可以主动报警。如果请求成功,并且获取到数据,则会根据index中的索引,找到对应的mock配置,将mock数据及其对应的触发条件等存到数据库,例如在本申请实施例中,可以将这些数据存储到数据库的表中,将表命名为weapons_mock。如图3所示为weapons_mock表的表结构,图4为weapons_mock表中存储的mock配置的示例。
通过上述方式就可以通过php命令实现一键同步mock平台配置,不再依赖人工录入,实现自动化mock配置自动备份。同步完成后,可以在系统显示界面显示同步的结果提示如图5所示。
在实现mock配置的同步后,进行待测系统的自动化测试时,会先判断该测试是否需要提前配置mock,这个可以是在测试用例表case_info的pre_step列来维护的,pre_step表示执行测试用例前,所需要执行的前提步骤。具体支持的参数key可以如图6所示。当pre_step中配置了mock关键字时,说明本条测试用例在执行前需要在mock平台配置好mock配置。case_info表中mock配置示例如图7所示。当需要自动化测试需要设置mock配置时,则执行如下步骤进行自检和修复:
步骤102,解析出待测系统需要提前配置的所有mock的mock ID。
以下假定需要提前设置mock配置的待测系统为系统A,那么需要解析出系统A需要提前配置的所有mock ID。具体可以从记载待测系统是否需要提前进行mock设置的存储内容中进行解析。例如,解析case_info表中pre_step列中的mock配置,解析出mock id,mockid可能有多个,可以用英文逗号分隔,如图8所示。
接下来,对解析得到的所有mock ID进行遍历处理,具体对每个当前mock ID均执行如下步骤103-105:
步骤103,从数据库中解析当前mock ID对应的待测系统ID和接口ID。
在数据库存储的mock配置中查询当前mock ID,若不存在则提示错误,该条mock配置未同步成功。若存在,则从数据库中找到当前mock ID对应的mock 配置,从mock配置中提取对应的待测系统ID和接口ID。其中,当前mockID 指遍历过程中当前遍历到的mockID。
步骤104,判断当前mock ID是高级mock配置还是普通mock配置,若是高级mock配置,则执行步骤105,否则执行步骤106。
其中,在数据库中保存mock配置时,会标记各个mock配置是高级mock 配置还是普通mock配置。例如,可以根据weapons_mock表中的mock_type来判断,mock_type=2时,是高级mock配置,mock_type=1时是普通mock配置。如果查询到的mock配置既不是普通mock配置也不是高级mock配置,那么认为配置非法,系统提示配置错误。
对于普通mock配置和高级mock配置,具体处理有所区别。下面分别介绍。
步骤105,根据解析得到的待测系统ID和接口ID,在mock平台检查是否存在对应相同待测系统ID和接口ID的高级mock配置,若不存在,则将所述数据库中保存的当前mock ID对应的高级mock配置,按照其对应的待测系统ID 和接口ID设置到mock平台上。
对于高级mock配置,可以根据数据库中解析出的待测系统ID和接口ID以及当前mock ID在mock平台中进行查询,查询mock平台相同的系统ID和接口ID上是否存在同样mock ID的高级mock配置。如果存在,则认为mock平台上的mock设置正常,可以直接利用mock平台上的mock设置进行后续系统 A的自动化测试,本步骤就不需要再进行额外处理。如果不存在,则认为mock 平台上的mock设置出现异常,可能被改动过,需要重新设置,那么就将数据库中保存的当前mock ID对应的高级mock配置设置到mock平台上,且对应相同的待测系统ID和接口ID,当重新设置完成后,mock平台上新设置的mock配置,其mock ID可能会发生变化,那么需要将最新的mock ID更新到数据库中。如果高级mock配置在mock平台上的设置失败,则系统需要给出mock平台设置失败的提示。其中,重新在mock平台上进行mock设置时,可选地,可以在 mock设置中增加用于自动化测试的提示信息,用于指示其他系统或业务员该 mock配置用于自动化测试,不要随意更改及删除。
下面给出一个简单的示例:可以先根据weapons_mock表中mock_id、 project_id、interface_来查询mock平台是否存在对应的高级mock配置,如果存在,则认为mock配置正常,无需重新设置,如果接口返回不存在,则需要重新设置mock配置到mock平台中,如图9所示。此时会将weapons_mock表中的 mock_data、desc(配置的中文描述,可以在该描述中自动加入『自动化』前缀,以提醒不要随意修改或删除)设置到mock平台,如果接口返回成功,则认为设置成功,会将接口返回的高级mock id更新到weapons_mock表中的mock_id列。如果接口返回失败,则认为设置失败,返回false,系统提示错误。
步骤106,对于普通mock配置,将该条mock配置设置到mock平台上。
对于普通mock配置,可以直接将该mock配置设置到mock平台上,用于后续的自动化测试。例如,将weapons_mock表中的mock_data设置到mock平台,如果接口返回成功,则认为设置成功,如果接口返回失败,则认为设置失败,返回false,系统提示错误。
通过上述步骤103-106的处理,在mock平台上实现了mock配置的自检和自修复能力。另外,可选地,本申请的方法还可以继续包括如下步骤107-109 的处理,从而对于网关进行检查和必要的开启处理。
步骤107,根据数据库中保存的信息判断待测系统是否需要网关缓存刷新,若是,执行步骤108,否则结束本流程。
有一些服务的mock能力是依托交易平台的网关服务来实现的,通常,网关服务的数据库表gate_provider中有一列mock_type,来控制是否要使用mock平台的mock配置,例如,当mock_type=2时,可以表示使用mock平台,当mock_type 值发生变更时,网关服务需要刷新redis缓存,mock设置才会生效。基于此,可以根据mock配置中是否依赖网关mock来决定是否需要重新刷新网关缓存。例如,可以根据weapons_mock表中的hub_refresh列中的值来判断是否需要进入网关缓存刷新逻辑。如果hub_refresh=1,则进入网关缓存刷新逻辑。 hub_refresh!=1时,不需要进入网关缓存刷新逻辑。
步骤108,从数据库中确定所述待测系统的网关服务配置,根据网关服务配置确定网关是否已经启动相应mock,若是,则结束本流程,否则,执行步骤109。
先解析weapons_mock表中的gate_provide_id和gate_provider_name,根据这两列,可以定位到网关服务的特定配置,然后就能对网关服务该条配置的 mock_type进行解析。如果没有查询到对应的网关配置,则认为非法,系统提示错误。如果查询到网关配置,则判断mock_type是否为2,如果mock_type=2,则认为网关已经启动了mock,无需做其他处理,直接返回true,成功。如果 mock_type!=2,则需要执行启用网关的处理。具体地,先将网关服务数据库 gate_provider表中的mock_type设置为2,然后调用网关缓存刷新接口,刷新redis 缓存,接口返回成功,则认为网关服务mock启用成功,否则认为失败。
至此,本申请中的方法流程结束。
上述即为本申请中提供mock服务的方法的具体实现。在上述方法中,通过实时同步和检测mock配置在mock平台的准确性,实现自动修复mock配置的能力。通过支持普通mock和高级mock两种形式,来满足特定请求特定参数下获取到特定的返回结果。通过配置解析是否依赖网关以及对网关mock进行自动开启来满足部分服务依赖网关服务mock能力的诉求。最终实现一套通用的适用于所有业务接入的mock能力,优点是适用于所有业务,以及具备错误自动修复的能力,以此来确保自动化执行的稳定性和结果的准确性。
本申请还提供了一种提供mock服务的装置,可以用于实施上述方法。图 10为本申请中提供mock服务的装置的基本结构示意图。如图10所示,该装置包括:配置同步单元、自检单元和修复单元。
其中,配置同步单元,用于预先将自动化测试中的待测系统在mock平台上的mock配置、待测系统ID和接口ID同步到数据库中。自检单元,用于当确定准备进行自动化测试的第一待测系统需要提前配置mock时,解析出所述第一待测系统需要提前配置的所有mockID;遍历所述所有mock ID,从数据库中解析当前mock ID对应的待测系统ID和接口ID;当当前mock ID对应的是高级mock 配置时,根据解析得到的待测系统ID和接口ID,在mock平台检查是否存在对应相同待测系统ID和接口ID的高级mock配置,若不存在,则通知修复单元进行mock平台的配置修复。修复单元,用于在接收到自检单元的通知后,将数据库中保存的当前mock ID对应的高级mock配置,按照其对应的待测系统ID和接口ID设置到mock平台上,用于为自动化测试提供数据反馈。
可选地,为实现网关的监测,图10所示的装置还可以包括网关检测单元,用于根据数据库中保存的信息判断所述待测系统是否需要网关缓存刷新;若需要网关缓存刷新,则从数据库中确定所述待测系统的网关服务配置,根据所述网关服务配置确定网关是否已经启动相应mock,若没有启动,则指令网关启动相应mock。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令在由处理器执行时可执行如上所述提供mock服务的方法中的步骤。实际应用中,所述的计算机可读介质可以是上述实施例各设备/装置/系统所包含的,也可以是单独存在,而未装配入该设备/装置/系统中。其中,在计算机可读存储介质中存储指令,其存储的指令在由处理器执行时可执行如上所述实现GPU虚拟化的方法中的步骤。
根据本申请公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件,或者上述的任意合适的组合,但不用于限制本申请保护的范围。在本申请公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
如图11所示,本发明实施例还提供一种电子设备。如图11所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或一个以上处理核心的处理器1101、一个或一个以上计算机可读存储介质的存储器1102以及存储在存储器上并可在处理器上运行的计算机程序。在执行所述存储器1102的程序时,可以实现GPU虚拟化的方法。
具体的,实际应用中,该电子设备还可以包括电源1103、输入输出单元1104 等部件。本领域技术人员可以理解,图11中示出的电子设备的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器1101是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器1102内的软件程序和/或模块,以及调用存储在存储器1102内的数据,执行服务器的各种功能和处理数据,从而对该电子设备进行整体监控。
存储器1102可用于存储软件程序以及模块,即上述计算机可读存储介质。处理器1101通过运行存储在存储器1102的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1102可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器1102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1102还可以包括存储器控制器,以提供处理器1101对存储器1102的访问。
该电子设备还包括给各个部件供电的电源1103,可以通过电源管理系统与处理器1101逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1103还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入输出单元1104,该输入单元输出1104可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。该输入单元输出1104还可以用于显示由用户输入的信息或提供给用户的信息以及各种图像用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。
本申请附图中的流程图和框图,示出了按照本申请公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或者代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应该注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同附图中所标准的顺序发生。例如,两个连接地表示的方框实际上可以基本并行地执行,它们有时也可以按照相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或者流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本申请中。特别地,在不脱离本申请精神和教导的情况下,本申请的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本申请公开的范围。
本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思路,并不用于限制本申请。对于本领域的技术人员来说,可以依据本发明的思路、精神和原则,在具体实施方式及应用范围上进行改变,其所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种提供mock服务的方法,其特征在于,该方法包括:
将自动化测试中的待测系统在mock平台上的mock配置、待测系统ID和接口ID同步到数据库中;其中,所述mock配置为用于对所述待测系统进行测试的mock的配置信息,所述待测系统ID为所述待测系统在所述mock平台上的标识,所述接口ID为所述待测系统的被测接口标识;
响应于确定待进行自动化测试的第一待测系统需要在进行自动化测试前配置mock,解析出所述第一待测系统需要预先配置的所有mock的mock ID;其中,所述mock ID用于标识所述mock;
遍历所述mock ID,从所述数据库中解析当前mock ID对应的待测系统ID和接口ID;
响应于所述当前mock ID对应的是高级mock配置,根据解析得到的待测系统ID和接口ID以及所述当前mock ID,在所述mock平台检查是否存在对应相同待测系统ID和接口ID的高级mock配置,若不存在,则将所述数据库中保存的当前mock ID对应的高级mock配置,按照其对应的待测系统ID和接口ID设置到所述mock平台上。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括:根据所述数据库中保存的信息判断所述待测系统是否需要网关缓存刷新;若需要网关缓存刷新,则从所述数据库中确定所述待测系统的网关服务配置,根据所述网关服务配置确定网关是否已经启动相应mock,若没有启动,则指示网关启动相应mock。
3.根据权利要求1或2所述的方法,其特征在于,所述将待测系统在mock平台上的mock配置以及待测系统ID和接口ID同步到数据库中包括:
接收用户输入用于请求同步mock配置的命令;所述命令中包括mock配置同步关键字、所述待测系统ID、所述接口ID,所述mock配置同步关键字用于表示该命令为同步mock配置的请求消息;
在所述命令中检测到所述mock配置同步关键字后,根据所述命令中的所述待测系统ID和所述接口ID确定所述mock平台中与所述待测系统相关的一个特定接口,从所述特定接口获取mock配置,保存到所述数据库中。
4.根据权利要求3所述的方法,其特征在于,所述从所述特定接口获取mock配置保存到所述数据库中包括:
响应于确定获取的mock配置为高级mock配置、且所述命令中包括mock配置索引,从该高级mock配置的所有配置项中获取所述mock配置索引所指示的配置项;其中,每个配置项包括测试时需要反馈的mock数据及其对应的触发条件;
和/或,
响应于确定获取的mock配置为高级mock配置、且所述命令中不包括mock配置索引,将该高级mock配置的所有配置项存储到所述数据库中;
和/或,
响应于确定获取的mock配置为普通mock配置,将该普通mock配置中的所有内容存储到所述数据库中。
5.根据权利要求3所述的方法,其特征在于,若所述用于请求同步mock配置的命令发生请求失败,或者,若从所述特定接口获取mock配置失败,该方法进一步包括:发出同步失败的报警信息。
6.根据权利要求1所述的方法,其特征在于,在所述将提取出的高级mock配置设置到mock平台上后,该方法进一步包括:若设置成功,将设置接口返回的高级mock ID更新到所述数据库的对应mock配置上;若设置失败,则系统提示高级mock设置错误信息。
7.根据权利要求1所述的方法,其特征在于,该方法进一步包括:若遍历的当前mock ID对应的是普通mock配置,则在解析得到mock ID对应的待测系统ID和接口ID后,将当前mockID在所述数据库中对应保存的普通mock配置设置到mock平台中。
8.根据权利要求7所述的方法,其特征在于,在所述将当前mock ID在所述数据库中对应保存的普通mock配置设置到mock平台中后,该方法进一步包括:若设置失败,则系统提示普通mock设置错误信息。
9.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被处理器执行时可实现权利要求1~8任一项所述基于mock的自动化测试方法。
10.一种电子设备,该电子设备至少包括如权利要求11所述的计算机可读存储介质,还包括处理器;
所述处理器,用于从所述计算机可读存储介质中读取所述可执行指令,并执行所述指令以实现上述权利要求1~8任一项所述基于mock的自动化测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111202316.5A CN114064455A (zh) | 2021-10-15 | 2021-10-15 | 一种提供mock服务的方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111202316.5A CN114064455A (zh) | 2021-10-15 | 2021-10-15 | 一种提供mock服务的方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114064455A true CN114064455A (zh) | 2022-02-18 |
Family
ID=80234605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111202316.5A Pending CN114064455A (zh) | 2021-10-15 | 2021-10-15 | 一种提供mock服务的方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114064455A (zh) |
-
2021
- 2021-10-15 CN CN202111202316.5A patent/CN114064455A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111240994B (zh) | 漏洞处理方法、装置、电子设备及可读存储介质 | |
CN110088744B (zh) | 一种数据库维护方法及其系统 | |
CN111694612A (zh) | 配置检查方法、装置、计算机系统及存储介质 | |
CN110377471B (zh) | 接口校验数据的生成方法、装置、存储介质及电子设备 | |
CN103679390A (zh) | 配置系统的后台测试方法及装置 | |
CN110063042A (zh) | 一种数据库故障的响应方法及其终端 | |
US8090994B2 (en) | System, method, and computer readable media for identifying a log file record in a log file | |
CN112905441A (zh) | 测试用例生成方法、测试方法、装置及设备 | |
CN112799722A (zh) | 命令识别方法、装置、设备和存储介质 | |
KR101479516B1 (ko) | 소스코드 보안 약점 탐지 장치 및 방법 | |
KR101563494B1 (ko) | 파일 변경에 따른 실시간 소스코드 보안 약점 탐지 장치 및 방법 | |
CN114064455A (zh) | 一种提供mock服务的方法、装置和电子设备 | |
CN116662197A (zh) | 一种接口自动化测试方法、系统、计算机和可读存储介质 | |
CN110990177A (zh) | 故障修复方法、装置、系统、存储介质及电子设备 | |
CN111209138A (zh) | 数据存储系统的运维方法及装置 | |
CN105159810A (zh) | 对计算机系统的bios进行测试的方法及装置 | |
CN109491831A (zh) | 系统分区自救方法、装置、系统及计算机可读存储介质 | |
JP2005276040A (ja) | デグレード確認検査方法、デグレード確認検査システム、およびそのためのプログラム | |
KR101534493B1 (ko) | 구조 변환에 기초한 소스코드 보안 약점 탐지 장치 및 방법 | |
CN115185819A (zh) | 系统测试方法、装置、设备及计算机可读存储介质 | |
CN114036218A (zh) | 一种数据模型切换方法、装置、服务器和存储介质 | |
CN114021756A (zh) | 故障分析方法、装置和电子设备 | |
JP5569438B2 (ja) | あいまい記述自動検出装置及びその方法 | |
CN110807037B (zh) | 一种数据修改方法、装置、电子设备及存储介质 | |
CN106293897B (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 |