CN101094118A - 一种终端外部设备的测试系统及方法 - Google Patents

一种终端外部设备的测试系统及方法 Download PDF

Info

Publication number
CN101094118A
CN101094118A CN 200710118686 CN200710118686A CN101094118A CN 101094118 A CN101094118 A CN 101094118A CN 200710118686 CN200710118686 CN 200710118686 CN 200710118686 A CN200710118686 A CN 200710118686A CN 101094118 A CN101094118 A CN 101094118A
Authority
CN
China
Prior art keywords
instruction
terminal
external equipment
simulation
macro
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
Application number
CN 200710118686
Other languages
English (en)
Other versions
CN101094118B (zh
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN2007101186864A priority Critical patent/CN101094118B/zh
Publication of CN101094118A publication Critical patent/CN101094118A/zh
Application granted granted Critical
Publication of CN101094118B publication Critical patent/CN101094118B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明关于一种终端外部设备的测试系统,包括:服务器和终端,终端通过网络与服务器连接。服务器包括:服务器端应用程序主控单元,实现系统业务功能,并根据业务需求输出控制指令;外部设备驱动单元,接收控制指令,输出外部设备驱动指令;服务器端通信单元,与终端进行通信,将外部设备驱动指令打包输出。终端包括:终端通信单元,与服务器端通信单元进行通信,接收外部设备驱动指令;终端应用程序主控单元,从通讯链路中识别出所有从服务器端发来的外部设备驱动指令,并根据外部设备驱动指令输出外部设备调用指令;外部设备模拟单元,根据外部设备调用指令模拟实际外部设备的运行。本发明达到了节约硬件投资,方便软件企业的开发、测试以及使用的目的。

Description

一种终端外部设备的测试系统及方法
技术领域
本发明关于计算机软件外设测试(仿真)技术领域,具体的讲为一种终端外部设备的测试(仿真)系统及方法。
背景技术
在很多大型企业,包括银行、证券、电信等,其应用系统一般采用Unix直连终端的模式。在此模式下,外部设备(包括存折打印机、密码键盘、磁条读写器等)一般直接挂接到终端上的。在系统开发、测试阶段,特别在集中的软件开发模式下,外部设备仅是暂时的使用,如果大量的开发、测试人员,每人均配备一套外部设备系统,来完成开发、测试工作,硬件投资非常可观;同时,在压力测试或自动化测试过程中,部分交易因为需要人工干预外部设备才能完成,如:银行部分交易需要在磁条读写器上刷卡以便读取帐户信息等,导致交易不能连续进行,从而使得压力测试和自动化测试难以实施。
发明内容
本发明主要是在终端上,对挂接到终端上的外部设备(存折打印机、密码键盘、磁条读写器等)进行模拟的一个系统及实现方法,以达到节约硬件投资,方便软件企业的开发、测试的目的。
本发明提供了一种终端外部设备的测试(仿真)系统,所述系统包括:服务器和终端,所述的终端通过网络与所述的服务器连接。所述的服务器进一步包括:服务器端应用程序主控单元,用于实现系统业务功能,并根据业务需求输出控制指令;外部设备驱动单元,用于接收所述的控制指令,输出外部设备驱动指令;服务器端通信单元,用于与所述的终端进行通信,将所述的外部设备驱动指令打包输出。所述的终端进一步包括:终端通信单元,用于与所述的服务器端通信单元进行通信,接收所述的外部设备驱动指令;终端应用程序主控单元,用于从通讯链路中识别出所有从服务器端发来的外部设备驱动指令,并根据外部设备驱动指令输出外部设备调用指令;外部设备模拟单元,根据所述的外部设备调用指令模拟实际外部设备的运行。
本发明还提供了一种终端外部设备的测试(仿真)方法,包括:服务器端应用程序主控单元根据业务需求输出控制指令到外部设备驱动单元;外部设备驱动单元接收所述的控制指令并输出外部设备驱动指令到服务器端通信单元;服务器端通信单元将所述的外部设备驱动指令打包输出到终端通信单元;终端通信单元接收所述的外部设备驱动指令;终端应用程序主控单元从通讯链路中识别出所有从服务器端发来的外部设备驱动指令,并根据外部设备驱动指令输出外部设备调用指令到外部设备模拟单元;外部设备模拟单元根据所述的外部设备调用指令模拟实际外部设备的运行。
与现有技术相比,本发明的有益效果是:模拟外部设备宏指令可以根据用户外部设备的种类,有效的扩展。仿真的外部设备可以解决部分交易由于需要人工干预,不能进行自动化测试或压力测试的难题。由于采用软件模拟代替计算机外部设备的功能,从而有效的节约了用户的硬件投资。在仿真终端应用中,将传统的在Unix服务器直接发送外部设备控制码,改为了用宏指令代替,同时在终端可将外部设备宏指令,转换为由本地的驱动程序驱动,从而可以驱动Unix服务器难以控制的连接在本地外部设备上的USB接口外部设备。
附图说明
图1为本发明的系统结构图。
图2为本发明的功能单元图。
图3为本发明另一实施例的系统结构图。
图4为本发明的终端模拟外部设备流程图。
图5为本发明仿真终端上具体实现的功能单元图。
图6为本发明以仿真终端为例说明模拟外部设备流程图。
具体实施方式
下面对照附图,对本发明的技术方案进行详细的说明。
实施例1
在本发明的一实施例中,本系统的结构如图1所示:包含Unix服务器1、字符终端机2、PC机3、便携电脑4和网络打印机5。Unix服务器1是企业的应用服务器,上面安装业务应用程序,其中应用程序控制外部设备时,会按照既定协议向终端发送外部设备控制宏指令。字符终端机2是传统的字符终端设备,一般通过串口和Unix服务器连接,存折打印机、磁条读写器、密码键盘等外部设备一般直接连接到字符终端设备。PC机3和便携电脑4是终端的硬件实体,上面一般安装Windows操作系统,通过网络与Unix服务器相连。网络打印机5是共享的网络打印机。在终端上的虚拟打印数据,可以通过网络共享模式将打印数据发送到该打印机上。
常见的UNIX应用系统外部设备驱动运行模式为:应用程序在UNIX服务器上运行,需要控制外部设备时,应用程序按照不同型号的外部设备,编写不同的控制代码,并将控制代码通过串口发送到字符终端机,由字符终端机完成外部设备驱动。
在本方案中,终端机可以是PC机上实现的vt100仿真终端(一种模拟字符终端的仿真程序)也可以是实际的图形终端或字符终端,在需要控制外部设备时,Unix服务器上应用程序根据不同的外部设备(打印机或者密码键盘等)将宏指令直接发送到终端机,由终端机根据用户设置,模拟外部设备操作或者直接驱动挂在终端机上的外部设备。其中宏指令为模拟外部设备的指令集合,在本发明中,主要包括存折打印机、密码键盘和磁条读写器三种宏指令。其实现步骤,具体如下:
步骤一、定义模拟设备的指令集。本发明主要模拟三种外部设备,因此定义了三种外部设备的宏指令,三种外部设备在应用系统上要求有相应的指令集合编写驱动程序。
模拟密码键盘宏指令集如下:(“\x1b”表示一个十六进制为1b的字节,后面的表都是这个表示法)
    密码键盘宏指令集
    指令     说明   返回数据    备注
    ONCEINPUT     首次输入密码   x02 DATA x03    DATA为接收到的数据
    AGAININPUT     再次输入密码   x02 DATA X03    DATA为接收到的数据
    PINCLOSE     关闭   无
模拟磁条读写器宏指令集如下:
   磁条读写器宏指令集
   指令 说明     返回数据     备注
   MSFRESET 软复位     无
MSFREAD2 读二磁道数据     x1bx73 DATA2x3fx1c DATA2为接收到的数据
MSFREAD3 读三磁道     x1bx73x41 DATA3x3fx1c DATA3为接收到的数据
MSFREAD23 同时读二三磁道 x1bx73 DATA2x41DATA3x3fx1c DATA2、DATA3为接收到的数据
MSFWRITE2 写二磁道     接在该宏指令后的数据包为x1bx74 DATA2x1dx1bx5c,其中DATA2表示要写到二磁道的数据(后面类似的表示法)
   MSFWRITE3 写三磁     无     接在该宏指令后的数据包为
  x1bx74x41 DATA3x1dx1bx5c
MSFWRITE23 同时写二三磁道   接在该宏指令的数据包为x1bx74 DATA2x41DATA3x1dx1bx5c
MSFSTATUS 状态请求 x71或x72或x7f   表示状态:错误或成功或磁道空
模拟存折打印机宏指令集如下
存折打印机宏指令集
指令 说明 返回数据 备注
INPAPER 进纸
NF 换页
CR 回车
LF 换行回车
FF 退纸
DUHEIGHT 倍高(字体的高度是正常字体的2倍,宽度不变)
BOLDFONT 黑体
NORMFONT 正常字体 取消倍高、取消黑体
CPI*** 设置字间距 ***可以为010、012或015,分别表示10字符/英寸、12字符/英寸或15字符/英寸
LPI*** 设置行间距 ***可以为0nn,表示行步距为nn/240英寸
topMARG IN*** 设置页顶距 ***为nnn,表示页顶长为nnn/240英寸,页顶长为顶边到打印第一行底线间的距离
PAGELEN*** 设置页长 ***为nnn,表示当前打印页有nnn行
ABSROW*** 绝对行定位(垂直定位) ***为nnn,表示打印头移动到当前页的第nnn行,000与001表示第一行
RLTROW*** 相对行定位 ***为nnn,表示打印头从当前行相对移动nnn行
ABSCOL*** 绝对列定位(水平定位) ***为nnn,表示打印头移动到当前打印行的第nnn个字符处,000与001表第一行
RLTCOL*** 相对列定位 ***为nnn,表示打印头从当前位置向右移动nnn个字符
步骤二、定义终端程序与驱动程序的通讯协议
宏指令及其数据包是从UNIX服务器上应用程序调用模拟外部设备驱动程序时,通过终端与UNIX主机的通信链路到达终端机的终端通讯单元。根据外部设备的工作特点,定义UNIX主机到终端机程序的通讯数据包格式为
stx<CMD>DATA etx
其中
stx为起始字符串——\x1b!
CMD模拟外部设备宏指令
DATA宏指令参数
etx为结束字符串——\x1b&
而从终端机程序回应给UNIX主机的应用程序的数据包直接使用上面各个模拟外部设备的宏指令返回形式。
步骤三、修改或编写模拟外部设备的驱动程序
根据前面两步定义的模拟外部设备宏指令集及通讯协议,可以改造或为UNIX服务器上的应用程序编写模拟外部设备的驱动程序,并在应用系统中使用模拟外部设备。
步骤四、在终端机程序中识别模拟外部设备指令,实现模拟外部设备的输入输出仿真。
在终端机程序中,识别出模拟外部设备的宏指令,根据本地实现仿真模拟一个实际外部设备的行为。
参照图1和图2,在本实施例中,开发人员需要在一台PC上使用虚拟的外部设备模拟磁条读写器的使用,首先由服务器端应用程序主控单元11根据使用要求,调用外部设备驱动单元12实现外部设备驱动。外部设备驱动单元12是外部设备的控制单元,主要包括密码键盘驱动单元、磁条读写器驱动单元和存折打印机驱动单元,其外部设备种类可以根据实际情况进行扩展,在本实施例中,根据使用要求调用磁条读写器驱动单元。服务器端通讯单元13将从服务器端应用程序主控单元的控制数据发送到PC上的终端通讯单元14。PC除了自身的应用单元外,还包括终端通讯单元14,终端程序主控单元15,密码键盘模拟单元16,磁条读写器模拟单元17以及存折打印机模拟单元18。终端通讯单元14从服务器端通讯单元接收服务器传来的数据,并将数据交给终端程序主控单元15。终端程序主控单元15是终端核心程序,该程序需要承担从通讯链路中识别出所有从服务器端应用程序发过来的外部设备宏指令通讯包。并根据不同的宏指令,调用不同的外部设备模拟单元。在本实施例中,调用磁条读写器模拟单元17。磁条读写器模拟单元17接收终端程序主控单元15识别出来的宏指令及附带数据,并通过本机上的画面操作,模拟磁条读写器的磁条输入和写磁条的行为:如果需要读磁条,从准备好的数据文件读出预先配置的磁条数据;如果需要写磁条,把从服务器端收到的数据写到本地文件。
在另一实施例中,使用密码键盘和存折打印功能时,系统的流程大致如上,所不同之处在于终端程序主控单元15根据使用的不同分别调用密码键盘模拟单元16和存折打印机模拟单元18。当使用密码键盘时密码键盘模拟单元16接收终端程序主控单元15识别出来的宏指令和附带数据,并通过实际本机上的键盘操作,模拟密码键盘的输入密码行为,并将输入数据通过终端通讯单元14反馈到服务器端。当使用存折打印机时,存折打印机模拟单元18接收终端程序主控单元15识别出来的宏指令及附带数据,并通过本机上的画面操作,模拟存折打印机的打印行为,把需要打印的数据按照格式在屏幕上显示出来或者通过本地或者网络打印机打印出来。
下面结合图4说明终端模拟外部设备流程:
步骤101:服务器端应用程序主控单元11启动执行业务应用程序,如果需要对外部设备进行控制则转到步骤102;
步骤102:服务器端应用程序主控单元11根据业务需求,调用外部设备驱动单元12,获得控制数据(模拟外部设备宏指令及附带数据),其中模拟外部设备宏指令包括模拟磁条读写器宏指令、模拟打印机宏指令、模拟密码键盘宏指令,宏指令种类可以根据业务需求逐渐增加;
步骤103:服务器端应用程序主控单元11将控制数据(模拟外部设备宏指令及附带数据)通过服务器端通讯单元13发送到终端,终端通讯单元14接收到控制数据(模拟外部设备宏指令及附带数据)后转发给终端程序主控单元15,其中服务器端和终端之间的通讯包括多种形式,对字符终端可以为串口直连,对仿真终端或者图形终端可以通过Tcp/Ip连接;
步骤104:终端程序主控单元15接收控制数据(模拟外部设备宏指令及附带数据);
步骤105:终端程序主控单元15判断宏指令类型,如果为存折打印机宏指令,则转到步骤106;如果为密码键盘宏指令,则转到步骤109;如果为磁条读写器宏指令,则转到步骤112;
步骤106:存折打印机模拟单元判断终端是否选择了模拟打印,如果是则转到步骤107,否则转到步骤108;
步骤107:存折打印机模拟单元解释执行宏指令,即在PC机上新创建一窗口,将从服务器端收到的数据在窗口中显示,其显示的格式和字体将和实际打印的内容一样。如:收到宏指令RLTROW010(表示打印头从当前行相对移动nnn行),则在窗口中的光标当前位置下移10行,并将随后收到的打印数据在在新的行位置显示;
步骤108:如果终端没有选择模拟打印,而是直接控制本地外部设备方式打印;模拟打印程序负责解释宏指令,将宏指令根据终端配置转换为针对特定的打印机的控制码,并将控制码通过串口、并口或者USB发送到本地打印机;其中不同厂家的打印机控制码不同,如针对宏指令回车CR,如果本地为LQ1600打印机,则发出0x13指令,具体可以参见厂家提供的打印机开发手册;
步骤109:密码键盘模拟单元判断用户是否选择了使用键盘模拟密码键盘输入,如果是则转到步骤110,否则转到步骤111;
步骤110:在终端PC机上,弹出一窗口,提示用户输入密码,由用户通过PC机键盘完成密码输入,从而模拟了实际的密码键盘输入密码的操作;
步骤111:实际驱动本地外部设备,完成输入密码功能。即将宏指令根据终端配置进行转换,如收到宏指令为ONCEINPUT(第一次输入密码),对应的蓝天的密码键盘的指令为x1bI,则直接将转换后的x1bI通过串口发送到本地外部设备,具体指令可参见不同厂家的密码键盘开发手册;
步骤112:磁条读写器模拟单元判断客户是否选择了使用模拟磁条读写器,如果是则转到步骤113;否则转到步骤114;
步骤113:使用模拟磁条读写器功能,磁条读写器程序单元负责判断收到的指令是否为写卡宏指令,如果是则在本地数据文件中增加一条空记录,并将收到的写卡的数据写入到此记录中;如果收到的是读卡宏指令,则读取本地数据文件记录列表,由用户选择记录,模拟磁条读写器将记录中的卡信息读出并反馈到终端程序主控单元;
步骤114:实际驱动本地外部设备,完成刷卡功能。即将宏指令根据终端配置进行转换,如收到的宏指令为MSFREAD2(读2磁道),对应蓝天的磁条读写器指令为x1b\x5d,则直接将x1b\x5d通过串口发送到本地外部设备,具体指令可参见厂家的磁条读写器开发手册;
步骤115:终端程序主控单元将所述模拟单元或者实际的外部设备返回的数据通过终端通讯单元反馈到服务器端。
在本实施例中,开发人员不需要任何硬件外设,只需要一台PC机即可仿真模拟存折打印机、密码键盘和磁条读写器,避免了不必要的硬件投资,节省了硬件成本。
实施例2
在本发明的另一实施例描述了由服务器和多台终端所组成的测试(仿真)系统,系统中Unix服务器1通过网络与2台PC机3、6及一台便携式电脑4相连,使用人员在这3台终端上分别模拟存折打印机,密码键盘和磁条读写器。如图2和图3所示,服务器端应用程序主控单元11根据使用要求,调用外部设备驱动单元12实现密码键盘、磁条读写器和存折打印机的驱动。服务器端通讯单元13将服务器端应用程序主控单元的控制数据分别发送至PC机3、PC机6和便携电脑4。3台终端通讯单元14从服务器端通讯单元接收服务器传来的数据,并将数据交给终端程序主控单元15。在本实施例中,PC机3、PC机6和便携电脑4的终端程序主控单元15分别调用密码键盘模拟单元16、磁条读写器模拟单元17、存折打印机模拟单元18,接着分别执行终端程序主控单元15识别出来的宏指令及附带数据,以完成外设操作。
下面参照图5,说明在终端上具体实现的功能单元:
Unix服务器端上运行应用系统的主程序,其应用系统主程序包括服务器端应用程序主控单元21,外部设备驱动单元22,服务器端通讯单元23。
服务器端应用程序主控单元21是UNIX服务器运行的调度程序,它负责实现业务功能,并且根据业务要求,调用外部设备驱动单元22实现外部设备驱动。
外部设备驱动单元22是外部设备的控制单元,在本发明中,主要包括模拟密码键盘驱动单元、模拟磁条读写器驱动单元和存折打印机驱动单元,其外部设备种类可以根据实际情况进行扩展。
服务器端通讯单元23负责将从服务器端应用程序主控单元的控制数据以Tcp/Ip方式转发给Windows终端。
Windows终端一般为vt100仿真终端,除了仿真终端的相应单元外,还包括终端通讯单元24,仿真终端程序主控单元25,密码键盘模拟单元26,磁条读写器模拟单元27以及存折打印机模拟单元28。
终端通讯单元24负责从服务器端通讯单元接收服务器传来的数据,并将数据交给仿真终端程序主单元25。
仿真终端程序主控单元25是Vt100仿真终端的外部设备模拟核心程序,在本发明中,该程序需要承担从通讯链路中识别出所有从Unix主机应用程序发过来的模拟外部设备宏指令通讯包。并根据不同的宏指令,调用不同的外部设备模拟单元。
密码键盘模拟单元26是模拟密码键盘的仿真程序单元,主要接收仿真终端程序主控单元25识别出来的宏指令和附带数据,并通过实际PC机上的键盘操作,模拟密码键盘的输入密码行为,并将输入数据通过终端通讯单元24反馈到Unix服务器端。
磁条读写器模拟单元27是磁条读写器的仿真程序单元,主要负责接收仿真终端程序主控单元25识别出来的宏指令及附带数据,并通过PC机上的画面操作,模拟磁条读写器的磁条输入和写磁条的行为:如果需要读磁条,负责从准备好的数据文件读出预先配置的磁条数据;如果需要写磁条,负责把从Unix服务器端收到的数据写到指定的文件。
存折打印机模拟单元28是存折打印机的仿真程序单元,主要负责接收仿真终端程序主控单元25识别出来的宏指令及附带数据,并通过PC机上的画面操作,模拟存折打印机的打印行为,把需要打印的数据按照格式打印到屏幕上。
下面结合图6以仿真终端为例说明模拟外部设备流程:
步骤201:Unix服务器端应用程序主控单元21启动执行业务应用程序,如果需要对外部设备进行控制则转到步骤202;
步骤202:服务器端应用程序主控单元21根据业务需求,调用外部设备驱动单元22,获得控制数据(模拟外部设备宏指令及附带数据),其中模拟外部设备宏指令包括模拟磁条读写器宏指令、模拟打印机宏指令、模拟密码键盘宏指令,宏指令种类可以根据业务需求逐渐增加;
步骤203:服务器端应用程序主控单元21将控制数据(模拟外部设备宏指令及附带数据)通过服务器端通讯单元23发送到windows终端,windows终端通讯单元24接收到控制数据(模拟外部设备宏指令及附带数据)后转发给仿真终端程序主控单元25,windows终端和unix服务器端一般是通过Tcp/Ip连接;
步骤204:仿真终端程序主控单元接收控制数据(模拟外部设备宏指令及附带数据);
步骤205:仿真终端程序主控单元判断宏指令类型,如果为存折打印机宏指令,则转到步骤206;如果为密码键盘宏指令,则转到步骤212;如果为磁条读写器宏指令,则转到步骤215;
步骤206:存折打印机模拟单元判断终端是否选择了模拟打印,如果是则转到步骤207,否则转到步骤208;
步骤207:存折打印机模拟单元解释执行宏指令,即在PC机上新创建一窗口,将从服务器端收到的数据在窗口中显示,其显示的格式和字体将和实际打印的内容一样。如:收到宏指令RLTROW010(表示打印头从当前行相对移动nnn行),则在窗口中的光标当前位置下移10行,并将随后收到的打印数据在在新的行位置显示;
步骤208:存折打印机模拟单元判断终端是否选择了通过Windows的驱动打印,如果是则转到步骤209,否则转到步骤210;
步骤209:将模拟显示的内容,通过调用Windows的驱动程序打印,由于使用的是Windows打印机驱动程序的函数驱动外部设备,即可同时支持网络共享打印或者本地打印;
步骤210:如果终端没有选择模拟打印,也没有选择通过Windows驱动程序打印,则采用直接控制本地外部设备方式打印;模拟打印程序负责解释宏指令,将宏指令转换为针对特定的打印机的控制码,并将控制码通过串口、并口或者USB发送到本地打印机;其中不同厂家的打印机控制码不同,如针对宏指令回车CR,如果本地为LQ1600打印机,则发出0x13指令,具体可以参见厂家提供的打印机开发手册;
步骤212:密码键盘模拟单元判断用户是否选择了使用键盘模拟密码键盘输入,如果是则转到步骤213,否则转到步骤214;
步骤213:在终端PC机上,弹出一窗口,提示用户输入密码,由用户通过PC机键盘完成密码输入,从而模拟了实际的密码键盘输入密码的操作;
步骤214:实际驱动本地外部设备,完成输入密码功能。即将宏指令进行转换,如收到宏指令为ONCEINPUT(第一次输入密码),对应的蓝天的密码键盘的指令为x1bI,则直接将x1bI通过串口发送到本地外部设备,具体指令可参见不同厂家的密码键盘开发手册;
步骤215:磁条读写器模拟单元判断客户是否选择了使用模拟磁条读写器,如果是则转到步骤216;否则转到步骤217;
步骤216:使用模拟磁条读写器功能,磁条读写器程序单元负责判断收到的指令是否为写卡宏指令,如果是则在本地数据库增加一条空记录,并将收到的写卡的数据写入到此记录中;如果收到的是读卡宏指令,则读取本地数据库记录列表,由用户选择数据库记录,模拟磁条读写器将数据库记录中的卡信息读出并反馈到主控单元;
步骤217:实际驱动本地外部设备,完成刷卡功能。即将宏指令进行转换,如收到的宏指令为MSFREAD2(读2磁道),对应蓝天的磁条读写器指令为x1b\x5d,则直接将x1b\x5d通过串口发送到本地外部设备,具体指令可参见厂家的磁条读写器开发手册;
步骤218:仿真终端程序主控单元将所述模拟单元或者实际的外部设备返回的数据通过终端通讯单元反馈到Unix服务器端。

Claims (11)

1.一种终端外部设备的测试系统,所述系统包括:服务器和终端;所述的终端通过网络与所述的服务器连接;其特征是,
所述的服务器进一步包括:
服务器端应用程序主控单元,用于实现系统业务功能,并根据业务需求输出控制指令;
外部设备驱动单元,用于接收所述的控制指令,输出外部设备驱动指令;
服务器端通信单元,用于与所述的终端进行通信,将所述的外部设备驱动指令打包输出;
所述的终端进一步包括:
终端通信单元,用于与所述的服务器端通信单元进行通信,接收所述的外部设备驱动指令;
终端应用程序主控单元,用于从通讯链路中识别出所有从服务器端发来的外部设备驱动指令,并根据外部设备驱动指令输出外部设备调用指令;
外部设备模拟单元,根据所述的外部设备调用指令模拟实际外部设备的运行。
2.如权利要求1所述的系统,其特征是,所述的外部设备模拟单元包括存折打印机模拟单元、密码键盘模拟单元和磁条读写器模拟单元。
3.如权利要求2所述的系统,其特征是,所述的存折打印机模拟单元判断外部设备调用指令为存折打印机宏指令,进而判断所述的存折打印机指令是否为模拟存折打印机指令,如果是,则存折打印机模拟单元解释执行宏指令,即在终端上新创建一窗口,将从服务器端收到的数据在窗口中显示,其显示的格式和字体将和实际打印的内容一样;
如果不是模拟存折打印机指令,而是直接控制本地外部设备方式打印;模拟打印程序负责解释宏指令,将宏指令根据终端配置转换为针对特定的打印机的控制码,并将控制码通过串口、并口或者USB发送到本地打印机。
4.如权利要求2所述的系统,其特征是,所述的密码键盘模拟单元判断外部设备调用指令为密码键盘指令,进而判断所述的密码键盘指令是否为模拟密码键盘指令,如果是,则在终端上,弹出一窗口,提示用户输入密码,由用户通过终端键盘完成密码输入;
如果不是模拟密码键盘指令,则实际驱动本地连接的密码键盘,完成输入密码功能。
5.如权利要求2所述的系统,其特征是,所述的磁条读写器模拟单元判断外部设备调用指令为磁条读写器指令,进而判断所述的磁条读写器指令是否为模拟磁条读写器指令,如果是,则使用模拟磁条读写器功能,磁条读写器模拟单元负责判断收到的指令是否为写卡宏指令,如果是则在本地数据文件中增加一条空记录,并将收到的写卡的数据写入到此记录中;如果收到的是读卡宏指令,则读取本地数据文件记录列表,由用户选择记录,模拟磁条读写器将记录中的卡信息读出并反馈到终端应用程序主控单元;
如果不是模拟磁条读写器指令,则实际驱动本地连接的磁条读写器,完成刷卡功能。
6.如权利要求1所述的系统,其特征是,所述的系统还包括一网络打印机,与所述的终端和服务器端连接,通过网络接收所述的终端机上的打印数据。
7.一种终端外部设备的测试方法,所述方法包括以下步骤:
在服务器端,根据外部设备驱动业务需求输出外部设备驱动指令;
在终端侧,接收所述的外部设备驱动指令;
并根据外部设备驱动指令输出外部设备调用指令;
响应所述的外部设备调用指令模拟实际外部设备的运行。
8.如权利要求7所述的终端外部设备的测试方法,其特征是,所述的方法还包括,如果所述的外部设备调用指令为模拟打印机指令,则进行下列步骤:
判断终端是否选择了模拟打印,如果是则解释执行宏指令,在终端上新创建一窗口,将从服务器端收到的数据在窗口中显示,其显示的格式和字体将和实际打印的内容一样;
如果终端没有选择模拟打印,而是直接控制本地外部设备方式打印;模拟打印程序负责解释宏指令,将宏指令根据终端配置转换为针对特定的打印机的控制码,并将控制码通过串口、并口或者USB发送到本地打印机。
9.如权利要求7所述的终端外部设备的测试方法,其特征是,所述的方法还包括,如果所述的外部设备调用指令为模拟密码键盘指令,则进行下列步骤:
判断用户是否选择了使用键盘模拟密码键盘输入,如果是则在终端上,弹出一窗口,提示用户输入密码,由用户通过终端键盘完成密码输入;
如果终端没有选择使用模拟密码键盘,则实际驱动本地外部设备,完成输入密码功能。
10.如权利要求7所述的终端外部设备的测试方法,其特征是,所述的还包括,如果所述的外部设备调用指令为模拟磁条读写器指令,则进行下列步骤:
判断客户是否选择了使用模拟磁条读写器,如果是则使用模拟磁条读写器功能,判断收到的指令是否为写卡宏指令,如果是则在本地数据文件中增加一条空记录,并将收到的写卡的数据写入到此记录中;如果收到的是读卡宏指令,则读取本地数据文件记录列表,由用户选择记录,将记录中的卡信息读出并反馈到终端程序主控单元;
如果终端没有选择使用模拟磁条读写器,则实际驱动本地外部设备,完成刷卡功能。
11.如权利要求7所述的终端外部设备的测试方法,其特征是,所述的终端外部设备的测试方法还包括:将所述模拟单元或者实际的外部设备返回的数据反馈到服务器端。
CN2007101186864A 2007-07-12 2007-07-12 一种终端外部设备的测试系统 Active CN101094118B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101186864A CN101094118B (zh) 2007-07-12 2007-07-12 一种终端外部设备的测试系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101186864A CN101094118B (zh) 2007-07-12 2007-07-12 一种终端外部设备的测试系统

Publications (2)

Publication Number Publication Date
CN101094118A true CN101094118A (zh) 2007-12-26
CN101094118B CN101094118B (zh) 2010-11-24

Family

ID=38992165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101186864A Active CN101094118B (zh) 2007-07-12 2007-07-12 一种终端外部设备的测试系统

Country Status (1)

Country Link
CN (1) CN101094118B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009105889A1 (en) * 2008-02-27 2009-09-03 Wurldtech Security Technologies Testing framework for control devices
CN101890843A (zh) * 2010-06-24 2010-11-24 福建实达资讯科技有限公司 一种用于打印机生产测试和服务支持的多功能便携设备
WO2011009308A1 (zh) * 2009-07-20 2011-01-27 华为终端有限公司 一种外场业务测试的方法、设备以及系统
CN102831707A (zh) * 2012-08-09 2012-12-19 北京南天软件有限公司 一种通用外设驱动接口
CN103488543A (zh) * 2012-06-07 2014-01-01 亚旭电脑股份有限公司 验证测试系统
CN105808396A (zh) * 2016-03-04 2016-07-27 浙江大华技术股份有限公司 一种芯片调试装置、调试方法及soc芯片系统
CN107590067A (zh) * 2017-08-01 2018-01-16 百富计算机技术(深圳)有限公司 通过pos模拟器进行测试的方法及装置
CN107807545A (zh) * 2016-09-08 2018-03-16 北京京东尚科信息技术有限公司 一种远程控制端的调试方法和装置
CN110537171A (zh) * 2017-04-21 2019-12-03 雷蛇(亚太)私人有限公司 测试设备及用于对设备驱动器软件进行测试的方法
CN110838951A (zh) * 2019-10-22 2020-02-25 北京天融信网络安全技术有限公司 网络设备的测试方法及系统
CN114348820A (zh) * 2021-12-06 2022-04-15 猫岐智能科技(上海)有限公司 电梯测试系统及测试方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009105889A1 (en) * 2008-02-27 2009-09-03 Wurldtech Security Technologies Testing framework for control devices
WO2011009308A1 (zh) * 2009-07-20 2011-01-27 华为终端有限公司 一种外场业务测试的方法、设备以及系统
CN101890843A (zh) * 2010-06-24 2010-11-24 福建实达资讯科技有限公司 一种用于打印机生产测试和服务支持的多功能便携设备
CN101890843B (zh) * 2010-06-24 2011-09-21 福建实达资讯科技有限公司 一种用于打印机生产测试和服务支持的多功能便携设备
CN103488543A (zh) * 2012-06-07 2014-01-01 亚旭电脑股份有限公司 验证测试系统
CN102831707A (zh) * 2012-08-09 2012-12-19 北京南天软件有限公司 一种通用外设驱动接口
CN105808396A (zh) * 2016-03-04 2016-07-27 浙江大华技术股份有限公司 一种芯片调试装置、调试方法及soc芯片系统
CN107807545A (zh) * 2016-09-08 2018-03-16 北京京东尚科信息技术有限公司 一种远程控制端的调试方法和装置
CN110537171A (zh) * 2017-04-21 2019-12-03 雷蛇(亚太)私人有限公司 测试设备及用于对设备驱动器软件进行测试的方法
CN107590067A (zh) * 2017-08-01 2018-01-16 百富计算机技术(深圳)有限公司 通过pos模拟器进行测试的方法及装置
CN110838951A (zh) * 2019-10-22 2020-02-25 北京天融信网络安全技术有限公司 网络设备的测试方法及系统
CN114348820A (zh) * 2021-12-06 2022-04-15 猫岐智能科技(上海)有限公司 电梯测试系统及测试方法

Also Published As

Publication number Publication date
CN101094118B (zh) 2010-11-24

Similar Documents

Publication Publication Date Title
CN101094118B (zh) 一种终端外部设备的测试系统
US8738815B2 (en) System and method for virtualizing the peripherals in a terminal device to enable remote management via removable portable media with processing capability
CN102567074B (zh) 一种面向虚拟机的usb设备重定向方法
CN100501781C (zh) 打印机、pos系统、无线通信控制方法和信息记录媒体
CN101078973B (zh) 信息处理设备及方法
US20070276763A1 (en) Point-of-service (POS) and POS application compatability
CN107886439A (zh) 保险产品开发方法、装置、设备及计算机可读存储介质
CN102789382A (zh) 用于表单生成和运行的系统及方法
CN104583984A (zh) 设备控制系统、印刷装置、以及设备控制系统的控制方法
JP5321311B2 (ja) 通信制御装置
CN103324278A (zh) 终端设备、系统及接入虚拟桌面的方法
CN103777942A (zh) 应用于金融终端的嵌入式软件产品的开发框架
CN104802527A (zh) 产品标签在线打印系统和方法
CN104639657A (zh) 一种支持远程配置的票据打印智能控制系统
CN106126465B (zh) 一种数据传输方法及装置
CN107464382A (zh) 一体化税控机以及税控方法
CN111078104A (zh) 一种云桌面上的多点触控设备的重定向方法及计算机设备
CN105515811A (zh) Usb无线网卡配置方法、主机、usb无线网卡及通信系统
CN103914266A (zh) 分配云端数据并由群组打印端主动打印该云端数据的方法
CN101252631A (zh) 事务设备、程序安装支持方法
CN106067049A (zh) 一种基于nfc技术的安卓客户端读卡方法
US9111198B2 (en) Print control method, print control device, and storage medium
CN103135953A (zh) 电子装置与多面板介面显示方法
CN102937862A (zh) 一种通过浏览器管理移动终端的系统及方法
CN110175878A (zh) 一种开票系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant