CN113157382A - 一种基于虚拟驱动的设备调用的方法和装置 - Google Patents
一种基于虚拟驱动的设备调用的方法和装置 Download PDFInfo
- Publication number
- CN113157382A CN113157382A CN202011490976.3A CN202011490976A CN113157382A CN 113157382 A CN113157382 A CN 113157382A CN 202011490976 A CN202011490976 A CN 202011490976A CN 113157382 A CN113157382 A CN 113157382A
- Authority
- CN
- China
- Prior art keywords
- virtual
- equipment
- data
- peripheral
- media
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了基于虚拟驱动的设备调用的方法和装置,涉及计算机技术领域。该方法的具体实施方式包括:确定被调用的目标设备的设备类型是否在虚拟外设服务范围内;若所述设备类型在虚拟外设服务范围内,则通过虚拟驱动调用相应的虚拟设备;若所述设备类型不在虚拟外设服务范围内,则调用实际设备。该实施方式简化了测试流程和复杂程度、降低测试成本、提高测试覆盖率和结果准确度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于虚拟驱动的设备调用的方法和装置。
背景技术
许多行业的厂商或者生产商都会涉及到大规模硬件的测试、使用。如家电、银行系统、物联网等,都有接入终端设备并进行功能测试或者业务测试的需求。以银行系统为例,银行柜面各类业务办理依赖于大量辅助外设的支持,例如通过二代证阅读仪读取身份证,通过IC卡读卡器读取客户银行卡芯片信息,通过支付密码器处理票据类业务。例如大型国有银行,业务需要使用到20种以上外部设备,超过50家供应商提供各品牌各型号设备。
因此,大型系统业务测试对外设的依赖性很强。目前外设集中布置在特定的测试场所,测试人员必须要特定的测试场所,或者配置足够的外设才能开展测试工作。然而,由于某些客观因素,业务人员在进行业务测试时没有足够的外设,无法对行内的业务系统进行正常的业务测试,验证业务功能。同时,由于外设类型多、设备品牌型号多、设备组合多以及设备更新频繁而存在诸多复杂性,每一个环境又需要大量的设备,导致搭建环境的周期也非常长,测试耗费的成本和资源都非常高。
在通常的业务、功能测试中,主要采取以下两种方式模拟接入设备的实际工作环境:
一是通过硬件实现,即将真实的接入终端经合理布局后接入设备,从而对接入设备进行各种测试、模拟接入设备后的实际业务工作环境。
二是通过软件实现,即接入“设备模拟接入终端的接入信号”,并对该信号进行处理,从而测试接入设备的各个参数。
现有技术中至少存在以下技术问题:
1、通过真实的接入终端测试接入设备,成本高,操作复杂,通用性差;
2、通过软件模拟接入设备的工作环境,通常该方案的虚拟驱动组合比较单一;或者是直接根据某一场景定制,每个场景使用一套特定的虚拟驱动组合,这样就影响了虚拟驱动的通用性,增加了测试成本,影响用户体验。
发明内容
有鉴于此,本发明实施例提供一种基于虚拟驱动的设备调用的方法和装置,优化了软件模拟外设接入的方案,开发出一种基于虚拟驱动的设备调用模拟方法和装置。封装了多类型多种虚拟外设的驱动,通过虚拟驱动替代真实驱动,用于在业务测试时模拟外设的调用。调用虚拟外设时,虚拟外设服务会向服务器请求预埋的数据/介质,并将数据/介质信息返回给客户端,模拟真实设备接入客户端进行的数据/介质交互。
为实现上述目的,根据本发明实施例的一个方面,提供了一种基于虚拟驱动的设备调用的方法。
根据本发明实施例的方面的基于虚拟驱动的设备调用的方法,包括:
确定被调用的目标设备的设备类型是否在虚拟外设服务范围内;
若所述设备类型在虚拟外设服务范围内,则通过虚拟驱动调用相应的虚拟设备;
若所述设备类型不在虚拟外设服务范围内,则调用实际设备。
根据本发明实施例的方面的基于虚拟驱动的设备调用的方法,所述确定被调用的目标设备的设备类型是否在虚拟化外设服务范围内,包括:
在所述目标设备的调用handler处设置拦截器,通过所述拦截器读取设备调用参数中的设备类型。
根据本发明实施例的方面的基于虚拟驱动的设备调用的方法,还包括:
若所述设备类型属于虚拟外设服务范围,则读取对应的虚拟驱动路径;
若所述设备类型不属于虚拟外设服务范围,则读取对应的实际驱动路径。
根据本发明实施例的方面的基于虚拟驱动的设备调用的方法,在确定所述目标设备是虚拟设备,通过虚拟驱动调用虚拟设备后,所述方法还包括:
所述虚拟驱动向服务器请求调用所述虚拟设备的模拟业务数据;
从服务器接收相应虚拟设备的模拟数据;
经由虚拟设备接口将所述模拟数据返回客户端以供测试。
根据本发明实施例的方面的基于虚拟驱动的设备调用的方法,还包括:
在所述虚拟驱动向服务器请求调用所述虚拟设备的模拟业务数据之前,确定进行正常测试还是异常测试,并向服务器请求响应的模拟业务数据。
根据本发明实施例的方面的基于虚拟驱动的设备调用的方法,其中,所述目标设备属于至少以下中的一种或多种:
信息录入类设备;
介质类设备;
打印类设备。
根据本发明实施例的方面的基于虚拟驱动的设备调用的方法,其中,在所述目标设备属于信息录入类设备时,所述方法还包括:
向用户弹出操作界面以用于接收用户交互操作;
将所述用户交互操作结果按照虚拟驱动接口定义的数据结构返回;
由虚拟设备服务返回操作界面。
根据本发明实施例的方面的基于虚拟驱动的设备调用的方法,其中,在所述目标设备属于介质类设备时,所述方法还包括:
由虚拟设备弹出介质索引界面,基于用户输入选择被调用的介质以触发埋点数据;
向介质库请求介质数据,并通过相应接口从介质库接收相应的介质数据;
其中,所述介质数据是介质库根据索引信息和参数生成的。
根据本发明实施例的方面的基于虚拟驱动的设备调用的方法,其中,在所述目标设备属于打印类设备时,所述方法还包括:
生成图片或PDF打印预览文件以用于返回打印结果。
为实现上述目的,根据本发明实施例的一个方面,提供了一种基于虚拟驱动的设备调用的装置。
根据本发明实施例的方面的基于虚拟驱动的设备调用的装置,包括:
虚拟外设服务模块,用于确定被调用的目标设备的设备类型是否在虚拟外设服务范围内;
虚拟驱动模块,用于:
若所述设备类型在虚拟外设服务范围内,则通过虚拟驱动调用相应的虚拟设备;
若所述设备类型不在虚拟外设服务范围内,则调用实际设备。
根据本发明实施例的方面的基于虚拟驱动的设备调用的装置,所述虚拟外设服务模块具体用于:
在所述目标设备的调用handler处设置拦截器,通过所述拦截器读取设备调用参数中的设备类型。
根据本发明实施例的方面的基于虚拟驱动的设备调用的装置,所述虚拟驱动模块具体用于:
若所述设备类型属于虚拟外设服务范围,则读取对应的虚拟驱动路径;
若所述设备类型不属于虚拟外设服务范围,则读取对应的实际驱动路径。
根据本发明实施例的方面的基于虚拟驱动的设备调用的装置,所述虚拟驱动模块还用于:
在确定所述目标设备是虚拟设备,通过虚拟驱动调用虚拟设备后:
向服务器请求调用所述虚拟设备的模拟业务数据;
从服务器接收相应虚拟设备的模拟数据;
经由虚拟设备接口将所述模拟数据返回客户端以供测试。
根据本发明实施例的方面的基于虚拟驱动的设备调用的装置,其中,所述虚拟外设服务模块还用于:
在所述虚拟驱动向服务器请求调用所述虚拟设备的模拟业务数据之前,确定进行正常测试还是异常测试,并向服务器请求响应的模拟业务数据。
根据本发明实施例的方面的基于虚拟驱动的设备调用的装置,其中,所述目标设备属于至少以下中的一种或多种:
信息录入类设备;
介质类设备;
打印类设备。
根据本发明实施例的方面的基于虚拟驱动的设备调用的装置,其中,在所述目标设备属于信息录入类设备时,所述虚拟驱动模块还用于:
向用户弹出操作界面以用于接收用户交互操作;
将所述用户交互操作结果按照虚拟驱动接口定义的数据结构返回;
由虚拟设备服务返回操作界面。
根据本发明实施例的方面的基于虚拟驱动的设备调用的装置,其中,在所述目标设备属于介质类设备时,所述虚拟驱动模块还用于:
弹出介质索引界面,基于用户输入选择被调用的介质以触发埋点数据;
向介质库请求介质数据,并通过相应接口从介质库接收相应的介质数据;
其中,所述介质数据是介质库根据索引信息和参数生成的。
根据本发明实施例的方面的基于虚拟驱动的设备调用的装置,其中,在所述目标设备属于打印类设备时,所述虚拟驱动模块还用于:
生成图片或PDF打印预览文件以用于返回打印结果。
为实现上述目的,根据本发明实施例的一个方面,提供了一种基于虚拟驱动的设备调用的电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如前述方法中任一所述的方法。
为实现上述目的,根据本发明实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如前述方法中任一所述的方法
上述发明中的一个实施例具有如下优点或有益效果:因为采用外设驱动虚拟化来模拟多种测试场景的技术手段,使得能够简化测试流程和复杂程度、降低测试成本、提高测试覆盖率和结果准确度。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的基于虚拟驱动的设备调用的方法的主要流程的示意图;
图2是根据本发明实施例的基于虚拟驱动的设备调用的系统示意图;
图3是根据本发明实施例的基于虚拟驱动的设备调用的方法的界面示意图;
图4是根据本发明实施例的基于虚拟驱动的设备调用的方法的另一界面示意图;
图5是根据本发明实施例的基于虚拟驱动的设备调用的另一方法示意图;
图6是根据本发明实施例的基于虚拟驱动的设备调用的方法的另一界面示意图;
图7是根据本发明实施例的基于虚拟驱动的设备调用的另一方法示意图;
图8是根据本发明实施例的基于虚拟驱动的设备调用的方法的另一界面示意图;
图9a-9c是根据本发明实施例的基于虚拟驱动的设备调用的方法的另一界面示意图;
图10是根据本发明实施例的基于虚拟驱动的设备调用的另一方法的流程图;
图11是根据本发明实施例的基于虚拟驱动的设备调用的装置的主要模块的示意图;
图12是本发明实施例可以应用于其中的示例性系统架构图;
图13是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本项目则主要针对该需求,以及处于未来业务测试降低依赖外设的考虑,提出了对柜面常用外设虚拟化的方案来解决遇到的问题。
1)、简化业务测试的流程和复杂程度,降低测试的人力成本和时间成本;
2)、虚拟驱动可以模拟多种测试场景,包括正常测试模拟和异常测试模拟,提高测试用例覆盖率;
3)、封装了多类型、多种虚拟外设驱动,提高测试通用性;
4)、真实虚拟仿真模拟了真实外设的真实返回数据和响应时间;支持外设简单异常模拟,如超时/未刷卡等。能够产生外设调用异常信息,以便于进行反案例验证。
5)、实现了介质的虚拟化,构建了介质库,并对虚拟化的介质进行了管理,减少了测试对实体介质的依赖。
首先说明本文涉及的术语。
外设:是外部设备的简称,是指连在计算机主机以外的硬件设备,按照功能的不同,大致可以分为输入设备、显示设备、打印设备、外部存储器和网络设备五大类。本文提到的外设、设备,都是指外部设备。
埋点:埋点是互联网领域非常重要的数据信息获取方式。当用户的行为满足某种条件后,比如进入某个界面,点击某个button,会自动触发埋点,将埋点采集到的数据进行上报的过程。本发明中的埋点特指在程序和数据库交互的界面进行埋点。
预埋数据:在性能测试过程中,通过向数据库中预埋一定量根据业务逻辑生成合理的数据,模拟生产环境,使测试结果能够准确反映系统的性能状况。
Handler:主要用于异步消息的处理,当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分在消息队列中逐一将消息取出,然后对消息进行处理,也就是发送消息和接收消息不是同步的处理。这种机制通常用来处理相对耗时比较长的操作。
图1是根据本发明实施例的基于虚拟驱动的设备调用的方法的流程示意图,如图1所示,基于虚拟驱动的设备调用的方法包括步骤S101、 S102、S103。
在一种实施方式中,基于虚拟驱动的设备调用的方法可以由虚拟外设服务组件和虚拟驱动在客户端来实现,如图2所示。以下步骤基于图2的系统示例来描述。该系统示例包括,通过远程控制协议进行通信的客户端和服务器,该客户端具有外设服务组件并支持虚拟驱动控制,该虚拟驱动搭载了支持多款虚拟外设的驱动包,可满足大部分的业务测试流程需要。服务器收到客户端的消息后,会向客户端返回相应虚拟外设的模拟数据,虚拟外设通过接口将数据返回给客户端,从而方便业务员在客户端进行整体业务功能的测试。
在一种实施方式中,用户进行测试之前,首先在客户端的外设服务组件配置测试业务所需虚拟外设的参数,如设备可支持的功能类型、设备所属的厂家等。如图3所示示例,用户先选择了厂商、是否支持电子签名的参数。
测试用户启动客户端进行业务测试流程,当测试业务需要连接外设时,客户端的虚拟外设服务组件会判断是否有配置相应的外设的虚拟驱动,如果有配置虚拟外设驱动,客户端会调用虚拟驱动,虚拟驱动会通过远程协议向服务器发起调用相应虚拟外设的模拟业务数据请求。
服务器收到客户端的消息后,会向客户端返回相应虚拟外设的模拟数据,虚拟外设通过接口将数据返回给客户端,从而方便业务员在客户端进行整体业务功能的测试。具体方法参见步骤S101-S103。
步骤S101:确定被调用的目标设备的设备类型是否在虚拟外设服务范围内。
在外部设备测试时,虚拟外设服务组件首先确定要测试的目标设备,是用虚拟设备来测试,还是用实际设备来测试。那么,首先要判断被调用的目标设备的类型是否属于虚拟外设服务的范围。
在一种实施方式中,在虚拟外设服务组件的调用handler处增加拦截器。通过拦截器,读取外设调用参数中的设备类型,判断该类型是否在虚拟外设服务范围内。如果属于虚拟外设服务的范围,则读取对应的虚拟驱动路径,并直接将外设调用的目标驱动路径修改为虚拟驱动路径,然后再转入原来的外设调用流程;如果该设备类型不需要虚拟,则仍然按原流程继续执行。
步骤S102:若所述设备类型在虚拟外设服务范围内,则通过虚拟驱动调用相应的虚拟设备。
如前文所述,如果设备类型属于虚拟外设服务的范围,则读取对应的虚拟驱动路径,并直接将外设调用的目标驱动路径修改为虚拟驱动路径,然后再转入原来的外设调用流程。
优选地,用户可以选择正常测试和/或异常测试。在调用虚拟外设接口后,会在客户端出现弹窗界面,业务人员可根据测试场景选择:“正常测试”模拟或者“异常测试”模拟。
“异常模拟”即通过虚拟驱动与服务器进行数据交互,随机生成模拟设备异常的报文,如设备连接超时,未刷卡等情况,并将异常报文返回给客户端。异常报文示例如图4所示。需要说明的是,用户选择正常/异常测试也可以在步骤S102之前执行,例如在步骤S101之前执行,此处不做限定。
在用户选择“正常测试”后,进行虚拟测试业务流程。根据业务流程和被调用的外设的类型,虚拟驱动提供多种设备模拟方式。例如,以下面3种设备模拟方式为例进行说明。
第一类,信息录入类外设调用:该类设备被调用后,需要由客户在真实外设上进行人工操作产生信息,例如录入密码、确认交易信息等。
模拟方式:该类外设属于交互类设备,由测试用户完成交互的虚拟,操作步骤如图5所示:
信息录入类虚拟外设被调用后,会在客户端弹出操作界面(具体界面由模拟的外设功能决定),由测试人员通过界面操作产生信息。并将操作结果按照外设驱动接口定义的数据结构返回,最终由外设服务返回给界面。
信息输入类外设调用举例:业务测试流程需要调用密码键盘,并完成密码输入。点击“密码”按钮,弹出密码键盘输入框,测试人员在键盘录入交易密码,点击“确认”按钮,密码录入成功;点击“关闭”按钮,关闭密码键盘;点击“异常模拟”按钮,模拟异常提示信息。如图6示例所示。
第二类,介质类外设:例如读银行卡、读存折,信息依赖于实体测试介质。
模拟方式:该类外设属于介质类设备,原测试方式需要接入实体介质,这些实体介质依赖手工制作、人工管理。针对需要测试的介质类外部设备,通过介质管理界面和介质库来实现虚拟化。
模拟环境中:如图7所示,在介质库预先进行数据埋点,当客户端调用介质类外设时,虚拟外设会弹出介质索引界面,由测试人员选择需要调用的介质(例如卡号)触发埋点数据:虚拟外设服务会发送请求到介质库,介质库根据索引信息和其他参数,生成相应的介质数据,并通过相应接口返回给虚拟外设服务,从而完成测试。
介质类外设调用举例:如图8示例所示,业务测试流程需要客户刷磁条卡,由测试人员通过虚拟外设服务调用介质库中模拟的磁条卡数据完成刷卡的业务测试,操作步骤如下:
点击“磁条卡”按钮,弹框提示:“请先选择刷卡/刷折!”,选择刷卡方式和卡号(卡号支持模糊查询,输入部分账号点击键盘空格键。) 返显客户名称,点击“确认”按钮,磁条卡账号录入完成;点击“异常模拟”按钮,模拟异常提示信息。
第三类,打印类外设:该类操作原为调用打印机。
模拟方式:生成图片或PDF打印预览文件供测试人员查看,不打印出真实文件。
介质类外设调用举例:业务测试流程需要打印交易凭证,具体操作如下:
选择凭证回单,点击确认按钮,选择电子凭证保存路径,点击OK 按钮,电子凭证保存成功,弹出电子凭证PDF页面。如图9a、9b、9c 所示。
步骤S103:若所述设备类型不在虚拟外设服务范围内,则调用实际设备。
经过步骤S101判断设备类型不在虚拟外设服务范围内,则按原流程继续执行,例如读取实际设备的驱动路径,调用实际设备。
图10是根据本发明实施例的基于虚拟驱动的设备调用的另一方法的流程示意图。
如图10所示,测试人员启动客户端进行业务测试流程,当测试业务需要连接外设时,客户端的虚拟外设服务组件会通过拦截来自外设进程统一接入接口的消息判断是否有配置相应的外设的虚拟驱动,如果有配置虚拟外设驱动,客户端会调用虚拟驱动,虚拟驱动会通过远程协议向服务器发起调用相应虚拟外设的模拟业务数据请求。
服务器收到客户端的消息后,会向客户端返回相应虚拟外设的模拟数据,虚拟外设通过接口将数据返回给客户端,从而方便客户端进行整体业务功能的测试。
具体流程步骤如下:
步骤1:客户端进入业务功能流程测试,当办理业务需要接入外设时,虚拟外设服务组件启动调用的相应外设接口。
步骤2:在虚拟外设服务组件调用外设服务时,正常的外设调用接口被拦截,进入调用的外设类型判定:是否有相应的外设的虚拟驱动。
步骤3:如果有配置虚拟外设驱动,外设服务组件会优先调用虚拟驱动,并直接修改目标驱动路径为相应的虚拟外设驱动。
步骤4:无论调用虚拟外设驱动,还是调用实际外设驱动,方法流程都进行至原外设调用流程,以调用外设。
步骤5:调用信息输入类、介质类、打印类等设备进行测试。
图11是根据本发明实施例的基于虚拟驱动的设备调用的装置的示意图。
根据本发明实施例的基于虚拟驱动的设备调用的装置,包括:
虚拟外设服务模块,用于确定被调用的目标设备的设备类型是否在虚拟外设服务范围内;
虚拟驱动模块,用于:
若所述设备类型在虚拟外设服务范围内,则通过虚拟驱动调用相应的虚拟设备;
若所述设备类型不在虚拟外设服务范围内,则调用实际设备。
其中,所述虚拟外设服务模块具体用于:
在所述目标设备的调用handler处设置拦截器,通过所述拦截器读取设备调用参数中的设备类型。
其中,所述虚拟驱动模块具体用于:
若所述设备类型属于虚拟外设服务范围,则读取对应的虚拟驱动路径;
若所述设备类型不属于虚拟外设服务范围,则读取对应的实际驱动路径。
其中,所述虚拟驱动模块还用于:
在确定所述目标设备是虚拟设备,通过虚拟驱动调用虚拟设备后:
向服务器请求调用所述虚拟设备的模拟业务数据;
从服务器接收相应虚拟设备的模拟数据;
经由虚拟设备接口将所述模拟数据返回客户端以供测试。
其中,所述虚拟外设服务模块还用于:
在所述虚拟驱动向服务器请求调用所述虚拟设备的模拟业务数据之前,确定进行正常测试还是异常测试,并向服务器请求响应的模拟业务数据。
其中,所述目标设备属于至少以下中的一种或多种:
信息录入类设备;
介质类设备;
打印类设备。
其中,在所述目标设备属于信息录入类设备时,所述虚拟驱动模块还用于:
向用户弹出操作界面以用于接收用户交互操作;
将所述用户交互操作结果按照虚拟驱动接口定义的数据结构返回;
由虚拟设备服务返回操作界面。
其中,在所述目标设备属于介质类设备时,所述虚拟驱动模块还用于:
弹出介质索引界面,基于用户输入选择被调用的介质以触发埋点数据;
向介质库请求介质数据,并通过相应接口从介质库接收相应的介质数据;
其中,所述介质数据是介质库根据索引信息和参数生成的。
其中,在所述目标设备属于打印类设备时,所述虚拟驱动模块还用于:
生成图片或PDF打印预览文件以用于返回打印结果。
图12示出了可以应用本发明实施例的基于虚拟驱动的设备调用的方法或基于虚拟驱动的设备调用的装置的示例性系统架构1200。
如图12所示,系统架构1200可以包括终端设备1201、1202、1203,网络1204和服务器1205。网络1204用以在终端设备1201、1202、1203 和服务器1205之间提供通信链路的介质。网络1204可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备1201、1202、1203通过网络1204与服务器1205交互,以接收或发送消息等。终端设备1201、1202、1203上可以安装有各种通讯客户端应用,例如虚拟驱动类应用、虚拟外设服务应用等。
终端设备1201、1202、1203可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器1205可以是提供各种服务的服务器,例如对用户利用终端设备1201、1202、1203所浏览的虚拟外设测试应用提供支持的后台管理服务器。后台管理服务器可以对接收到的请求等数据进行分析等处理,并将处理结果反馈给终端设备。
需要说明的是,本发明实施例所提供的基于虚拟驱动的设备调用的方法一般由客户端执行,相应地,基于虚拟驱动的设备调用的装置一般设置于客户端中。
应该理解,图12中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图13,其示出了适于用来实现本发明实施例的终端设备的计算机系统1300的结构示意图。图13示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图13所示,计算机系统1300包括中央处理单元(CPU)1301,其可以根据存储在只读存储器(ROM)1302中的程序或者从存储部分 1308加载到随机访问存储器(RAM)1303中的程序而执行各种适当的动作和处理。在RAM 1303中,还存储有系统1300操作所需的各种程序和数据。CPU 1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
以下部件连接至I/O接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口 1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被中央处理单元 (CPU)1301执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括虚拟外设服务模块、虚拟驱动模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,虚拟外设服务模块还可以被描述为“用于确定被调用的目标设备的设备类型是否在虚拟外设服务范围内的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现:
确定被调用的目标设备的设备类型是否在虚拟外设服务范围内;
若所述设备类型在虚拟外设服务范围内,则通过虚拟驱动调用相应的虚拟设备;
若所述设备类型不在虚拟外设服务范围内,则调用实际设备。
所述确定被调用的目标设备的设备类型是否在虚拟化外设服务范围内,包括:
在所述目标设备的调用handler处设置拦截器,通过所述拦截器读取设备调用参数中的设备类型;
若所述设备类型属于虚拟外设服务范围,则读取对应的虚拟驱动路径;
若所述设备类型不属于虚拟外设服务范围,则读取对应的实际驱动路径。
在确定所述目标设备是虚拟设备,通过虚拟驱动调用虚拟设备后,所述方法还包括:
所述虚拟驱动向服务器请求调用所述虚拟设备的模拟业务数据;
从服务器接收相应虚拟设备的模拟数据;
经由虚拟设备接口将所述模拟数据返回客户端以供测试;
在所述虚拟驱动向服务器请求调用所述虚拟设备的模拟业务数据之前,确定进行正常测试还是异常测试,并向服务器请求响应的模拟业务数据。
其中,所述目标设备属于至少以下中的一种或多种:
信息录入类设备;
介质类设备;
打印类设备。
其中,在所述目标设备属于信息录入类设备时,所述方法还包括:
向用户弹出操作界面以用于接收用户交互操作;
将所述用户交互操作结果按照虚拟驱动接口定义的数据结构返回;
由虚拟设备服务返回操作界面。
其中,在所述目标设备属于介质类设备时,所述方法还包括:
由虚拟设备弹出介质索引界面,基于用户输入选择被调用的介质以触发埋点数据;
向介质库请求介质数据,并通过相应接口从介质库接收相应的介质数据;
其中,所述介质数据是介质库根据索引信息和参数生成的。
其中,在所述目标设备属于打印类设备时,所述方法还包括:
生成图片或PDF打印预览文件以用于返回打印结果。
根据本发明实施例的技术方案,实现虚拟驱动和服务器的数据进行交互,并模拟多种测试场景;真实虚拟仿真:①根据设备类型,模拟不同的设备功能;②尽可能模拟真实外设的真实返回数据和响应时间;③支持外设简单异常模拟,如超时/未刷卡等。能够产生外设调用异常信息,以便于进行反案例验证。并且实现介质虚拟化,构建介质库。因为采用以上外设驱动虚拟化来模拟多种测试场景的技术手段,使得能够简化测试流程和复杂程度、降低测试成本、提高测试覆盖率和结果准确度。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (20)
1.一种基于虚拟驱动的设备调用的方法,其特征在于,包括:
确定被调用的目标设备的设备类型是否在虚拟外设服务范围内;
若所述设备类型在虚拟外设服务范围内,则通过虚拟驱动调用相应的虚拟设备;
若所述设备类型不在虚拟外设服务范围内,则调用实际设备。
2.根据权利要求1所述的方法,其特征在于,所述确定被调用的目标设备的设备类型是否在虚拟化外设服务范围内,包括:
在所述目标设备的调用handler处设置拦截器,通过所述拦截器读取设备调用参数中的设备类型。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述设备类型属于虚拟外设服务范围,则读取对应的虚拟驱动路径;
若所述设备类型不属于虚拟外设服务范围,则读取对应的实际驱动路径。
4.根据权利要求1所述的方法,其特征在于,在确定所述目标设备是虚拟设备,通过虚拟驱动调用虚拟设备后,所述方法还包括:
所述虚拟驱动向服务器请求调用所述虚拟设备的模拟业务数据;
从服务器接收相应虚拟设备的模拟数据;
经由虚拟设备接口将所述模拟数据返回客户端以供测试。
5.根据权利要求4所述的方法,其特征在于,还包括:
在所述虚拟驱动向服务器请求调用所述虚拟设备的模拟业务数据之前,确定进行正常测试还是异常测试,并向服务器请求响应的模拟业务数据。
6.根据权利要求1所述的方法,其特征在于,所述目标设备属于至少以下中的一种或多种:
信息录入类设备;
介质类设备;
打印类设备。
7.根据权利要求6所述的方法,其特征在于,在所述目标设备属于信息录入类设备时,所述方法还包括:
向用户弹出操作界面以用于接收用户交互操作;
将所述用户交互操作结果按照虚拟驱动接口定义的数据结构返回;
由虚拟设备服务返回操作界面。
8.根据权利要求6所述的方法,其特征在于,在所述目标设备属于介质类设备时,所述方法还包括:
由虚拟设备弹出介质索引界面,基于用户输入选择被调用的介质以触发埋点数据;
向介质库请求介质数据,并通过相应接口从介质库接收相应的介质数据;
其中,所述介质数据是介质库根据索引信息和参数生成的。
9.根据权利要求6所述的方法,其特征在于,在所述目标设备属于打印类设备时,所述方法还包括:
生成图片或PDF打印预览文件以用于返回打印结果。
10.一种基于虚拟驱动的设备调用的装置,其特征在于,包括:
虚拟外设服务模块,用于确定被调用的目标设备的设备类型是否在虚拟外设服务范围内;
虚拟驱动模块,用于:
若所述设备类型在虚拟外设服务范围内,则通过虚拟驱动调用相应的虚拟设备;
若所述设备类型不在虚拟外设服务范围内,则调用实际设备。
11.根据权利要求10所述的装置,其特征在于,所述虚拟外设服务模块具体用于:
在所述目标设备的调用handler处设置拦截器,通过所述拦截器读取设备调用参数中的设备类型。
12.根据权利要求11所述的装置,其特征在于,所述虚拟驱动模块具体用于:
若所述设备类型属于虚拟外设服务范围,则读取对应的虚拟驱动路径;
若所述设备类型不属于虚拟外设服务范围,则读取对应的实际驱动路径。
13.根据权利要求10所述的装置,其特征在于,所述虚拟驱动模块还用于:
在确定所述目标设备是虚拟设备,通过虚拟驱动调用虚拟设备后:
向服务器请求调用所述虚拟设备的模拟业务数据;
从服务器接收相应虚拟设备的模拟数据;
经由虚拟设备接口将所述模拟数据返回客户端以供测试。
14.根据权利要求13所述的装置,所述虚拟外设服务模块还用于:
在所述虚拟驱动向服务器请求调用所述虚拟设备的模拟业务数据之前,确定进行正常测试还是异常测试,并向服务器请求响应的模拟业务数据。
15.根据权利要求10所述的装置,其特征在于,所述目标设备属于至少以下中的一种或多种:
信息录入类设备;
介质类设备;
打印类设备。
16.根据权利要求15所述的装置,其特征在于,在所述目标设备属于信息录入类设备时,所述虚拟驱动模块还用于:
向用户弹出操作界面以用于接收用户交互操作;
将所述用户交互操作结果按照虚拟驱动接口定义的数据结构返回;
由虚拟设备服务返回操作界面。
17.根据权利要求15所述的装置,其特征在于,在所述目标设备属于介质类设备时,所述虚拟驱动模块还用于:
弹出介质索引界面,基于用户输入选择被调用的介质以触发埋点数据;
向介质库请求介质数据,并通过相应接口从介质库接收相应的介质数据;
其中,所述介质数据是介质库根据索引信息和参数生成的。
18.根据权利要求15所述的装置,其特征在于,在所述目标设备属于打印类设备时,所述虚拟驱动模块还用于:
生成图片或PDF打印预览文件以用于返回打印结果。
19.一种基于虚拟驱动的设备调用的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的方法。
20.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-9中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011490976.3A CN113157382B (zh) | 2020-12-16 | 2020-12-16 | 一种基于虚拟驱动的设备调用的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011490976.3A CN113157382B (zh) | 2020-12-16 | 2020-12-16 | 一种基于虚拟驱动的设备调用的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113157382A true CN113157382A (zh) | 2021-07-23 |
CN113157382B CN113157382B (zh) | 2023-03-28 |
Family
ID=76882601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011490976.3A Active CN113157382B (zh) | 2020-12-16 | 2020-12-16 | 一种基于虚拟驱动的设备调用的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157382B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744595A (zh) * | 2004-09-01 | 2006-03-08 | 中国民生银行股份有限公司 | 基于Web的金融自助服务系统及其控制方法 |
CN102662843A (zh) * | 2012-04-11 | 2012-09-12 | 贵州航天风华精密设备有限公司 | 一种模拟航天器设备异常的软件测试方法 |
CN103713934A (zh) * | 2012-09-29 | 2014-04-09 | 京信通信系统(中国)有限公司 | 应用程序访问物理外设的方法和系统 |
CN105893234A (zh) * | 2014-12-30 | 2016-08-24 | 伊姆西公司 | 用于软件测试的方法和计算设备 |
CN110580225A (zh) * | 2019-09-20 | 2019-12-17 | 中国银行股份有限公司 | 业务系统的模拟方法及装置 |
CN111611121A (zh) * | 2020-04-09 | 2020-09-01 | 浙江口碑网络技术有限公司 | 硬件模拟测试方法、装置及设备 |
-
2020
- 2020-12-16 CN CN202011490976.3A patent/CN113157382B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744595A (zh) * | 2004-09-01 | 2006-03-08 | 中国民生银行股份有限公司 | 基于Web的金融自助服务系统及其控制方法 |
CN102662843A (zh) * | 2012-04-11 | 2012-09-12 | 贵州航天风华精密设备有限公司 | 一种模拟航天器设备异常的软件测试方法 |
CN103713934A (zh) * | 2012-09-29 | 2014-04-09 | 京信通信系统(中国)有限公司 | 应用程序访问物理外设的方法和系统 |
CN105893234A (zh) * | 2014-12-30 | 2016-08-24 | 伊姆西公司 | 用于软件测试的方法和计算设备 |
CN110580225A (zh) * | 2019-09-20 | 2019-12-17 | 中国银行股份有限公司 | 业务系统的模拟方法及装置 |
CN111611121A (zh) * | 2020-04-09 | 2020-09-01 | 浙江口碑网络技术有限公司 | 硬件模拟测试方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113157382B (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102567073B (zh) | 在机器部署期间插入管理代理 | |
US20230126597A1 (en) | Container orchestration framework | |
US9003080B2 (en) | Managed access to peripherals of a service terminal | |
CN109922132B (zh) | 表单请求处理的方法、装置、电子设备及存储介质 | |
AU2018357874B2 (en) | Integrating cloud applications into a cloud service broker platform using an automated, universal connector package | |
US10261880B1 (en) | Error generation using a computer add-in card | |
US20180315024A1 (en) | Systems and Methods Enabling Secure Transactions from Terminal Window | |
US20120317418A1 (en) | System and Method for Extracting Device Uniqueness to Assign a License to the Device | |
EP2558921A1 (en) | Cross-platform application framework | |
CN108111364B (zh) | 一种业务系统的测试方法及装置 | |
US10656939B2 (en) | Modeling lifetime of hybrid software application using application manifest | |
US20110161063A1 (en) | Method, computer program product and apparatus for providing an interactive network simulator | |
CN110244963B (zh) | 数据更新方法、装置及终端设备 | |
US20180324222A1 (en) | Testing distributed applications that have an established exchange in an advanced message queuing protocol (amqp) message broker | |
CN111694604A (zh) | 一种驱动批量安装方法、装置、设备及机器可读存储介质 | |
CN110109706A (zh) | 在平台中实现组件库存和合规性的系统和方法 | |
US11182131B2 (en) | System and method that support production management | |
CN113392002A (zh) | 一种测试系统构建方法、装置、设备及存储介质 | |
TWM618092U (zh) | 自動化網域驗證的憑證管理系統 | |
CN113157382B (zh) | 一种基于虚拟驱动的设备调用的方法和装置 | |
CN115599618B (zh) | 寄存器动态改配验证方法、装置、存储介质和处理器 | |
CN111865726B (zh) | 业务消息测试方法、装置、计算机系统和存储介质 | |
CN115454755A (zh) | 针对终端系统的测试方法以及相关设备 | |
CN113032647B (zh) | 数据分析系统 | |
US20140223112A1 (en) | System and method for managing data elements |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |