CN102468993B - 一种终端测试设备及方法 - Google Patents
一种终端测试设备及方法 Download PDFInfo
- Publication number
- CN102468993B CN102468993B CN201010548178.1A CN201010548178A CN102468993B CN 102468993 B CN102468993 B CN 102468993B CN 201010548178 A CN201010548178 A CN 201010548178A CN 102468993 B CN102468993 B CN 102468993B
- Authority
- CN
- China
- Prior art keywords
- terminal
- script
- command
- module
- function
- 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.)
- Active
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种终端测试设备及方法,包括:执行用户选择的脚本,并将脚本在执行过程中产生的命令封装到UDP数据包内;将封装命令的UDP数据包转化为可识别的命令;根据命令调用定义的终端动作函数;根据调用将需终端执行的命令,以终端可识别的字符串形式封装到TCP或UDP报文中后发送给终端;向用户呈现脚本执行结果。实现了终端全自动化测试,执行无需手动干预。能实现了各种数目终端、各种业务、各种操作相结合的自动化测试。可实现与其它自动测试软件的结合,扩展和丰富自动化测试功能。
Description
技术领域
本发明涉及通信设备,特别涉及一种终端测试设备及方法。
背景技术
目前普遍使用的终端测试方法是将终端通过USB(Universal Serial BUS,通用串行总线)接口连接到PC(Personal Computer,个人电脑)机上,在PC机上安装商务终端自带的操作软件,通过此软件手动对小区参数、业务参数进行设置,然后手动进行拨号、激活、下载、下载终止和去激活等操作,且一台PC机只可以控制一台终端。
也有部分厂家实现了同时对多个终端的控制操作,即设计类似终端接口板的装置,同时连接多个终端,通过操作维护软件对终端进行控制。对终端的各种操作需要通过在PC机上的控制软件手动下发。
按这些方案在进行测试时,首先需要用户手动在其操作维护界面上选择终端,然后输入终端所要进行的操作命令,最后在用户点击执行按钮后,开始下发此命令。若要对多个终端进行多种业务测试,需要手动选取不同终端重复执行上述三步骤。
现有技术中的测试方案都比较简单,还不能满足现有测试的需要。
发明内容
本发明所解决的技术问题在于提供了一种终端测试设备及方法。
本发明实施例中提供了一种终端测试设备,包括:
脚本存储模块,用于存储对终端的进行测试的脚本;
应用界面模块,用于供用户选择脚本存储模块中存储的脚本,向用户呈现脚本执行结果;
脚本模块,用于执行用户选择的脚本,并将脚本在执行过程中产生的命令发送至解释器模块;
解释器模块,用于将命令封装到UDP数据包内后传输给服务器模块;
服务器模块,用于将封装命令的UDP数据包转化为接口模块可识别的命令;
接口模块,用于根据命令调用终端接口板接口模块中定义的终端动作函数;
终端接口板接口模块,用于根据接口模块的调用将需终端执行的命令,以终端可识别的字符串形式封装到TCP或UDP报文中后发送给终端。
较佳地,解释器模块进一步用于将命令封装到UDP数据包内后,利用Python提供的SOCKET通信支持,将数据包发送给本地主机的回路地址。
较佳地,服务器模块进一步用于在本地主机的回路地址上监听并接收封装命令的UDP数据包。
较佳地,接口模块进一步用于根据命令调用终端接口板接口模块中定义的包括如下函数之一或者其组合的终端动作函数:
查询终端参数信息、设置业务QoS、激活/去激活、拨号、休眠、挂断、下载、上传、复位、计数。
较佳地,脚本存储模块进一步用于存储对终端的进行测试的Python语言编写的脚本。
本发明实施例中提供了一种终端测试方法,包括如下步骤:
执行用户选择的脚本,并将脚本在执行过程中产生的命令封装到UDP数据包内;
将封装命令的UDP数据包转化为可识别的命令;
根据命令调用定义的终端动作函数;
根据调用将需终端执行的命令,以终端可识别的字符串形式封装到TCP或UDP报文中后发送给终端;
向用户呈现脚本执行结果。
较佳地,进一步包括:
将命令封装到UDP数据包内后,利用Python提供的SOCKET通信支持,将数据包发送给本地主机的回路地址。
较佳地,进一步包括:
在本地主机的回路地址上监听并接收封装命令的UDP数据包后,转化为可识别的命令。
较佳地,根据命令调用定义的包括如下函数之一或者其组合的终端动作函数:
查询终端参数信息、设置业务QoS、激活/去激活、拨号、休眠、挂断、下载、上传、复位、计数。
较佳地,执行的脚本是Python语言编写的脚本。
本发明有益效果如下:
实现了终端全自动化测试,执行无需手动干预。能实现了各种数目终端、各种业务、各种操作相结合的自动化测试。可实现与其它自动测试软件的结合,扩展和丰富自动化测试功能。
附图说明
图1为本发明实施例中硬件环境示意图;
图2为本发明实施例中终端测试设备结构示意图;
图3为本发明实施例中用Python脚本进行测试的终端测试设备结构示意图;
图4为本发明实施例中终端测试方法实施流程示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行说明。
首先对本发明实施例提供的技术方案实施的硬件环境进行说明。
图1为硬件环境示意图,如图所示,包括:PC、Router(路由器)、命令服务板、终端接口板、UE(User Equipment,用户设备)。
PC机通过IP网络与命令服务板相连。命令服务板具有转发TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互连网协议)数据包的功能,用来连接网络和终端接口板,把与网络相连的自身的网口中收到的TCP/IP数据包转发到与终端接口板相连的网口上,同时,在与终端接口板相连的网口上接收终端接口板发送过来的TCP/IP数据包,并按照其目的地址,通过自身与网络相连的网口发送给发出命令的PC机。其实现可通过在一台PC机上安装服务器端软件实现,也可以通过开发一块具有支持TCP/IP协议的网络服务器功能的板卡或设备实现。
PC机发出的命令通过路由器后到命令服务板,命令服务板采用自身的交换功能将命令脚本转发给终端接口板,终端接口板具有数据转发的功能,用来连接命令服务板和测试终端,可以将命令服务板发送过来的标准TCP/IP报文中的命令字转化为与终端通信的标准接口协议(USB接口协议)后发送给终端(UE),以此来控制终端进行各种业务的自动拨打和终端其它功能;也可以将终端从USB口反馈的信息以命令字的形式添加到TCP/IP数据包中。终端接口板可通过专门的板卡或设备实现,也可理解为一块USB口扩展板。例如普通PC机可能只带有4个USB口,但为了控更多的终端,终端接口板可根据测试需要实现不同的USB口个数,例如支持8、16、32或更多的USB接口。其功能可以通过硬件与软件两部分共同实现,其硬件主要包括处理器,支持以太网标准接口的部件,支持标准USB接口的部件等。软件上主要就是以太驱动程序、USB驱动程序,以及基于二者之上的支持TCP/IP协议的标准的TCP/IP协议栈软件,标准的TCP/IP协议栈软件的功能就是基于以太和USB的底层硬件驱动程序之上,屏蔽两者的硬件差异,将两者提供的数据在高层统一转化为标准的TCP/IP数据包并进行通信。
以终端接口板从网口收到命令服务板卡发过来的标准的TCP/IP协议数据包并转发给USB口上的终端的过程为例:首先,命令服务板的信号是在它自身的以太网口发出的,通过网线(即以太网络)发送给终端接口板的以太网口,终端接口板的以太网口收到标准的以太包后交给以太芯片处理,以太芯片收到以太包后以中断的形式通知处理器,TCP/IP协议栈在处理器上实现,处理器上的TCP/IP协议栈控制处理器将此以太包接收,并按照以太转IP的形式进行封装,将其转化为标准的TCP/IP形式的数据包。之后,处理器上的TCP/IP协议栈将此数据包转化为USB驱动可接收的数据包形式,发送给USB驱动,USB驱动收到此包后,以标准的USB数据形式发送到USB接口,终端通过USB接口可收到此数据包。反之亦然。
同时,终端执行各种业务和动作的反馈结果,以协议形式反馈给终端接口板,接口板将这些信息发送给命令服务板,命令服务板通过网络将信息反馈给发出相应命令脚本的PC机。在此PC机上的终端自动拨测软件收到反馈结果,根据测试需要解析后显示在软件界面上。
终端接口板和终端之间的通信协议采用的是业内标准的通信协议,不再介绍。命令服务板则起到一个网络服务器的作用,用来转发PC和终端接口板之间的消息。
下面对终端的测试进行说明。
图2为终端测试设备结构示意图,如图所示,测试设备中可以包括:
脚本存储模块201,用于存储对终端的进行测试的脚本;
应用界面模块202,用于供用户选择脚本存储模块中存储的脚本,向用户呈现脚本执行结果;
脚本模块203,用于执行用户选择的脚本,并将脚本在执行过程中产生的命令发送至解释器模块;
解释器模块204,用于将命令封装到UDP(User Datagram Protocol,用户数据报协议)数据包内后传输给服务器模块;
服务器模块205,用于将封装命令的UDP数据包转化为接口模块可识别的命令;
接口模块206,用于根据命令调用终端接口板接口模块中定义的终端动作函数;
终端接口板接口模块207,用于根据接口模块的调用将需终端执行的命令,以终端可识别的字符串形式封装到TCP或UDP报文中后发送给终端。
实施中,解释器模块还可以进一步用于将命令封装到UDP数据包内后,利用Python提供的SOCKET通信支持,将数据包发送给本地主机的回路地址。
实施中,服务器模块还可以进一步用于在本地主机的回路地址上监听并接收封装命令的UDP数据包。
实施中,接口模块还可以进一步用于根据命令调用终端接口板接口模块中定义的包括如下函数之一或者其组合的终端动作函数:
查询终端参数信息、设置业务QoS(Quality of Service,服务质量)、激活/去激活、拨号、休眠、挂断、下载、上传、复位、计数。
实施中,脚本存储模块还可以进一步用于存储对终端的进行测试的Python语言编写的脚本。
下面以Python为例对测试设备的具体实施方式进行说明。
图3为用Python脚本进行测试的终端测试设备结构示意图,为便于理解,将本例中执行测试的方案具体化后的执行体称为终端自动拨测软件,并相应的按业内习惯对各功能模块进行命名,则如图所示,测试设备中可以包括:
终端自动拨测软件应用界面301:实现自动测试python脚本的选择、自动执行和测试结果呈现。对于使用者而言,仅能看到终端自动拨测软件应用界面和可执行Python用例。其基本功能相当于应用界面模块。
其中,自动执行是指其所执行的一方面是选择好哪些终端需要进行哪些操作后,通过自动测试软件下发命令即可。即开始执行到执行完成,无论是多个用户的切换,还是业务类型的更改,用户无需手动干预,并可以通过自动测试软件界面观察测试过程和测试结果。
同时,另一方面,在自动执行的功能中,可以根据测试需要设定异常情况的判断及其自动的后处理方法,比如可以设定并判断终端的哪些值在测试过程中不符合预期要求时,终端马上停止工作,并保存和反馈异常情况的参数。这样,有些问题的复现不需要人为的手动反复操作,只要把异常情况在脚本里定义好,自动拨测脚本就会在测试过程中异常情况出现时及时抓取需要的数据。
自动执行可理解为:给用户的感受是自动控制终端进行各种用户定义和选择好的操作,自动测试结果反馈,自动测试异常情况后处理。
Python脚本模块302:对于Python脚本而言,需要使用它来完成自动测试。但脚本自身并不能按照用户的选择和定义自动执行,需要调用终端自动拨测软件中的自动执行功能。其基本功能相当于脚本模块。
Python解释器303:Python提供了与C++嵌入式编程的方法,在终端自动拨测软件实现中复用了Python底层的UDP通信模块,利用本机环路通信的方式实现Python与终端自动拨测软件API(Application Program Interface,应用编程接口)的对接。这就需要通过脚本内部的python解释器处理,将调用的命令以字符串的形式封装到UDP数据包内,利用Python提供的SOCKET通信支持,将数据包发送给本地主机(本地主机回路IP:127.0.0.1),再由终端自动拨测软件接收信息和处理调用函数。其基本功能相当于解释器模块。
底层UDP通信模块304,实施中,解释器模块还可以进一步用于将命令封装到UDP数据包内后,利用Python提供的SOCKET通信支持,将数据包发送给本地主机的回路地址,服务器模块还可以进一步用于在本地主机的回路地址上监听并接收封装命令的UDP数据包,底层UDP通信模块便是此过程的具体体现,也即,python脚本开始执行后,先通过python解释器,将调用的命令以字符串的形式封装到UDP数据包内,利用Python提供的SOCKET通信支持,将数据包发送给本地主机(本地主机回路IP:127.0.0.1),即发给底层UDP通信模块。终端自动拨测软件Server监听底层本地主机回路地址的UDP通信,实现对监听到的字符串的解析和动态调用,将收到的命令转化为终端自动拨测软件API可识别的命令。
具体的,终端自动拨测软件一般是安装在PC机上的。调用python脚本时采用本机环路是为了确保python执行过程和执行结果可以被终端自动拨测软件接收到。
终端自动拨测软件Server305:为了接收Python发出的字符串命令,终端自动拨测软件内还可以提供另一个模块终端自动拨测软件Server,这个模块复用终端自动拨测软件底层通信层的UDP通信模块,实现字符串的解析和动态调用。其基本功能相当于服务器模块。
终端自动拨测软件API306:在终端自动拨测软件Server之上,将底层的测试机理封装,这个接口便是终端自动拨测软件的API。在终端自动拨测软件解决方案中,所有的测试功能通过API中的函数组合调用完成,因此对于自动测试而言,其实质就是反复调用API中提供的测试接口函数,利用底层提供的服务完成自动测试任务。API提供了调用函数,在Python脚本中是无法直接调用这些函数的,因此系统设计时采用了UDP通信的方式通过发送字符串的方式完成了Python与C++的对接,Python中对所调用的API函数还需要映射为Python函数集,如是才能完成函数调用。其基本功能相当于接口模块。
终端接口板动作级API307,根据终端自动拨测软件API的调用将需终端执行的命令,以终端可识别的字符串形式封装到TCP或UDP报文中后发送给终端。其基本功能相当于终端接口板接口模块。
下面对具体的接口实施方式进行说明。
1、设计LinkInterface.py,用以实现终端接口板底层信令接口。
LinkInterface.py为终端接口板底层信令接口,定义终端接口板和终端自动拨测软件所在设备的SOCKET级通信,为上层各种功能提供底层支撑,其服务对象为终端接口板底层信令。因为安装终端自动拨测软件的PC机采用的都是windows操作系统,基于服务器和客户端的通信协议都是标准TCP/IP协议,因此,只需将终端接口板的底层socket级通信定义清楚即可。其他操作系统也会提供相应的功能,视情况作相应改进即可。
2、设计Class.py,实现终端接口板动作级API。
Class.py为终端接口板的动作级API,Class.py可以定义对终端所能执行的全部各种操作。Class.py基于LinkInterface.py之上实现对终端动作级别的命令控制,例如:查询终端参数信息、设置业务QoS、激活/去激活、拨号、休眠、挂断、下载、上传、复位、计数等动作功能。
3、设计CommandInterface.py,实现终端自动拨测软件API。
CommandInterface.py为终端自动拨测软件的API接口,定义了与终端自动拨测软件交互的Python接口标准。使终端自动拨测软件能够执行Python脚本并完成交互。同时,由于Python语言自身的特性,CommandInterface.py可以作为标准接口,集成到其它支持Python的自动测试软件中。只要开发与终端自动拨测软件API相对应的软件接口,即可将终端自动拨测软件的功能结合到其它自动测试软件中。
4、设计终端自动拨测软件命令脚本,实现终端具体操作的执行。
终端自动拨测软件命令脚本定义终端执行哪些操作以及操作如何执行。它同时调用Class.py和CommandInterface.py封装的功能,对终端所需执行的操作进行定义和执行,并反馈执行结果。同时,可以对关注的反馈结果进行判断,并进行相应的后处理。比如实现一个控制终端进行下载的命令脚本DL.py,在脚本里首先定义哪个终端进行下载,然后定义该终端的下载速率、下载地址、下载持续时间等参数信息,之后开始执行下载操作,下载结束后,获取下载时的各种参数值,并可根据关注的参数进行相应的处理。例如定义下载成功次数变量,每次下载成功自动增加一次,一旦发现下载完成后此变量没有增加,则认为下载过程异常,并停止测试,通知给终端自动拨测软件下载异常。
以下为用Python脚本进行测试的实施流程,测试中可以包括:
1:打开终端自动拨测软件应用界面,此时调用终端自动拨测软件的界面程序。
2:选择需要执行的python脚本,脚本存放在终端自动拨测软件安装目录中指定存放python脚本的路径下。
此时,该路径下的文件实际上相当于脚本存储模块,用于存储对终端的进行测试的脚本。
3:在终端自动拨测软件界面上选择要执行的python脚本,并定义脚本需执行的顺序、次数等;
4:开始执行,python脚本开始执行后,先通过python解释器,将调用的命令以字符串的形式封装到UDP数据包内,利用Python提供的SOCKET通信支持,将数据包发送给本地主机(本地主机回路IP:127.0.0.1),即发给底层UDP通信模块。
5:终端自动拨测软件Server监听底层本地主机回路地址的UDP通信,实现对监听到的字符串的解析和动态调用,将收到的命令转化为终端自动拨测软件API可识别的命令。
6:终端自动拨测软件API根据命令对自身内封装的函数进行调用,通常都是多种函数组合的方式进行调用。
7:当终端自动拨测软件API发现此python脚本命令是要对终端进行控制的脚本时,调用终端接口板动作级API中Class.py定义的所有终端动作函数,通常是调用Class.py中的各种函数组合。
8:通过终端接口板动作级API的底层信令接口LinkInterface.py中的定义的SOCKET通信功能,将命令以终端可识别的字符串的形式封装到TCP或UDP报文中。
9:通过PC机自身的TPC/IP协议栈将报文发送到网络中,目的地址为命令服务板的IP地址。
10:命令服务板收到标准的TCP/IP命令报文后转发给终端接口板,命令服务板的接口为标准的TCP/IP协议(此处实现采用标准的TCP/IP通信),转发给终端接口板的也为标准的TCP/IP协议,实际只实现路由功能,保证网络中使用终端自动拨测软件的PC基均能发送命令给终端接口板。
11:终端接口板接收命令服务板发送过来的TCP/IP数据包,通过自身以太与USB数据转化功能,将命令通过其USB接口发送给与之相连的终端。
具体实施中,终端自动拨测软件的底层数据流即为以太数据流,即处理器将TCP/IP协议栈的数据处理成以太包的形式,发送给以太驱动设备,以太驱动设备将以太数据通过PC机的以太网卡传输到网络中。
终端接口板的底层数据流,在网络侧的为以太数据流,在与终端连接侧为USB数据。终端接口板的TCP/IP协议栈的作用就是将以太数据和USB数据相互装换。
对于python脚本存储模块的实现,也可以由终端自动拨测软件应用界面实现,即安装此软件时代码中指定存放python脚本的特定存放路径,并根据脚本的名称自动形成一张可执行脚本的表格。在通过界面进行脚本导入时,自动调用这此表格,用户选择表格里的脚本名称和执行先后顺序(执行的先后顺序均可按用户需要前后移动,每个过程执行的次数也可定义),即可调用存放在python脚本路径下的脚本。
终端自动拨测软件与命令服务板的软件接口是标准的TCP/IP协议栈,命令服务板对命令是透传的功能。与终端接口板的连接模块是终端接口板动作级API。终端接口板对TCP/IP协议与终端标准命令字的转化可以按业内标准规定进行,设计上可以把对终端接口板动作级API的实现放到终端自动拨测软件中,这并不会影响对终端接口板的控制,也有利于软件功能的集成和安装使用。
基于同一发明构思,本发明实施例中还提供了一种终端测试方法,由于该方法解决问题的原理与终端测试设备相似,因此该方法的实施可以参见设备的实施,重复之处不再赘述。
图4为终端测试方法实施流程示意图,如图所示,测试中可以包括如下步骤:
步骤401、执行用户选择的脚本,并将脚本在执行过程中产生的命令封装到UDP数据包内;
步骤402、将封装命令的UDP数据包转化为可识别的命令;
步骤403、根据命令调用定义的终端动作函数;
步骤404、根据调用将需终端执行的命令,以终端可识别的字符串形式封装到TCP或UDP报文中后发送给终端;
步骤405、向用户呈现脚本执行结果。
实施中,还可以进一步包括:将命令封装到UDP数据包内后,利用Python提供的SOCKET通信支持,将数据包发送给本地主机的回路地址。
实施中,还可以进一步包括:在本地主机的回路地址上监听并接收封装命令的UDP数据包后,转化为可识别的命令。
实施中,可以根据命令调用定义的包括如下函数之一或者其组合的终端动作函数:
查询终端参数信息、设置业务QoS、激活/去激活、拨号、休眠、挂断、下载、上传、复位、计数。
实施中,执行的脚本可以是Python语言编写的脚本。
现有技术的方案中,虽然有些方案可以做到单个终端单个业务的重复多次拨打,但是要想实现对某个或多个终端各种不同业务或动作的组合操作仍需要人为手动设置。也即:
对终端的控制需要人为手动干预,即在测试过程开始后对终端有其它操作均需手动实现,无法实现整个测试过程中终端的自动化测试。
测试过程中,多终端多种业务组合测试的实现均需手动干预,对终端执行结果及终端执行异常的后处理缺少判断保护。
同时,没有与其它自动测试软件正式开放的软件接口,自动拨测功能无法和其他自动测试类软件结合。
但是从上述实施例可见,在本发明提供的技术方案中,提出了自动控制终端测试的软件实现方案,通过此方案,只需设计相应的测试脚本,即可控制多个终端进行各种业务和动作组合的自动化测试。
具体的,通过终端自动拨测软件,在软件上实现了python脚本的自动执行功能,实现了python脚本和终端接口板之间的软件接口功能,实现了标准的python调用接口。
这样,通过编写标准的python脚本,加上终端自动拨测软件自动执行python脚本的功能,调用各定义好的软件接口,就实现了控制终端进行自动化测试,无需手动干预。
同时,终端自动拨测软件接口及其独有的灵活丰富的软件命令脚本,完全可以实现终端各种业务、各种操作相结合的自动化测试,同时保证了用例执行和测试结果的准确性、有效性并能对测试中的异常情况进行相应的后处理。
具体的,终端自动拨测软件命令脚本,为在多用户多业务组合的测试中,通过在命令脚本中将用户需要操控的终端和申请的各种业务定义为用户变量和业务变量,根据用户的测试需求对这些变量赋值并向各终端发送命令消息,获取和判断测试结果,以及调用Class.py中定义的其它终端所能执行的全部各种操作。通过软件判别的形式,可以保证终端每个动作的结果符合预期的结果,对测试中出现不符合预期的异常情况,也可以根据需要在软件上定义和实现各种后处理方法。这样,使用者只需在自动测试前定义好哪些终端按何种顺序进行哪些业务测试,执行哪些特殊操作,期望得到那些预期测试结果即可。代码中的执行、反馈、判断和后处理部分,既保证了脚本执行的有效性和可靠性,也保证了终端动作的准确、可靠性。各个终端的各种业务组合和各种操作,可根据终端实际支持的功能任意定义和实现,并自动执行。
进一步的,终端自动拨测软件开放式的软件架构可实现与其它自动测试软件的结合。
具体的,由于终端接口板API和终端自动拨测软件API都是采用标准的Python语言编写,且终端自动拨测软件实现了支持python脚本的python解释器。因此,对于其它支持Python的自动测试软件来讲,软件接口和功能都是标准的和完全开放的,可以根据自动拨测软件的API接口来修改其它自动测试软件的接口,也可以根据其它自动测试软件的接口修改自动拨测软件的API接口,只要两种软件的接口统一,那么其它的自动测试软件就可以集成终端自动拨测软件的功能。
综上所述,现有的终端测试都是手动或半自动化的,比如修改终端申请的业务类型需要手动设置。终端自动化拨测方案,实现了终端全自动化测试。即通过设计命令脚本,终端所具有的功能均可按照设计,自动准确的执行无需手动干预。
终端自动拨测软件接口及丰富灵活的软件命令脚本,实现了各种数目终端、各种业务、各种操作相结合的自动化测试。现有技术中,当进行多终端组合业务测试时,需要在测试过程中手动选择不同的终端,手动申请不同的业务。采用终端自动拨测方案,用户只需在命令脚本中定义终端和此终端需要进行的操作,就可以实现多个终端的各种业务组合和各种操作的自动化测试,终端动作的执行和执行的准确性和可靠性均由代码保证。
终端自动拨测软件可实现与其它自动测试软件的结合,扩展和丰富自动化测试功能。只要其它自动测试软件开发相应的Python接口即可调用终端自动拨侧软件的功能。目前已有的实例是我司的ATP已经集合了自动拨测的功能,在原有的自动化测试的用例基础上,融合了自动拨打功能,提升了测试效率,大大提高用例可自动化数量。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (6)
1.一种终端测试设备,其特征在于,包括:
脚本存储模块,用于存储对终端的进行测试的脚本;
应用界面模块,用于供用户选择脚本存储模块中存储的脚本,向用户呈现脚本执行结果;
脚本模块,用于执行用户选择的脚本,并将脚本在执行过程中产生的命令发送至解释器模块;
解释器模块,用于将命令封装到用户数据报协议UDP数据包内后传输给服务器模块;
服务器模块,用于将封装命令的UDP数据包转化为接口模块可识别的命令;
接口模块,用于根据命令调用终端接口板接口模块中定义的终端动作函数;
终端接口板接口模块,用于将接口模块调用终端动作函数后获得的命令,以终端可识别的字符串形式封装到传输控制协议TCP或UDP报文中后发送给终端;
解释器模块进一步用于将命令封装到UDP数据包内后,利用Python提供的SOCKET通信支持,将数据包发送给本地主机的回路地址;
服务器模块进一步用于在本地主机的回路地址上监听并接收封装命令的UDP数据包。
2.如权利要求1所述的设备,其特征在于,接口模块进一步用于根据命令调用终端接口板接口模块中定义的包括如下函数之一或者其组合的终端动作函数:
查询终端参数信息、设置业务服务质量QoS、激活/去激活、拨号、休眠、挂断、下载、上传、复位、计数。
3.如权利要求1至2任一所述的设备,其特征在于,脚本存储模块进一步用于存储对终端的进行测试的Python语言编写的脚本。
4.一种终端测试方法,其特征在于,包括如下步骤:
执行用户选择的脚本,并将脚本在执行过程中产生的命令封装到UDP数据包内;
将封装命令的UDP数据包转化为可识别的命令;
根据命令调用定义的终端动作函数;
将调用终端动作函数后获得的命令,以终端可识别的字符串形式封装到TCP或UDP报文中后发送给终端;
向用户呈现脚本执行结果;
进一步包括:
将命令封装到UDP数据包内后,利用Python提供的SOCKET通信支持,将数据包发送给本地主机的回路地址;
进一步包括:
在本地主机的回路地址上监听并接收封装命令的UDP数据包后,转化为可识别的命令。
5.如权利要求4所述的方法,其特征在于,根据命令调用定义的包括如下函数之一或者其组合的终端动作函数:
查询终端参数信息、设置业务QoS、激活/去激活、拨号、休眠、挂断、下载、上传、复位、计数。
6.如权利要求4至5任一所述的方法,其特征在于,执行的脚本是Python语言编写的脚本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010548178.1A CN102468993B (zh) | 2010-11-17 | 2010-11-17 | 一种终端测试设备及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010548178.1A CN102468993B (zh) | 2010-11-17 | 2010-11-17 | 一种终端测试设备及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102468993A CN102468993A (zh) | 2012-05-23 |
CN102468993B true CN102468993B (zh) | 2014-04-16 |
Family
ID=46072196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010548178.1A Active CN102468993B (zh) | 2010-11-17 | 2010-11-17 | 一种终端测试设备及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102468993B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804307A (zh) * | 2018-04-19 | 2018-11-13 | 北京炎黄盈动科技发展有限责任公司 | 流程自动化测试方法及装置 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103002492B (zh) * | 2012-11-30 | 2015-06-24 | 北京百度网讯科技有限公司 | 一种移动终端的通信测试方法及装置 |
CN104639384B (zh) * | 2013-11-11 | 2019-03-15 | 中兴通讯股份有限公司 | 测试命令发送方法、装置及系统 |
CN103684581B (zh) * | 2013-12-20 | 2019-07-05 | 上海斐讯数据通信技术有限公司 | 一种光网络单元vlan功能的自动化测试方法 |
CN104125117A (zh) * | 2014-08-04 | 2014-10-29 | 上海斐讯数据通信技术有限公司 | 一种收发包测试方法 |
CN109144819A (zh) * | 2018-08-20 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种服务器的监控方法和装置 |
CN111175632A (zh) * | 2018-11-13 | 2020-05-19 | 南京南瑞继保电气有限公司 | 一种基于python的单板测试系统 |
CN112463572B (zh) * | 2019-09-06 | 2023-09-15 | 福建天泉教育科技有限公司 | 一种跨境多服务拨测的软件测试系统及其方法 |
CN113472461B (zh) * | 2020-03-31 | 2022-10-04 | 华为技术有限公司 | 一种无线智能生产测试方法及装置 |
CN111666183B (zh) * | 2020-04-13 | 2023-06-23 | 芜湖宏景电子股份有限公司 | 一种硬件回路自动测试方法 |
CN112783774A (zh) * | 2021-01-25 | 2021-05-11 | 东风电子科技股份有限公司 | 实现自动测试的脚本文件生成系统及其测试控制方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101287263A (zh) * | 2008-06-11 | 2008-10-15 | 中国移动通信集团湖北有限公司 | 交换网中继线路测试方法、测试系统及测试服务器 |
CN101325625A (zh) * | 2008-07-25 | 2008-12-17 | 余纯龙 | 一种远程手机测试系统、装置及方法 |
CN101478449A (zh) * | 2009-01-22 | 2009-07-08 | 凌阳科技股份有限公司 | 一种协议自动测试方法及其系统 |
CN101551778A (zh) * | 2009-05-08 | 2009-10-07 | 刘志方 | 支持Python扩展的测试方法 |
-
2010
- 2010-11-17 CN CN201010548178.1A patent/CN102468993B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101287263A (zh) * | 2008-06-11 | 2008-10-15 | 中国移动通信集团湖北有限公司 | 交换网中继线路测试方法、测试系统及测试服务器 |
CN101325625A (zh) * | 2008-07-25 | 2008-12-17 | 余纯龙 | 一种远程手机测试系统、装置及方法 |
CN101478449A (zh) * | 2009-01-22 | 2009-07-08 | 凌阳科技股份有限公司 | 一种协议自动测试方法及其系统 |
CN101551778A (zh) * | 2009-05-08 | 2009-10-07 | 刘志方 | 支持Python扩展的测试方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804307A (zh) * | 2018-04-19 | 2018-11-13 | 北京炎黄盈动科技发展有限责任公司 | 流程自动化测试方法及装置 |
CN108804307B (zh) * | 2018-04-19 | 2022-04-08 | 北京炎黄盈动科技发展有限责任公司 | 流程自动化测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102468993A (zh) | 2012-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102468993B (zh) | 一种终端测试设备及方法 | |
CN101939964B (zh) | 用于按需无线服务的自适应流式传输 | |
Chung et al. | NS by Example | |
EP2418825A1 (en) | Method and system for generating open telecommunication service based on internet | |
EP2003854B1 (en) | Server for communicating with multi-mode devices using multi-mode applications | |
CN101316196B (zh) | 一种对分布式平台上的业务进行仿真测试的实现方法与装置 | |
CN104993947A (zh) | 批量升级固件的方法 | |
CN111522727B (zh) | 一种模拟对象测试方法、设备和系统 | |
CN109445323B (zh) | 一种基于web的分布式智能测控软件平台设计方法 | |
CN103092583B (zh) | 一种动态生成设置项列表视图的方法及装置 | |
CN109324912A (zh) | 面向软件通信体系结构的应用管理类软件的通信方法 | |
CN106411637A (zh) | 物联网设备场景测试方法 | |
CN101442767B (zh) | 一种控制多部用户终端自动进行业务的方法和装置 | |
CN107450993A (zh) | 一种分布式iec61850通信组件的数据交互方法 | |
CN109189400A (zh) | 程序发布方法及装置、存储介质、处理器 | |
CN103164207A (zh) | 基于安卓系统的跨硬件平台的应用程序开发方法和系统 | |
CN107623555A (zh) | 一种通用型通信仿真平台的实现方法及装置 | |
CN105187257B (zh) | 一种舰船作战系统模拟器体系及其信息处理方法 | |
CN108737397A (zh) | 一种实现路由器中业务与协议栈之间数据交互的方法 | |
CN112558903A (zh) | 一种基于组件的分布式仿真模型显控系统和交互方法 | |
CN102420722A (zh) | 综合组网自动化测试方法及系统 | |
CN102281584A (zh) | 一种物联网能力的实现方法及系统 | |
CN113810402B (zh) | 多协议适配方法和系统,计算机设备,存储介质 | |
WO2010046888A1 (en) | Testing of communication networks | |
CN102196010A (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 |