CN116467152A - 参数生成方法、装置、设备、存储介质及计算机程序产品 - Google Patents
参数生成方法、装置、设备、存储介质及计算机程序产品 Download PDFInfo
- Publication number
- CN116467152A CN116467152A CN202210025744.3A CN202210025744A CN116467152A CN 116467152 A CN116467152 A CN 116467152A CN 202210025744 A CN202210025744 A CN 202210025744A CN 116467152 A CN116467152 A CN 116467152A
- Authority
- CN
- China
- Prior art keywords
- interface
- request
- parameter
- data
- configuration data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 111
- 238000004590 computer program Methods 0.000 title claims abstract description 24
- 238000004088 simulation Methods 0.000 claims abstract description 38
- 230000006870 function Effects 0.000 claims description 64
- 238000012545 processing Methods 0.000 claims description 24
- 244000035744 Hura crepitans Species 0.000 claims description 21
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 38
- 238000010586 diagram Methods 0.000 description 25
- 238000012360 testing method Methods 0.000 description 13
- 230000004044 response Effects 0.000 description 11
- 238000011161 development Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000011981 development test Methods 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 206010063385 Intellectualisation Diseases 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/3696—Methods or tools to render software testable
-
- 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/3664—Environments for testing or debugging software
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种参数生成方法、装置、设备、存储介质及计算机程序产品,该方法包括:接收参数请求端发送的携带与目标应用相关的接口标识的接口参数获取请求;查询接口标识对应的请求接口的配置信息,若该配置信息指示存在用于获取请求接口的模拟接口参数的第一配置数据,则根据第一配置数据生成请求接口的模拟接口参数;若配置信息指示存在用于获取请求接口的模拟接口参数的第二配置数据,且不存在第一配置数据,则根据第二配置数据生成请求接口的模拟接口参数;向参数请求端返回携带该模拟接口参数的指示信息,以指示参数请求端基于该模拟接口参数运行目标应用。通过本申请实施例可以实现接口参数的自动模拟生成。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及参数生成方法、参数生成装置、计算机设备、计算机可读存储介质及计算机程序产品。
背景技术
在测试开发的过程中,当需要开发测试某项目(如应用程序)的功能模块时,常会遇到待测模块依赖于该项目或者其他项目的另一功能模块提供其接口数据的情况,若待测模块所依赖的另一功能模块由于诸如未完成开发或其接口不稳定等因素,使得其不能为待测模块提供可用的接口数据,这样就会使得测试无法进行,进而导致开发进度滞后严重。因此,如何在待测模块所依赖的另一功能模块不能提供可用接口数据的情况下,实现待待测模块的正常测试是有待解决的问题。
发明内容
本申请提供了一种参数生成方法、装置、计算机设备和存储介质及计算机程序产品,可实现接口参数的自动模拟生成,从而保证目标应用的测试正常进行。
一方面提供了一种参数生成方法,包括:
接收参数请求端发送的接口参数获取请求,该接口参数获取请求携带与目标应用相关的接口标识;
查询接口标识对应的请求接口的配置信息,若该配置信息指示存在用于获取该请求接口的模拟接口参数的第一配置数据,则根据第一配置数据生成该请求接口的模拟接口参数;
若配置信息指示存在用于获取该请求接口的模拟接口参数的第二配置数据,且不存在第一配置数据,则根据第二配置数据生成该请求接口的模拟接口参数;
向参数请求端返回携带上述模拟接口参数的指示信息,该指示信息用于指示参数请求端基于该模拟接口参数运行上述目标应用。其中,运行上述目标应用可以是运行目标应用中的功能模块,也可以是执行对目标应用的测试。
在一个实施例中,第一配置数据包括目标代码数据,上述根据第一配置数据生成请求接口的模拟接口参数的方法可以包括:获取目标代码数据并运行目标代码数据,生成请求接口的模拟接口参数。其中,目标代码数据包括基于内置函数代码生成的代码数据或者基于动态语句生成的代码数据中任意一种。
相应地,在一个实施例中,若代码数据是基于动态语句生成的,则调用沙箱模块将该代码数据中满足替换条件的代码替换为标准的功能函数代码,并运行调整后的代码数据,从而生成请求接口的模拟接口参数。其中,功能函数代码所实现的功能与满足替换条件的代码所实现的功能相匹配。
在一个实施例中,第二配置数据包括文件路径信息,文件路径信息所对应的参数文件中记录有请求接口的模拟接口参数。进一步地,上述根据第二配置数据生成请求接口的模拟接口参数的方法还可以包括:获取所述文件路径信息,按照该文件路径信息查询参数文件,从该参数文件中获取请求接口的模拟接口参数。
在一个实施例中,该参数生成方法还可以包括:显示配置界面,该配置界面包括与请求接口相关的代码编辑框和文件路径编辑框。若获取到针对该代码编辑框输入的待处理代码数据,则根据该待处理代码数据生成第一配置数据,并保存该第一配置数据。若获取到针对该文件路径编辑框输入的文件路径信息,则根据该针对此文件路径编辑框输入的文件路径信息生成第二配置数据,并保存该第二配置数据。
在一个实施例中,上述根据待处理代码数据生成第一配置数据的方法可以包括:若该待处理代码数据是基于动态语句输入的,则对该待处理代码数据进行语法分析,确定待删除代码;将待删除代码从待处理代码数据中删除,得到新的代码数据,然后根据新的代码数据生成第一配置数据。其中,待删除代码包括冗余代码、错误代码、会产生沙箱逃逸的代码中的一种或者多种。
在一个实施例中,若待处理代码数据是基于内置函数输入的,则运行该待处理代码数据,生成请求接口的参考模拟接口参数。若该参考模拟接口参数满足请求接口的参数条件,则执行上述根据待处理代码数据生成第一配置数据的步骤。
一方面提供了一种参数生成装置,包括:
接收单元,用于接收参数请求端发送的接口参数获取请求,该接口参数获取请求携带与目标应用相关的接口标识;
处理单元,用于查询接口标识对应的请求接口的配置信息,若该配置信息指示存在用于获取该请求接口的模拟接口参数的第一配置数据,则根据第一配置数据生成该请求接口的模拟接口参数;若配置信息指示存在用于获取该请求接口的模拟接口参数的第二配置数据,且不存在第一配置数据,则根据第二配置数据生成该请求接口的模拟接口参数;
发送单元,用于向参数请求端返回携带上述模拟接口参数的指示信息,该指示信息用于指示参数请求端基于该模拟接口参数运行上述目标应用。
一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请中一方面中的方法。
一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时使该处理器执行上述一方面中的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面等各种可选方式中提供的方法。
在本申请中,参数生成装置可以获取来自参数请求端的接口参数获取请求,根据接口参数获取请求中的相关标识信息和配置信息进行模拟接口匹配。配置信息指示存在用于获取请求接口的模拟接口参数的第一配置数据或者第二配置数据,根据第一配置数据或者第二配置数据生成匹配的模拟接口参数,用于返回请求参数端,以指示参数请求端基于模拟接口参数运行目标应用。采用上述方式,利用参数生成装置模拟所需的接口参数,可以在待测模块所依赖的另一功能模块不能提供可用接口数据的情况下,实现接口参数的自动模拟生成,从而保证目标应用的测试正常进行。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请实施例提供的一种参数生成方法的流程示意图;
图1b为本申请实施例提供的一种参数生成方法的系统架构示意图;
图2a为本申请实施例提供的一种参数生成方法的系统架构示意图;
图2b为本申请实施例提供的又一种参数生成方法的网络架构示意图;
图3为本申请实施例提供的又一种参数生成方法的流程示意图;
图4为本申请实施例提供的另一种参数生成方法的流程示意图;
图5为本申请实施例提供的一种配置界面示意图;
图6为本申请实施例提供的一种沙箱环境的示意图;
图7a为本申请实施例提供的一种项目管理界面的示意图;
图7b为本申请实施例提供的一种一种项目详情页界面的示意图;
图8a为本申请实施例提供的一种多项目共存实现模式的示意图;
图8b为本申请实施例提供的一种集群架构的示意图;
图9为本申请实施例提供的一种参数生成装置的结构示意图;
图10为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为更好的理解本申请实施例,下面先对本申请实施例所涉及的一些术语进行介绍:
Electron:Electron是一个跨平台的、基于前端技术的桌面图形用户界面(Graphical User Interface,GUI)应用程序开发框架,该开发框架中集成了Mac、Windows、Linux系统下的应用,即该三种系统下的应用都能在该环境下运行。在本申请实施例中,采用Electron架构中内置的Node.js环境,实现了一个跨平台的Mock工具,减少了构建多种开发测试环境的成本,便于用户在不同系统环境间切换的工作,保证了交互体验的一致性。
Mock:Mock意为模拟,Mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的、较复杂的对象,构建一个虚拟的对象,即Mock对象,以便测试的测试方法,Mock对象为需要被测试的真实对象的替代品,Mock对象生成的Mock数据与真实对象产生的数据是一致。其中,Mock语法即为符合 Mock代码编写规范的一种格式。例如,当需要测试某个函数时,此函数还需要调用第三方函数,则可以采用Mock模块来模拟该第三方函数,从而跳过实际调用它,这样不仅能够提升效率,而且避免因第三方函数出现错误而影响待测函数,提升安全性。不仅如此,采用Mock模块还能较为方便快捷地模拟出不常发生的各种情况。
沙箱逃逸:沙箱是一种网络编程虚拟的、独立的执行环境,在沙箱环境中可以运行浏览器或其他程序。采用沙箱,可以隔离环境中,测试不受信任的文件或应用程序等行为。沙箱逃逸,是在沙箱的代码执行环境下,部分代码脱离了沙箱的种种过滤和限制,最终拿到系统命令执行权限的过程。例如,在一个沙箱中执行一段代码,但此代码的某个部分在沙箱的外部环境中插入了一段代码,当执行到此部分时,就会运行沙箱外部的代码,影响代码执行的安全性。
抽象语法树(Abstract Syntax Tree,AST)语法分析:AST语法分析是用抽象语法结构的树状形式来表达源代码,即将源代码按照一定规则,进行结构化的转化成一种树状的数据结构。通过AST语法分析,可以将代码的原始语句分解成单个的语法单元,同时保留语法单元之间的层次结构,后续能够通过对语法单元的改造或者替换,重新按照某种规则遍历,即可完成原始语句到目标语句的转换。在本申请实施例中,采用AST语法分析能够实现对输入的代码数据的正确性、合法性检验,也能便于进行代码的替换。
为了生成模拟接口参数,本申请提供了如图1a所述的浏览器/服务器 (Browser/Server,B/S)架构,在本地或者预设的服务器上部署一套或多套Mock 服务,由Proxy网关将参数请求转发至Mock服务。用户在该服务器上通过编写符合Mock语法的代码,或者编写对应的服务代码来实现生成相应的Mock数据。
本申请还提供了如图1b所示的参数生成方法,适用于如图1b所述的浏览器/服务器(Browser/Server,B/S)架构。该方法包括:在Mock平台中预先存储Mock数据,当客户端存在接口模拟需求时,向Mock平台发送服务请求信息,当Mock平台中的网关接收到该服务请求信息后,将该请求信息转发给平台中的服务器,若读取到平台中存储有与请求信息匹配Mock数据,则将该mock数据提供给客户端。
上述方法存在以下问题:
采用本机部署Mock平台,需要在本机安装各种环境,成本较高;所有项目在一个服务器上运行,服务器运行压力大,难以实现项目隔离;仅能使用已配置好的Mock数据,工作方式不够灵活,人工配置Mock数据难度较大。
基于此,本申请实施例提供了一种参数生成方法,适用于图2a所示的系统架构。在图2a所示的系统架构中,包括Mock工具201、参数请求端202及服务器203。在实际的应用中,可以包括一个或多个的参数请求端,也可以包括一个或多个的服务器。其中,Mock工具201在本申请实施例中可以指参数生成装置,可以运行在参数请求端202中,也可以运行在其他终端上。可选的,Mock 工具还可以是可执行文件(如应用程序),用于配置在各个操作系统(例如 Windows系统)上进行使用。参数请求端202可以是用户侧的一种用于接收或发射信号的实体装置或虚拟单元,如计算机设备或某个应用程序。其中,参数请求端202和/或配置Mock工具201的终端包括但不限于是手机、电脑、智能语音交互设备、智能家电等。在可行的实施例中,本申请实施例提供的参数生成方法还可以应用于车载场景,则参数请求端202和/或配置Mock工具201的终端可以是车载终端。
其中,参数请求端202可以通过通信网络,向Mock工具201发起接口参数获取请求,参数请求端202发送的接口参数获取请求可以是超文本传输协议 (HTTP)网络请求,携带的与目标应用相关的接口标识可以包括该目标应用的 Mock服务的启动端口。服务器203可以根据接口参数获取请求进行路由匹配转发和进行权限验证,Mock工具201可以根据接口参数获取请求中携带的与目标应用相关的接口标识匹配相应的模拟接口参数的生成方法,进而生成模拟接口参数,并向参数请求端返回携带该模拟接口参数的指示信息,以用于指示参数请求端202基于模拟接口参数运行目标应用,使得Mock工具201实现对参数请求端202的Mock服务。
请参阅图2b,图2b为本申请提供的一种参数生成方法系统架构的示意图。在图2b中,Electron为跨平台开发框架,Electron主进程为在该平台上进行的项目,例如某个应用程序。在该平台内置的Node.js环境中,构建了一个参数生成装置作为Mock工具,该Mock工具包括图中由Electron主进程的子进程创建的 Mock服务集群,其中包括但不限于Mock服务1、Mock服务2等多个Mock服务器,为Electron主进程提供服务。主进程与服务集群之间的通信方式可以采用进程间通信(IPC)。不同的主进程可以运行在不同的Mock服务上,可以实现不同项目之间的隔离,提高安全性。图2b中还表示了参数生成方法的底层服务架构,其中,当Mock服务接收到接口参数获取请求时,可以由代理Proxy网关根据接口参数获取请求中携带的接口标识,查询该接口标识对应的请求接口的配置信息,为Mock服务进行接口匹配处理。若该配置信息为基于Mock语法,例如基于参数生成装置中的内置函数代码编写的,则通过Mock语法自动生成响应结果;若该配置信息为基于动态语句生成的代码数据信息,则调用该代码数据,生成动态响应结果;若该配置信息为静态文件中的参数文件,则将该参数文件中的数据信息作为响应结果;将响应结果通过接口透传的方式返回给发出接口参数获取请求的请求端。其中,响应结果即为接口参数获取请求所请求的模拟接口参数。
请参阅图3,图3为本申请实施例提供的一种参数生成方法的流程示意图,该方法可以适用于图2b中所展示的系统架构。本申请实施例提供的参数生成方法的执行主体为参数生成装置。该参数生成方法包括但不限于以下步骤:
S301:接收参数请求端发送的接口参数获取请求,该接口参数获取请求携带与目标应用相关的接口标识。
在本申请实施例中,参数请求端可以是用户侧的一种用于接收或发射信号的实体装置或虚拟单元,如计算机设备或某个应用程序。参数请求端发送的接口参数获取请求可以是超文本传输协议(HTTP)网络请求,携带的与目标应用相关的接口标识可以包括该目标应用的Mock服务的启动端口。可选的,可以由参数生成装置中的服务器接收该接口参数获取请求,通过权限校验即可以通过该启动端口查询到对应的服务对象并建立通信连接。
S302:查询接口标识对应的请求接口的配置信息。
在一种实现方式中,接口参数获取请求中的接口标识可以标识该获取请求对应的Mock服务启动端口和路由信息,参数生成装置中的Mock服务能够通过启动端口和路由信息启动匹配的Mock服务,从而可以根据接口标识查找到匹配的配置信息。可选的,该查找过程可以是按照一定的优先级的,例如先查询是否有匹配的第一配置数据,若存在第一配置数据,则进行匹配的后续步骤,若不存在第一配置数据时,才启动匹配第二配置数据的操作。可选的,该优先级可以是参数生成装置中默认设置的,也可以由用户修改,本申请对此不作限定。
S303:若该配置信息指示存在用于获取请求接口的模拟接口参数的第一配置数据,则根据该第一配置数据生成请求接口的模拟接口参数。
在一种实现方式中,该第一配置数据包括目标代码数据。首先获取该目标代码数据,通过运行该目标代码数据,生成响应结果,该响应结果中包括请求接口的模拟接口参数。可选的,运行目标代码数据产生的响应结果中还可以包括异常状态提示信息,例如运行目标代码失败,未生成模拟接口参数时,生成异常状态提示信息,用于告知用户参数生成出错,还可以用于提示用户重新启动Mock服务等。可选的,该目标代码数据可以是存储在参数生成装置的数据库中的代码数据,当需要此代码数据时,参数生成装置可以根据配置信息匹配目标代码数据。可选的,该目标代码数据还可以是存储在云端的代码数据,参数生成装置可以通过配置信息中的指示信息,从云端获取该代码数据。可选的,该目标代码数据还可以用户当前输入在参数生成装置指定模块中的代码数据。
在本申请实施例中,参数生成装置按照优先级进行接口匹配,优先查询在装置的数据库中是否存在与该接口请求的配置信息所匹配的第一配置数据,该第一配置数据可以是用户输入该参数生成装置的相关代码数据。若存在该第一配置数据,则运行相关的代码数据就能生成请求接口所需的模拟接口参数。
S303:若配置信息指示存在用于获取请求接口的模拟接口参数的第二配置数据,且不存在第一配置数据,则根据第二配置数据生成请求接口的模拟接口参数。
在本申请实施例中,按照优先级,若在上述步骤中,未查询到匹配的第一配置数据,但查询到该参数生成装置的数据库中存在与请求接口的配置信息匹配的第二配置数据。该第二配置数据可以是记录了存储有参数请求端端将抓取到的上述目标应用运行产生的真实数据的文件路径。可选的,第二配置数据可以是存储在参数生成装置的数据库中,也可以存储在云端的数据库中。
当查询到该第二配置数据时,参数生成装置通过配置信息中的文件路径信息,查询该文件路径信息对应的参数文件,该参数文件中包括了与接口参数获取参数匹配的接口参数。可选的,此接口参数可以是用户可以在现网环境或预发布环境中,抓取到与目标应用运行相关的真实数据,将其存储为静态数据文件格式。若存在匹配的参数文件,则生成请求接口所需的模拟接口参数。可选的,若不存在匹配的文件数据,则可以生成提示信息,该提示信息可用于提醒用户检查请求接口的配置信息是否有误,或者可用于提醒用户服务请求失败。
S304:向参数请求端返回携带模拟接口参数的指示信息,该指示信息用于指示参数请求端基于模拟接口参数运行目标应用。
其中,运行目标应用可以是运行目标应用中相应的功能模块,还可以是执行对该目标应用的测试。
可选的,参数生成装置向参数请求端返回的指示信息还可以包括错误指示信息,用于指示Mock服务中出现的错误。示例性的,该错误指示信息可以是,在服务过程中,未能匹配到第一配置数据和第二配置数据,导致Mock服务失败,于是参数生成装置生成了错误指示信息,用于告知用户服务失败,提醒参数请求端重新发起接口参数获取请求或检查接口参数获取请求中携带的接口标识是否配置有误。
可以理解的是,在本申请的具体实施方式中,涉及到第一配置数据、第二配置数据、目标代码数据以及文件路径信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,相关数据均需要获得相关用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
通过采用本申请实施例中的方法,可以针对不同的配置信息采用不同的方式为参数请求端实现Mock服务,能够使用户避免手动配置大量Mock数据的繁琐操作,实现参数生成的自动化和智能化。按照一定的优先级进行接口匹配能够提高参数生成的效率。
请参见图4,图4为本申请实施例提供的另一种参数生成方法的流程示意图,该方法也可以适用于图2所示的网络架构。该方法具体可以包括但不限于以下步骤:
S401:接收参数请求端发送的接口参数获取请求。其中,接口参数获取请求中携带有与目标应用相关的接口标识。接口标识对应着请求接口的配置信息。
在本申请实施例中,参数请求端可以是用户侧的一种用于接收或发射信号的实体装置或虚拟单元,如计算机设备或某个应用程序。参数请求端发送的接口参数获取请求可以是超文本传输协议(HTTP)网络请求,携带的与目标应用相关的接口标识可以包括该目标应用的Mock服务的启动端口。可选的,可以由参数生成装置中的服务器接收该接口参数获取请求,通过权限校验即可以通过该启动端口查询到对应的服务对象并建立通信连接。
S402:获取请求接口的配置信息。该配置信息与接口参数获取请求中携带的接口标识相匹配。
在一种实现方式中,参数生成装置获取请求接口配置信息的方式可以为通过显示配置界面,获取用户在配置界面输入的内容,生成配置信息。
请参阅图5,图5为本申请实施例提供的一种配置界面的示意图。图中包括新建接口指示图标,当用户点击此图标,就可以显示设置接口界面。在该设置接口界面中,有请求接口、请求方式、文件路径编辑框、代码编辑框等输入指示图标,用户可以根据文字提醒,输入对应的信息。用户可以在请求接口指示图标处填写需要进行Mock服务的接口标识信息。用户点击请求方式指示图标,可以选择请求方式,请求方式支持RESTful(Representational State Transfer)格式的接口。若参数生成装置获取到用户针对代码编辑框输入的待处理代码数据,则根据该待处理代码数据生成所述第一配置数据,并保存该第一配置数据;若获取到用户针对文件路径编辑框输入的文件路径信息,则根据输入的文件路径信息生成第二配置数据,并保存该第二配置数据。
在一种实现方式中,参数生成装置中可以存储其他用户已配置好的配置信息,该配置信息可以包括第一配置数据或第二配置数据。或者,参数生成装置中还可以存储有请求接口的模拟接口参数,该指示信息可以是在之前的Mock 服务中已生成的数据,当用户再一次启动Mock服务时,可以直接调用该指示信息并向参数请求端返回该模拟接口参数,而无需再进行其他的配置工作。
在本申请实施例中,用户可以通过配置页面输入相关的配置信息,由参数生成装置自动生成相应的模拟接口参数,还可以直接调用参数生成装置中已有的数据,配置方式灵活,实现了参数生成的自动化和智能化。同时,将配置信息按照第一配置数据、第二配置数据分别存储在参数生成装置中,实现了信息的分类和专属存储,提高了参数数据处理的效率。
在一种实现方式中,用户可以将其他用户已部署的针对同一目标应用的数据文件导入当前的参数生成装置,该数据文件可以包括请求接口的配置信息和参数请求端的相关数据。
在一种实现方式中,请求接口的配置信息和参数请求端的相关数据文件可以采取远端存储的方式,从而实现远端同步的能力。或者,还可以配置远端的接口或者将相关数据存储于远端的数据库中进行备份。通过此种方式可以减少对于安全性和保密性要求不高的用户的使用步骤,还能降低数据丢失的风险。
S403:对获取得到的请求接口的配置信息进行合法性校验。
在一种实现方式中,待处理代码数据可以是基于动态语句输入的或者是基于内置函数输入的。基于动态语句输入的代码数据可以理解为用户按照Mock 的标准语法格式,在代码编辑框中输入的代码;基于内置函数输入的代码数据可以理解为,用户通过调用参数生成装置中内置的标准函数生成的代码数据。基于这两种不同形式的代码数据和用户输入的文件路径信息,参数生成装置会分别采用不同的校验方式。
可选的,若待处理代码数据是基于动态语句输入的,则对该待处理代码数据进行语法分析,确定待删除代码。然后,将待删除代码从待处理代码数据中删除,得到新的代码数据,将新的代码数据作为第一配置数据。其中,待删除代码包括冗余代码、错误代码、会产生沙箱逃逸的代码中的一种或者多种。
可选的,若待处理代码数据是基于内置函数输入的,则运行该待处理代码数据,生成请求接口的参考模拟接口参数。参数生成装置可以将该参考模拟接口参数返回给参数请求端,由用户或参数请求端中的装置判断该参考模拟接口参数是否满足请求接口的参数条件,若满足,则执行根据待处理代码数据生成第一配置数据的步骤。示例性的,请求接口的参数条件可以是代码能成功运行,或者是能够实现指定的功能。可选的,若该参考模拟接口参数不满足请求接口的参数条件,可以生成提醒信息,用于指示该待处理代码数据未通过校验,提醒用户可以重新配置代码数据。
可选的,若请求接口的配置信息是通过用户输入的文件路径信息获取得到的,参数生成装置可以根据该文件路径信息,查询数据库中是否存在与该文件路径信息匹配的文件数据,若存在,则执行根据该文件路径信息生成第二配置数据,并保存所述第二配置数据的步骤;若不存在匹配的文件数据,则可以生成提醒信息,用于指示该文件路径添加失败,提醒用户可以重新配置文件路径。
在本申请实施例中,对请求接口的配置信息进行合法性验证有利于提高参数生成的效率和安全性。
S404:查询接口标识对应的请求接口的配置信息是否指示存在用于获取请求接口的模拟接口参数的第一配置数据。若该配置信息指示存在用于获取请求接口的模拟接口参数的第一配置数据,则执行S405,否则执行S406。
在本申请实施例中,参数生成装置按照优先级进行接口匹配。其中,第一配置数据的优先级高于第二配置数据,优先查询在装置的数据库中是否存在与该接口请求的配置信息所匹配的第一配置数据。其中,该第一配置数据包括目标代码数据。首先获取该目标代码数据,通过运行该目标代码数据生成请求接口的模拟接口参数。其中,该目标代码数据可以包括基于内置函数代码生成的代码数据或者基于动态语句生成的代码数据。
S405:判断第一配置数据是基于内置函数输入的代码数据还是基于动态语句生成的代码数据,根据不同形式的代码数据,采取不同的参数生成方式。
其中,若第一配置数据是基于内置函数输入的代码数据,则根据该基于内置函数输入的代码数据,运行代码从而生成响应结果,该响应结果中包括模拟接口参数。可选的,内置函数可以是集成在参数生成装置中的具有固定格式的功能函数,还可以是用户配置在参数生成装置中的常用函数。
若第一配置数据是基于动态语句生成的,则可以调用沙箱模块将目标代码数据中满足替换条件的代码替换为标准的功能函数代码,并运行调整后的目标代码数据,从而生成请求接口的模拟接口参数。其中,功能函数代码可以是内置在参数生成工具中,已经过验证能够实现相应功能的所实现的功能的函数代码,并且所实现的功能与满足替换条件的代码所实现的功能相匹配。示例性的,上述满足替换条件的代码可以为能够采用功能函数实现相同或相似功能的代码,还可以是需要采用功能函数替换在合法性校验步骤中被删除的代码等。
在一种实现方式中,可以采用在Electron平台中,Node.js环境下的VM (VirtualManufacturing)模块来实现沙箱功能,如图6所示。图6展示了在沙箱环境中,如何根据基于动态语句生成的代码数据生成模拟接口参数:首先,沙箱环境会获取当前接口参数获取请求的上下文及该Mock服务运行时的上下文,然后判断该代码数据中是否存在满足替换条件的代码,若存在,则使用内置功能函数替换该满足替换调价男的代码,得到调整后的代码,通过运行调整后的代码生成模拟接口参数;若不存在满足替换条件的代码,则直接运行该代码,以生成模拟接口参数。
可选的,还可以使用第三方中模块来实现沙箱,例如VM2。VM2是一个比 VM功能更加完备的模块,能够提供更加完善的安全保障,但体积也比VM大。在实际的实现过程中,可以综合考虑功能的完备性、安全性和体积问题。需要说明的是,本申请对使用何种方式实现沙箱功能不作限定。
在本申请实施例中,可以采取两种输入第一配置数据的方式,使得配置更加灵活,便于为用户提供更有针对性的Mock服务。采用沙箱模块还可以避免大部分安全问题。
S406:若配置信息指示存在用于获取请求接口的模拟接口参数的第二配置数据,且不存在第一配置数据,则根据第二配置数据生成请求接口的模拟接口参数。若即不存在与配置信息匹配的第一配置数据,也不存在第二配置数据,则异常状态码,用于告知用户服务请求失败。可选的,还可以生成提示信息,用于提醒参数请求端重新发起接口参数获取请求或检查配置信息是否有误。
在一种实现方式,第二配置数据可以包括文件路径信息,参数生成装置通过获取文件路径信息,可以按照文件路径信息查找与接口参数请求匹配的参数文件,若该参数文件存在,则从该参数文件中获取请求接口的模拟接口参数。可选的,用户可以在现网环境或预发布环境中,抓取到与目标应用运行相关的真实数据,将其存储为静态数据文件格式,参数生成装置可以根据用户配置的文件路径查询到相关的参数文件。其中,静态数据文件格式可以是JavaScript对象简谱(JavaScript Object Notation,JSON)或者可扩展标记语言(Extensible Markup Language,XML)等文件格式。可选的,若根据文件路径信息未找到匹配的参数文件,则可以生成提示信息,该提示信息可用于提醒用户检查文件路径信息是否有误,或者可用于提醒用户服务请求失败。
在本申请实施例中,可以为用户提供现有的静态文件中的真实数据进行 Mock服务,增加了参数生成的准确性,为用户的开发测试等工作提供了真实可靠的数据支持。
S407:向参数请求端返回携带模拟接口参数的指示信息或异常状态码,指示参数请求端基于模拟接口参数运行目标应用。
在本申请实施例中,通过Electron的跨平台解决方案,可以为使用不同操作系统的用户提供相同的接口参数模拟生成服务,便于用户在不同平台中切换的交互工作。同时,通过在执行服务前的语法分析,以及运行时调用沙箱模块,能够避免大部分潜在的安全问题。本申请实施例中的参数生成方法可以解决在前后端分离的开发模式中,前端对后端依赖程度过高的问题,提高了开发测试的效率。
在一种实现方式中,在参数生成装置可以为不用的项目设置不同的端口以实现同时启动多个项目且互不影响。由于Electron中的Node.js环境为单线程应用,所以在实现多端口并存的情况时,可以采用子进程模型。请参阅图7a,图 7a为本申请实施例提供的一种项目管理界面的示意图,图中包括新增项目图标、导入图标和导出图标,还包括了已创建的项目A至项目F,每一个项目下方都有一个启动图标和一个编辑图标。用户可以点击新增项目图标以创建一个新的项目,还可以点击导出图标并选择项目,导出所选择项目的配置信息和相关数据,例如项目启动端口信息。若用户点击导入图标,则可以将新增项目的相关数据导入Mock工具。当用户点击项目A下方的启动标识,则可以调动Mock 工具为该项目中的参数请求接口提供参数生成服务。若用户点击编辑图标,则可以选择删除该项目,或者选择进入项目A的项目详情界面,如图7b所示。
请参阅图7b,图7b为本申请实施例提供的一种项目详情页界面的示意图。图中展示的是项目A的项目详情,包括新增图标、刷新图标。在此界面中,还展示了该项目的应用程序接口(Application Programming Interface,API),即上述方法中的参数请求接口,以及各个API对应的请求方式、响应数据、创建时间和操作内容,在图中以方框表示其内容。一个项目可以有多个API。用户可以点击新增图标为此项目添加新的API,还可以点击刷新图标刷新此界面,获取新的项目信息。
在一种实现方式中,参数请求端的一个项目对应一个服务端口,而一个项目中可能包括多个API请求接口,可以为不同的请求设置分组进行区分。为了能够同时为多个请求接口提供服务,可以采用集群Cluster模块,通过创建子进程的模式创建一个集群,每个子进程负责一个请求端口的服务。同时该模块允许多个子进程监听同一个端口,当参数请求端发起接口参数请求,就由主进程负责为子进程分发请求和进行资源控制。其中,子进程与主进程之间可以通过IPC通信,同时还能实现子进程之间互不干扰。采用此种方式,可以实现同时为多个项目提供Mock服务,提升开发测试的效率和平台的利用率,同时也保证了项目的安全性。可选的,为了合理地分配资源,可以限制同时启动的进程数量,在达到该进程数量上限后,若还需启动新的进程,则可以提示用户由于达到上限无法启动新进程,或者可以提示用户修改进程数量上限。可选的,为了防止在进程的运行过程中产生进程逃逸问题,可以采用Proxy代理全局模块,同时还能隔离主进程和子进程,实现项目隔离,提高安全性。
在一种实现方式中,参数生成装置可以实现多个项目(如应用程序)共存,为多个项目同时提供服务,其中,一个项目对应一个参数请求端,一个参数请求端可以发起多个接口参数请求。用户可以通过为不同的项目设置不同的服务启动端口来实现同时启动多个项目且互不影响。可选的,当参数生成装置部署在Electron平台中的Node环境中时,由于Node的主线程是单线程架构,可以启动多进程来实现多项目共存。请参阅图8a,8a为本申请提供的一种多项目共存实现模式的示意图。采用主从(Master-Worker)模式,主进程(master)不负责具体的业务处理,而是负责调度和管理工作进程,工作进程(worker)负责具体的业务处理。在本申请实施例中,主进程负责对接收到的接口参数请求进行调度、分配给相应的工作进程,工作进程则负责根据相应的配置信息,生成匹配的模拟接口参数。
在一种实现方式中,请参阅图8b,图8b为本申请提供的一种集群架构的示意图。图中包括请求客户端(client)、集群(cluster),其中集群中包含了路由 (router)、主进程(master)、代理(dealer)和多个工作进程(worker)。采用图8b所示的架构,可以利用生成装置的多核提升服务质量。其中,请求客户端向集群发送多个接口参数获取请求,由集群中的路由对多个接口参数获取请求进行路由转发,主进程负责对多个接口参数进行调度、分配,并通过代理进行隔离,工作进程负责根据相应的配置信息,生成匹配的模拟接口参数。参数生成装置可以实现在同一服务端口中为不同的请求接口服务。
在本申请实施例中,用户可以为不同的应用程序接口,如参数请求接口设置分组和公共前缀,以公共前缀表明属于哪一个服务端口,通过分组来区分每个参数请求接口。
可以理解的是,在本申请的具体实施方式中,涉及到第一配置数据、第二配置数据、目标代码数据以及文件路径信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,相关数据均需要获得相关用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
请参阅图9,图9为本申请实施例提供的一种参数生成装置的示意图。其中,参数生成装置900包括接收单元901、处理单元902和发送单元903。其中:
接收单元901:用于接收参数请求端发送的接口参数获取请求,该接口参数获取请求携带与目标应用相关的接口标识;
处理单元902:用于查询接口标识对应的请求接口的配置信息,若该配置信息指示存在用于获取该请求接口的模拟接口参数的第一配置数据,则根据第一配置数据生成该请求接口的模拟接口参数;若配置信息指示存在用于获取该请求接口的模拟接口参数的第二配置数据,且不存在第一配置数据,则根据第二配置数据生成该请求接口的模拟接口参数;
发送单元903,用于向参数请求端返回携带上述模拟接口参数的指示信息,该指示信息用于指示参数请求端基于该模拟接口参数运行上述目标应用。
在一种实现方式中,接收单元901还用于获取第一配置数据,该第一配置数据包括目标代码数据。接收单元901还用于获取目标代码数据。处理单元902 还用于运行该目标代码数据,生成该请求接口的模拟接口参数。其中,目标代码数据可以包括基于内置函数代码生成的代码数据或者基于动态语句生成的代码数据。
在一种实现方式中,处理单元902还用于若接收单元901获取的目标代码数据是基于动态语句生成的,则调用沙箱模块将目标代码数据中满足替换条件的代码替换为标准的功能函数代码,并运行调整后的目标代码数据,从而生成请求接口的模拟接口参数。其中,功能函数代码所实现的功能与满足替换条件的代码所实现的功能相匹配。
在一种实现方式中,接收单元901获取到的第二配置数据可以包括文件路径信息,该文件路径信息所对应的参数文件中记录有请求接口的模拟接口参数。处理单元902还用于获取文件路径信息,按照该文件路径信息查询参数文件,并从参数文件中获取请求接口的模拟接口参数。
在一种实现方式中,处理单元902还用于显示配置界面,该配置界面包括与请求接口相关的代码编辑框和文件路径编辑框。处理单元902还用于若获取到针对代码编辑框输入的待处理代码数据,则根据该待处理代码数据生成第一配置数据,并保存该第一配置数据。处理单元902还用于若获取到针对文件路径编辑框输入的文件路径信息,则根据该文件路径信息生成第二配置数据,并保存该第二配置数据。
在一种实现方式中,处理单元902还用于若待处理代码数据是基于动态语句输入的,则对该待处理代码数据进行语法分析,确定待删除代码;将待删除代码从待处理代码数据中删除,得到新的代码数据;根据新的代码数据生成第一配置数据。其中,待删除代码包括冗余代码、错误代码、会产生沙箱逃逸的代码中的一种或者多种。
在一种实现方式中,处理单元902还用于若待处理代码数据是基于内置函数输入的,则运行该待处理代码数据,生成请求接口的参考模拟接口参数。处理单元902还用于若参考模拟接口参数满足请求接口的参数条件,则执行根据待处理代码数据生成第一配置数据的步骤。
基于同一发明构思,本申请实施例中提供的参数生成装置解决问题的原理与有益效果可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
请参阅图10,图10为本申请实施例提供的一种计算机设备的结构示意图。其中,该设备1000包括收发器1001、处理器1002和存储器1003,收发器1001、处理器1002和存储器1003通过一条或多条通信总线连接。存储器1003中存储有计算机程序,处理器1002可执行存储器1003中存储的计算机程序,实现如上述任一实施例中的参数生成方法的步骤。
其中,收发器1001可用于接收参数请求端发送的接口参数获取请求。存储器1003可用于存储程序指令。处理器1002,用于调用存储器1003中存储的程序指令,以用于执行前述图3、图4对应实施例中参数生成装置所执行的步骤。
处理器1002可以是中央处理单元(Central Processing Unit,CPU),该处理器1002还可以是其他通用处理器、数字信号处理器(Digital Signal Processor, DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)或者其他可编程逻辑器件等。
存储器1003可以包括只读存储器和随机存取存储器,并向处理器1002提供指令和数据。存储器1003的一部分还可以包括非易失性随机存取存储器。
其中,收发器1001用于接收参数请求端发送的接口参数获取请求,该接口参数获取请求携带与目标应用相关的接口标识。
处理器1002用于查询接口标识对应的请求接口的配置信息,若该配置信息指示存在用于获取该请求接口的模拟接口参数的第一配置数据,则根据第一配置数据生成该请求接口的模拟接口参数;若配置信息指示存在用于获取该请求接口的模拟接口参数的第二配置数据,且不存在第一配置数据,则根据第二配置数据生成该请求接口的模拟接口参数。
收发器1001还用于向参数请求端返回携带上述模拟接口参数的指示信息,该指示信息用于指示参数请求端基于该模拟接口参数运行上述目标应用。
在一种实现方式中,收发器1001还用于获取第一配置数据,该第一配置数据包括目标代码数据。收发器1001还用于获取目标代码数据。处理器1002还用于运行该目标代码数据,生成该请求接口的模拟接口参数。其中,目标代码数据可以包括基于内置函数代码生成的代码数据或者基于动态语句生成的代码数据。其中,获取的第一配置数据保存于存储器1003中。
在一种实现方式中,处理器1002还用于若收发器1001获取的目标代码数据是基于动态语句生成的,则调用沙箱模块将目标代码数据中满足替换条件的代码替换为标准的功能函数代码,并运行调整后的目标代码数据,从而生成请求接口的模拟接口参数。其中,功能函数代码所实现的功能与满足替换条件的代码所实现的功能相匹配。其中,调整后的目标代码数据保存于存储器1003中。
在一种实现方式中,收发器1001获取到的第二配置数据可以包括文件路径信息,该文件路径信息所对应的参数文件中记录有请求接口的模拟接口参数。处理器1002还用于获取文件路径信息,按照该文件路径信息查询参数文件,并从参数文件中获取请求接口的模拟接口参数。
在一种实现方式中,处理器1002还用于显示配置界面,该配置界面包括与请求接口相关的代码编辑框和文件路径编辑框。处理器1002还用于若获取到针对代码编辑框输入的待处理代码数据,则根据该待处理代码数据生成第一配置数据,并保存该第一配置数据于存储器1003中。处理器1002还用于若获取到针对文件路径编辑框输入的文件路径信息,则根据该文件路径信息生成第二配置数据,并保存该第二配置数据于存储器1003中。
在一种实现方式中,处理器1002还用于若待处理代码数据是基于动态语句输入的,则对该待处理代码数据进行语法分析,确定待删除代码;将待删除代码从待处理代码数据中删除,得到新的代码数据;根据新的代码数据生成第一配置数据。其中,待删除代码包括冗余代码、错误代码、会产生沙箱逃逸的代码中的一种或者多种。
在一种实现方式中,处理器1002还用于若待处理代码数据是基于内置函数输入的,则运行该待处理代码数据,生成请求接口的参考模拟接口参数。处理器1002还用于若参考模拟接口参数满足请求接口的参数条件,则执行根据待处理代码数据生成第一配置数据的步骤。
基于同一发明构思,本申请实施例中提供的参数生成装置解决问题的原理与有益效果可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例中的参数生成方法的步骤。
上述计算机可读存储介质可以是前述任一实施例提供的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital, SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供一种计算机程序产品,计算机程序产品包括计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行如上各种可能的实施方式中的方法。因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
可以理解,上述场景仅是作为示例,并不构成对于本申请实施例提供的技术方案的应用场景的限定,本申请的技术方案还可应用于其他场景。例如,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (11)
1.一种参数生成方法,其特征在于,包括:
接收参数请求端发送的接口参数获取请求,所述接口参数获取请求携带与目标应用相关的接口标识;
查询所述接口标识对应的请求接口的配置信息,若所述配置信息指示存在用于获取所述请求接口的模拟接口参数的第一配置数据,则根据所述第一配置数据生成所述请求接口的模拟接口参数;
若所述配置信息指示存在用于获取所述请求接口的模拟接口参数的第二配置数据,且不存在所述第一配置数据,则根据所述第二配置数据生成所述请求接口的模拟接口参数;
向所述参数请求端返回携带所述模拟接口参数的指示信息,所述指示信息用于指示所述参数请求端基于所述模拟接口参数运行所述目标应用。
2.根据权利要求1所述的方法,其特征在于,所述第一配置数据包括目标代码数据,所述根据所述第一配置数据生成所述请求接口的模拟接口参数,包括;
获取所述目标代码数据;
运行所述目标代码数据,生成所述请求接口的模拟接口参数;
其中,所述目标代码数据包括基于内置函数代码生成的代码数据或者基于动态语句生成的代码数据。
3.根据权利要求2所述的方法,其特征在于,所述运行所述目标代码数据,生成所述请求接口的模拟接口参数,包括:
若所述目标代码数据是基于动态语句生成的,则调用沙箱模块将所述目标代码数据中满足替换条件的代码替换为标准的功能函数代码,并运行调整后的目标代码数据,从而生成所述请求接口的模拟接口参数;其中,所述功能函数代码所实现的功能与所述满足替换条件的代码所实现的功能相匹配。
4.根据权利要求1所述的方法,其特征在于,所述第二配置数据包括文件路径信息,所述文件路径信息所对应的参数文件中记录有所述请求接口的模拟接口参数;
所述根据所述第二配置数据生成所述请求接口的模拟接口参数,包括:
获取所述文件路径信息;
按照所述文件路径信息查询所述参数文件,从所述参数文件中获取所述请求接口的模拟接口参数。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
显示配置界面,所述配置界面包括与所述请求接口相关的代码编辑框和文件路径编辑框;
若获取到针对所述代码编辑框输入的待处理代码数据,则根据所述待处理代码数据生成所述第一配置数据,并保存所述第一配置数据;
若获取到针对所述文件路径编辑框输入的文件路径信息,则根据所述文件路径信息生成所述第二配置数据,并保存所述第二配置数据。
6.根据权利要求5所述的方法,其特征在于,所述根据所述待处理代码数据生成所述第一配置数据,包括:
若所述待处理代码数据是基于动态语句输入的,则对所述待处理代码数据进行语法分析,确定待删除代码;其中,所述待删除代码包括冗余代码、错误代码、会产生沙箱逃逸的代码中的一种或者多种;
将所述待删除代码从所述待处理代码数据中删除,得到新的代码数据;
根据所述新的代码数据生成所述第一配置数据。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述待处理代码数据是基于内置函数输入的,则运行所述待处理代码数据,生成所述请求接口的参考模拟接口参数;
若所述参考模拟接口参数满足所述请求接口的参数条件,则执行所述根据所述待处理代码数据生成所述第一配置数据的步骤。
8.一种参数生成装置,其特征在于,包括:
接收单元,用于接收参数请求端发送的接口参数获取请求,所述接口参数获取请求携带与目标应用相关的接口标识;
处理单元,用于查询所述接口标识对应的请求接口的配置信息,若所述配置信息指示存在用于获取所述请求接口的模拟接口参数的第一配置数据,则根据所述第一配置数据生成所述请求接口的模拟接口参数;若所述配置信息指示存在用于获取所述请求接口的模拟接口参数的第二配置数据,且不存在所述第一配置数据,则根据所述第二配置数据生成所述请求接口的模拟接口参数;
发送单元,用于向所述参数请求端返回携带所述模拟接口参数的指示信息,所述指示信息用于指示所述参数请求端基于所述模拟接口参数运行所述目标应用。
9.一种计算机设备,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器执行所述存储器中存储的计算机程序,实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质包括计算机程序,所述计算机程序当被处理器执行时,实现如权利要求1至7中任一项所述的方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或计算机指令被处理器执行时实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210025744.3A CN116467152A (zh) | 2022-01-11 | 2022-01-11 | 参数生成方法、装置、设备、存储介质及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210025744.3A CN116467152A (zh) | 2022-01-11 | 2022-01-11 | 参数生成方法、装置、设备、存储介质及计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116467152A true CN116467152A (zh) | 2023-07-21 |
Family
ID=87181189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210025744.3A Pending CN116467152A (zh) | 2022-01-11 | 2022-01-11 | 参数生成方法、装置、设备、存储介质及计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116467152A (zh) |
-
2022
- 2022-01-11 CN CN202210025744.3A patent/CN116467152A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110324169B (zh) | 一种接口管理的方法和装置 | |
CN104821954B (zh) | 一种跨平台远程过程调用方法 | |
CN104536890A (zh) | 测试系统、方法和装置 | |
CN112035344A (zh) | 多场景测试方法、装置、设备和计算机可读存储介质 | |
CN111475390A (zh) | 日志采集系统部署方法、装置、设备及存储介质 | |
CN102946415A (zh) | 一种移动终端本地应用的实现方法和装置 | |
CN113687858A (zh) | 配置文件的检查方法、装置、电子设备及存储介质 | |
CN116257438A (zh) | 接口测试用例的更新方法及相关设备 | |
CN111045652A (zh) | 配电网开发及服务系统 | |
CN110018835B (zh) | Yang模型配置数据处理方法及装置、终端设备及存储介质 | |
CN105447384B (zh) | 一种反监控的方法、系统及移动终端 | |
CN113778897A (zh) | 接口的自动测试方法、装置、设备及存储介质 | |
CN111414154A (zh) | 前端开发的方法、装置、电子设备和存储介质 | |
CN115878860A (zh) | 一种菜单的生成方法、装置、服务器设备及介质 | |
CN116467152A (zh) | 参数生成方法、装置、设备、存储介质及计算机程序产品 | |
CN109739666A (zh) | 单例方法的跨进程调用方法、装置、设备及存储介质 | |
CN111488286B (zh) | 一种Android模块独立开发的方法及装置 | |
CN111475198B (zh) | 一种网络服务器的拟态化方法及装置 | |
CN109117152B (zh) | 服务生成系统及方法 | |
CN105610908B (zh) | 一种基于安卓设备的samba服务实现方法及系统 | |
CN110191141B (zh) | 服务调用信息处理方法、装置及计算机系统 | |
CN116088855B (zh) | 开发方法、装置、电子设备和存储介质 | |
CN102075646A (zh) | 呼叫中心设备控制系统及方法 | |
CN101251824A (zh) | 测试公共对象请求代理结构的方法和测试工具 | |
CN117806662A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40089552 Country of ref document: HK |