CN111679980A - 后台数据模拟方法及装置 - Google Patents

后台数据模拟方法及装置 Download PDF

Info

Publication number
CN111679980A
CN111679980A CN202010495026.3A CN202010495026A CN111679980A CN 111679980 A CN111679980 A CN 111679980A CN 202010495026 A CN202010495026 A CN 202010495026A CN 111679980 A CN111679980 A CN 111679980A
Authority
CN
China
Prior art keywords
data
request
simulation
interaction request
data interaction
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
Application number
CN202010495026.3A
Other languages
English (en)
Inventor
庞健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bank of China Ltd
Original Assignee
Bank of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN202010495026.3A priority Critical patent/CN111679980A/zh
Publication of CN111679980A publication Critical patent/CN111679980A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种后台数据模拟方法及装置,其中该方法包括:拦截前端模块向后台发起的数据交互请求;根据数据交互请求,利用预设的假数据集,确定数据交互请求是否为模拟请求;其中,上述假数据集中记录有:数据交互请求是否为模拟请求的标识,模拟请求与响应模拟请求的模拟数据之间的对应关系;在确定数据交互请求为模拟请求的情况下,根据假数据集,确定数据交互请求对应的模拟数据;将该模拟数据发送至前端模块。该方法实现了无需后台,即可进行数据模拟,从而不需要多次重启后台,提高了数据模拟的效率;也无需搭建反向代理服务器,降低了开发成本。

Description

后台数据模拟方法及装置
技术领域
本发明涉及应用程序开发技术领域,尤其涉及一种后台数据模拟方法及装置。
背景技术
在应用程序的前端开发中,后台数据模拟一直是开发过程中不可少的一环,目前的常用方法,是通过后台来模拟业务数据。但这样做有以下几点问题:
当数据需要根据调试需求进行修改的时候,前端开发人员需要修改用来模拟业务数据的后台,而通常前端开发人员对后台的技术栈前端开发人员并不熟悉;
后台修改完数据后,需要重启后才能生效,当需要不停的调整数据的时候,需要不停重启后台,数据模拟的效率低;
前端项目连接后台模拟数据的时候,为解决跨域问题,还需要搭建反向代理服务器,但环境搭建成本高。
发明内容
本发明实施例提供一种后台数据模拟方法,用以提供一种仅前端可完成,效率高,成本低的后台数据模拟方法,该方法包括:
拦截前端模块向后台发起的数据交互请求;
根据所述数据交互请求,利用预设的假数据集,确定所述数据交互请求是否为模拟请求;其中,所述假数据集中记录有:数据交互请求是否为模拟请求的判断条件,模拟请求与响应模拟请求的模拟数据之间的对应关系;
在确定所述数据交互请求为模拟请求的情况下,根据所述假数据集,确定所述数据交互请求对应的模拟数据;
将所述数据交互请求对应的模拟数据发送至所述前端模块。
本发明实施例还提供一种后台数据模拟装置,用以提供一种仅前端可完成,效率高,成本低的后台数据模拟方法,该装置包括:
请求拦截模块,用于拦截前端模块向后台发起的数据交互请求;
请求判定模块,用于根据所述数据交互请求,利用预设的假数据集,确定所述数据交互请求是否为模拟请求;其中,所述假数据集中记录有:数据交互请求是否为模拟请求的判断条件,模拟请求与响应模拟请求的模拟数据之间的对应关系;
模拟数据确定模块,用于在确定所述数据交互请求为模拟请求的情况下,根据所述假数据集,确定所述数据交互请求对应的模拟数据;
结果反馈模块,用于将所述数据交互请求对应的模拟数据发送至所述前端模块。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述后台数据模拟方法。
本发明实施例也提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述后台数据模拟方法的计算机程序。
本发明实施例中,通过拦截前端模块向后台发起的数据交互请求;根据数据交互请求,利用预设的假数据集,确定该数据交互请求是否为模拟请求;在该数据交互请求为模拟请求的情况下,根据上述假数据集,确定该数据交互请求对应的模拟数据;将数据交互请求对应的模拟数据发送至前端模块;实现了无需后台,即可进行数据模拟,从而不需要多次重启后台,提高了数据模拟的效率;也无需搭建反向代理服务器,降低了开发成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中后台数据模拟方法的示意图。
图2为本发明实施例中步骤102的具体实施方法示意图。
图3为本发明一具体应用实施的后台数据模拟过程示意图。
图4为本发明实施例中后台数据模拟装置的示意图。
图5为本发明实施例中用于后台数据模拟的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种后台数据模拟方法,用以提供一种仅前端可完成,效率高,成本低的后台数据模拟方法,如图1所示,该方法包括:
步骤101:拦截前端模块向后台发起的数据交互请求;
步骤102:根据数据交互请求,利用预设的假数据集,确定数据交互请求是否为模拟请求;
步骤103:在确定数据交互请求为模拟请求的情况下,根据假数据集,确定数据交互请求对应的模拟数据;
步骤104:将该数据交互请求对应的模拟数据发送至前端模块。
其中,上述假数据集中记录有:数据交互请求是否为模拟请求的判断条件,模拟请求与响应模拟请求的模拟数据之间的对应关系。
由图1所示流程可以得知,本发明实施例中,通过拦截前端模块向后台发起的数据交互请求;根据数据交互请求,利用预设的假数据集,确定该数据交互请求是否为模拟请求;在该数据交互请求为模拟请求的情况下,根据上述假数据集,确定该数据交互请求对应的模拟数据;将模拟数据发送至前端模块;实现了无需后台,即可进行数据模拟,从而不需要多次重启后台,提高了数据模拟的效率;也无需搭建反向代理服务器,降低了开发成本。
具体实施时,首先拦截前端模块向后台发起的数据交互请求。由于前端与后台之间的通讯是基于XML Http Request的,后面简称XHR,本发明实施例中,数据交互请求具体指XHR请求,用于与服务器交互数据,是ajax功能实现所依赖的对象,是浏览器最底层的数据通信方法。
拦截前端模块向后台发起的数据交互请求后,根据该数据交互请求,利用预设的假数据集,确定上述数据交互请求是否为模拟请求。其中,假数据集中记录有:数据交互请求是否为模拟请求的判断条件,模拟请求与响应模拟请求的模拟数据之间的对应关系。具体实施例中,该判断条件为判断上述数据交互请求是否为模拟请求的条件,具体例如可以为数据交互请求的标识、数据交互请求来源或数据交互请求属性等。本发明实施例中,假数据集中预设有多组假数据,每组假数据包括:模拟请求的判断条件与该模拟请求对应的模拟数据。在实际的项目开发过程中,我们经常会用到一些假数据来方便调试程序,本发明具体实施例中,通过重写XHR来模拟后台的所有返回结果,得到假数据集中的模拟数据。
本发明实施例中,上述标识例如可以是数据交互请求的URL(Uniform ResourceLocator,统一资源定位符)或者上送参数,例如,比如www.test.com/method1属于模拟请求的标识,而www.test.com/method2属于真实请求的标识。
根据数据交互请求,利用预设的假数据集,确定数据交互请求是否为模拟请求,具体过程如图2所示,包括:
步骤201:在假数据集中,查找是否存在模拟请求的标识与上述数据交互请求的标识一致的假数据;
步骤202:若存在,则确定上述数据交互请求为模拟请求;
步骤203:若不存在,则确定上述数据交互请求为真实请求。
在确定上述数据交互请求为模拟请求的情况下,根据假数据集,确定该数据交互请求对应的模拟数据。具体实施时,将步骤201查找到的假数据中对应的模拟数据,确定为该数据交互请求对应的模拟数据。
将确定好的数据交互请求对应的模拟数据发送至前端模块,完成后台数据模拟。
下面给出一具体实例说明本发明实施例如何进行后台数据模拟。本例为应用该后台数据模拟方法所设计的软件程序,主要包括以下几个模块:
前端业务模块:用于调用发起向后台进行数据交互的XHR请求。
假数据模块:存储了多组假数据,每组假数据包含了模拟请求的标识(比如按URL来匹配)和对应的模拟数据。
请求路由模块:用于调用假数据模块,判断该XHR请求是“真实请求”还是“模拟请求”。
请求替换模块:用于根据请求路由模块的返回结果,如果是真实请求,则直接将该XHR请求发送给后台;如果是模拟请求,则调用假数据模块,返回该XHR请求对应的模拟数据。
前端业务模块:用于收到返回的数据。
为了实现无侵入性的模拟后台请求,需要完全模拟浏览器最底层的数据通信方法XML Http Request模块(XHR模块),具体过程如图3所示。调用XHR模块的方法,首先通过路由模块的判断,真实请求则直接调用XHR模块向后台发起数据请求;模拟请求,则需要重写XHR模块的所有方法,调取假数据集中对应的模拟数据,来模拟XHR模块的所有返回结果,来实现假数据的模拟。
通过拦截XHR请求,并通过纯前端语言来模拟XHR请求的返回结果,从而把真实的XHR请求代理到本地,因而就不需要一个真实的后台来返回模拟数据,通过前端运行的Javascript代码,就可以实现XHR请求的模拟。并且这个过程对于发起XHR请求的代码是无侵入性的,不用修改原有业务代码就可以实现业务数据的模拟。从而实现了模拟假数据无需后台,纯前端就可以做到;修改数据也就是修改模拟数据的Javascript(简称JS)代码,只需要刷新页面就可以更新。
上述具体应用的实施仅为举例,其余实施方式不再一一赘述。
基于同一发明构思,本发明实施例还提供一种后台数据模拟装置,由于后台数据模拟装置所解决问题的原理与后台数据模拟方法相似,因此后台数据模拟装置的实施可以参见后台数据模拟方法的实施,重复之处不再赘述,具体结构如图4所示:
请求拦截模块401,用于拦截前端模块向后台发起的数据交互请求;
请求判定模块402,用于根据数据交互请求,利用预设的假数据集,确定数据交互请求是否为模拟请求;其中,上述假数据集中记录有:数据交互请求是否为模拟请求的判断条件,模拟请求与响应模拟请求的模拟数据之间的对应关系;
模拟数据确定模块403,用于在确定数据交互请求为模拟请求的情况下,根据上述假数据集,确定该数据交互请求对应的模拟数据;
结果反馈模块404,用于将上述数据交互请求对应的模拟数据发送至前端模块。
具体实施例中,上述假数据集中预设有多组假数据,多组假数据中的每组假数据包括:模拟请求的标识与该模拟请求对应的模拟数据。
具体实施时,请求判定模块402具体用于:
在上述假数据集中,查找是否存在模拟请求的标识与数据交互请求的标识一致的假数据;
若存在,则确定该数据交互请求为模拟请求;
若不存在,则确定该数据交互请求为真实请求。
具体实施中,模拟数据确定模块403具体用于:
将查找到的假数据中对应的模拟数据,确定为该数据交互请求对应的模拟数据。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述后台数据模拟方法。
本发明实施例还提供一种计算机可读存储介质,存储有执行上述后台数据模拟方法的计算机程序。
本发明实施方式还提供了一种电子设备,具体可以参阅图5所示的基于本申请实施例提供的后台数据模拟电子设备组成结构示意图,电子设备具体可以包括拦截设备501、处理器502、返回设备503。其中,拦截设备501具体可以用于拦截前端模块向后台发起的数据交互请求。处理器502具体可以用于根据数据交互请求,利用预设的假数据集,确定数据交互请求是否为模拟请求;在确定数据交互请求为模拟请求的情况下,根据假数据集,确定数据交互请求对应的模拟数据。返回设备503具体可以用于将数据交互请求对应的模拟数据发送至前端模块。
综上所述,本发明实施例提供的后台数据模拟方法及装置具有如下优点:
通过拦截前端模块向后台发起的数据交互请求;根据数据交互请求,利用预设的假数据集,确定该数据交互请求是否为模拟请求;在该数据交互请求为模拟请求的情况下,根据上述假数据集,确定该数据交互请求对应的模拟数据;将该数据交互请求对应的模拟数据发送至前端模块;实现了无需后台,即可进行数据模拟,从而不需要多次重启后台,提高了数据模拟的效率;也无需搭建反向代理服务器,降低了开发成本。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种后台数据模拟方法,其特征在于,包括:
拦截前端模块向后台发起的数据交互请求;
根据所述数据交互请求,利用预设的假数据集,确定所述数据交互请求是否为模拟请求;其中,所述假数据集中记录有:数据交互请求是否为模拟请求的判断条件,模拟请求与响应模拟请求的模拟数据之间的对应关系;
在确定所述数据交互请求为模拟请求的情况下,根据所述假数据集,确定所述数据交互请求对应的模拟数据;
将所述数据交互请求对应的模拟数据发送至所述前端模块。
2.如权利要求1所述的方法,其特征在于,所述假数据集中预设有多组假数据,所述多组假数据中的每组假数据包括:模拟请求的标识与该模拟请求对应的模拟数据。
3.如权利要求2所述的方法,其特征在于,根据所述数据交互请求,利用预设的假数据集,确定所述数据交互请求是否为模拟请求,包括:
在所述假数据集中,查找是否存在模拟请求的标识与所述数据交互请求的标识一致的假数据;
若存在,则确定所述数据交互请求为模拟请求;
若不存在,则确定所述数据交互请求为真实请求。
4.如权利要求3所述的方法,其特征在于,根据所述假数据集,确定所述数据交互请求对应的模拟数据,包括:
将查找到的假数据中对应的模拟数据,确定为所述数据交互请求对应的模拟数据。
5.一种后台数据模拟装置,其特征在于,包括:
请求拦截模块,用于拦截前端模块向后台发起的数据交互请求;
请求判定模块,用于根据所述数据交互请求,利用预设的假数据集,确定所述数据交互请求是否为模拟请求;其中,所述假数据集中记录有:数据交互请求是否为模拟请求的标识,模拟请求与响应模拟请求的模拟数据之间的对应关系;
模拟数据确定模块,用于在确定所述数据交互请求为模拟请求的情况下,根据所述假数据集,确定所述数据交互请求对应的模拟数据;
结果反馈模块,用于将所述模拟数据发送至所述前端模块。
6.如权利要求5所述的装置,其特征在于,所述假数据集中预设有多组假数据,所述多组假数据中的每组假数据包括:模拟请求的标识与该模拟请求对应的模拟数据。
7.如权利要求6所述的装置,其特征在于,所述请求判定模块具体用于:
在所述假数据集中,查找是否存在与所述数据交互请求的标识一致的假数据;
若存在,则确定所述数据交互请求为模拟请求;
若不存在,则确定所述数据交互请求为真实请求。
8.如权利要求7所述的装置,其特征在于,所述模拟数据确定模块具体用于:
将查找到的假数据中对应的模拟数据,确定为所述数据交互请求对应的模拟数据。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至4任一所述方法的计算机程序。
CN202010495026.3A 2020-06-03 2020-06-03 后台数据模拟方法及装置 Pending CN111679980A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010495026.3A CN111679980A (zh) 2020-06-03 2020-06-03 后台数据模拟方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010495026.3A CN111679980A (zh) 2020-06-03 2020-06-03 后台数据模拟方法及装置

Publications (1)

Publication Number Publication Date
CN111679980A true CN111679980A (zh) 2020-09-18

Family

ID=72434703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010495026.3A Pending CN111679980A (zh) 2020-06-03 2020-06-03 后台数据模拟方法及装置

Country Status (1)

Country Link
CN (1) CN111679980A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681922A (zh) * 2016-12-27 2017-05-17 广州唯品会信息科技有限公司 模拟服务器响应方法及***
CN108345543A (zh) * 2018-03-02 2018-07-31 财付通支付科技有限公司 一种数据处理方法、装置、设备及存储介质
US20180285490A1 (en) * 2017-03-31 2018-10-04 Change Healthcare Holdings, Llc Method, apparatus, and computer program product for simulating client and application interface integration
CN110597709A (zh) * 2019-08-13 2019-12-20 平安国际智慧城市科技股份有限公司 混合模式移动应用的交互调试方法、装置和计算机设备
CN111159039A (zh) * 2019-12-30 2020-05-15 中信百信银行股份有限公司 一种服务模拟方法、***、设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681922A (zh) * 2016-12-27 2017-05-17 广州唯品会信息科技有限公司 模拟服务器响应方法及***
US20180285490A1 (en) * 2017-03-31 2018-10-04 Change Healthcare Holdings, Llc Method, apparatus, and computer program product for simulating client and application interface integration
CN108345543A (zh) * 2018-03-02 2018-07-31 财付通支付科技有限公司 一种数据处理方法、装置、设备及存储介质
CN110597709A (zh) * 2019-08-13 2019-12-20 平安国际智慧城市科技股份有限公司 混合模式移动应用的交互调试方法、装置和计算机设备
CN111159039A (zh) * 2019-12-30 2020-05-15 中信百信银行股份有限公司 一种服务模拟方法、***、设备和存储介质

Similar Documents

Publication Publication Date Title
CN108293081B (zh) 通过用户界面事件的程序重放深度链接到移动应用状态
CN110765024B (zh) 模拟测试方法、装置、电子设备和计算机可读存储介质
CN106648556B (zh) 前后端集成开发测试的方法及装置
US10831463B2 (en) Intelligent software deployment on an IaaS platform
EP1576487B1 (en) Web server hit multiplier and redirector
US9858094B2 (en) Monitoring and actuation of view controller parameters to reach deep states without manual developer intervention
CN111078539B (zh) 一种测试方法、装置、***、计算机可读存储介质
CN108255708B (zh) 测试环境中访问生产文件的方法、装置、存储介质及设备
CN110858172A (zh) 一种自动化测试代码生成方法和装置
CN108984202B (zh) 一种电子资源分享方法、装置和存储介质
CN108111364B (zh) 一种业务***的测试方法及装置
US20210117313A1 (en) Language agnostic automation scripting tool
CN111026634A (zh) 一种接口自动化测试***、方法、装置及存储介质
CN113704110A (zh) 用户界面的自动化测试方法及装置
CN114115904A (zh) 信息处理方法、装置、服务器及存储介质
CN112988588B (zh) 客户端软件调试方法、装置、存储介质及电子设备
CN114116509A (zh) 程序分析方法、装置、电子设备和存储介质
CN117632710A (zh) 测试代码的生成方法、装置、设备及存储介质
CN110209565A (zh) 一种元数据模型调试方法及其装置
CN111414154A (zh) 前端开发的方法、装置、电子设备和存储介质
CN113495723B (zh) 一种调用功能组件的方法、装置及存储介质
CN111338928A (zh) 基于chrome浏览器测试的方法及装置
CN111679980A (zh) 后台数据模拟方法及装置
CN110968497A (zh) 基于树形***的请求校验方法、装置、介质及电子设备
CN114564404A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200918