CN113691415B - 网络测试仪的调用方法、装置、设备以及存储介质 - Google Patents
网络测试仪的调用方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN113691415B CN113691415B CN202110847906.7A CN202110847906A CN113691415B CN 113691415 B CN113691415 B CN 113691415B CN 202110847906 A CN202110847906 A CN 202110847906A CN 113691415 B CN113691415 B CN 113691415B
- Authority
- CN
- China
- Prior art keywords
- call request
- network tester
- call
- network
- api
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种网络测试仪的调用方法、装置、设备以及存储介质,该方法包括:通过comm通讯模块监听客户端是否发起对网络测试仪的第一应用程序接口API的调用请求,调用请求为使用python语言进行封装的用于操作网络测试仪的信息,若监听到调用请求,对调用请求使用Tcl语言进行二次封装,得到二次封装后的调用请求,将二次封装后的调用请求发送至第一API,以驱动网络测试仪进行自动化测试。从而,客户端可调用网络测试仪提供的Tcl语言的API,进而使得网络测试仪可进行对待测网络设备的自动化测试,而且还可提高测试效率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种网络测试仪的调用方法、装置、设备以及存储介质。
背景技术
网络测试仪表是一种可以对OSI模型定义的物理层、数据链路层、网络层、传输层、会话层、表示层和应用层进行功能、性能和脆弱性测试,并能进行协议一致性和仿真测试的便携、可视的智能检测设备,主要适用于各类网络产品测试。思博伦网络测试仪(SpirentTest center)是一款功能非常强大的网络测试仪表,覆盖以太网中的L2~L7层,被广泛应用于通信领域,Spirent Test Center的所有图形用户接口(Graphical User Interface,GUI)上提供的功能都有对应的应用程序接口(Application Programming Interface,API),它的API组织架构是面向对象的,并且提供对多种编程语言的支持(如脚本语言(Toolcommand language,Tcl)、Java、Perl、Ruby和C++等)。
目前在利用上述网络测试仪对网络设备进行自动化测试时,一般是将待测网络设备与网络测试仪的一端口连接,将计算机(PC)分别与待测网络设备和网络测试仪通过以太网连接,并搭建测试环境,然后开始运行测试。具体在每次进行自动化测试时,PC上安装的自动化测试框架(也称为客户端)调用网络测试仪提供的Tcl语言的API以驱动网络测试仪进行自动化测试。
但是,一方面,客户端在调用网络测试仪提供的Tcl语言的API之前需要导入预设的Tcl库,该导入过程会增加自动化测试的时间。另一方面,网络测试仪提供的Tcl语言的API只支持32位的操作系统运行的tclsh程序去调用,而目前的PC的操作系统都是64位,64位的操作系统的PC上安装的客户端是采用python语言编写的,因此该客户端不能直接调用网络测试仪提供的Tcl语言的API,会导致网络测试仪无法进行对待测网络设备的自动化测试。
发明内容
本申请提供一种网络测试仪的调用方法、装置、设备以及存储介质,以解决客户端不能直接调用网络测试仪提供的Tcl语言的API,导致网络测试仪无法进行对待测网络设备的自动化测试的问题。
第一方面,本申请提供一种网络测试仪的调用方法,包括:
通过通信管理器comm通讯模块监听客户端是否发起对网络测试仪的第一应用程序接口API的调用请求,所述调用请求为使用python语言进行封装的用于操作所述网络测试仪的信息;
若监听到所述调用请求,对所述调用请求使用Tcl语言进行二次封装,得到二次封装后的调用请求;
将所述二次封装后的调用请求发送至所述第一API,以驱动所述网络测试仪进行自动化测试。
可选的,所述通过通信管理器comm通讯模块监听客户端是否发起对网络测试仪的第一应用程序接口API的调用请求,包括:
通过所述comm通讯模块接收所述客户端发送的调用请求,并将所述调用请求存储在缓存区;
按照预设时间间隔读取所述缓存区中的所述调用请求;
若从所述缓存区中读取的当前调用请求与从所述缓存区中读取的上一次的调用请求的内容不同,则确定监听到所述调用请求;
若从所述缓存区中读取的当前调用请求与从所述缓存区中读取的上一次的调用请求的内容相同,则确定未监听到所述调用请求。
上述申请中的另一个实施例具有如下优点或者有益效果:本实施例中通过comm通讯模块接收客户端发送的调用请求,再按照预设时间间隔读取缓存区中的调用请求,可根据从缓存区中读取的当前调用请求与从缓存区中读取的上一次的调用请求的内容是否相同来确定是否监听到调用请求,避免在调用请求的内容相同时对调用请求重复进行二次封装以及发送至第一API,避免网络测试仪重复发起测试,提高测试效率。
可选的,所述调用请求携带调用信息的类型和用于指示操作所述网络测试仪的操作命令;
所述对所述调用请求使用Tcl语言进行二次封装,得到二次封装后的调用请求,包括:
若所述调用请求携带的调用信息的类型为第一类型,则对所述用于指示操作所述网络测试仪的操作命令使用Tcl语言进行二次封装,得到二次封装后的调用请求。
上述申请中的另一个实施例具有如下优点或者有益效果:通过对用于指示操作所述网络测试仪的操作命令使用Tcl语言进行二次封装,得到的是Tcl语言封装的调用请求,从而该Tcl语言封装的调用请求可以调用网络测试仪提供的Tcl语言的API,因此可以实现客户端调用网络测试仪提供的Tcl语言的API。
可选的,所述方法还包括:
若所述调用请求携带的调用信息的类型为第二类型,则进行所述comm通讯模块的初始化通信确认。
上述申请中的另一个实施例具有如下优点或者有益效果:通过在调用请求携带的调用信息的类型为第二类型时进行comm通讯模块的初始化通信确认,确保comm通讯模块正常启动,以便于通过comm通讯模块监听客户端发起的调用请求。
可选的,所述方法还包括:
启动所述comm通讯模块,并选择所述comm通讯模块的通讯端口;
在当前界面显示用于指示初始化通讯成功或失败的信息。
上述申请中的另一个实施例具有如下优点或者有益效果:通过启动comm通讯模块,并选择comm通讯模块的通讯端口,以便于通过comm通讯模块监听客户端发起的调用请求。
可选的,所述方法还包括:
导入所述网络测试仪组件库的Tcl文件,并通过预设代码引入所述comm通讯模块。
上述申请中的另一个实施例具有如下优点或者有益效果:通过导入所述网络测试仪组件库的Tcl文件,并通过预设代码引入comm通讯模块,便于使用comm通讯模块监听客户端发起的调用请求。
可选的,所述方法还包括:
若代理结束标志位为第一值,则退出监听所述调用请求,所述第一值为在预设运行时间截止时设置;
若所述代理结束标志位为第二值,则继续监听所述调用请求。
上述申请中的另一个实施例具有如下优点或者有益效果:通过设置代理结束标志位,可以控制代理服务装置的运行时间,测试人员可以根据实际所需的测试时间控制代理服务装置的运行时间。
第二方面,本申请提供一种网络测试仪的调用装置,包括:
监听模块,用于通过通信管理器comm通讯模块监听客户端是否发起对网络测试仪的第一应用程序接口API的调用请求,所述调用请求为使用python语言进行封装的用于操作所述网络测试仪的信息;
处理模块,用于在监听到所述调用请求时,对所述调用请求使用Tcl语言进行二次封装,得到二次封装后的调用请求;
发送模块,用于将所述二次封装后的调用请求发送至所述第一API,以驱动所述网络测试仪进行自动化测试。
第三方面,本申请提供一种网络测试仪的调用设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行第一方面或第一方面各可能的实施方式中任一所述的网络测试仪的调用方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第一方面各可能的实施方式中任一所述的网络测试仪的调用方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面或第一方面各可能的实施方式中任一所述的网络测试仪的调用方法。
本申请提供的网络测试仪的调用方法、装置、设备以及存储介质,代理服务装置通过comm通讯模块监听客户端发起的对网络测试仪的第一API的调用请求,对该调用请求使用Tcl语言进行二次封装后发送至对应的API,客户端发起的调用请求为使用python语言进行封装的用于操作网络测试仪的信息,代理服务装置将该调用请求使用Tcl语言进行二次封装后,得到的是Tcl语言封装的调用请求,从而该Tcl语言封装的调用请求可以调用网络测试仪提供的Tcl语言的API,因此可以实现客户端调用网络测试仪提供的Tcl语言的API,从而使得网络测试仪可进行对待测网络设备的自动化测试。另外,由于客户端只需要向代理服务装置发送调用请求,由代理服务装置和网络测试仪之间进行通讯,可以省去客户端在调用网络测试仪提供的Tcl语言的API之前需要导入预设的Tcl库这一步骤,可以节省该导入过程增加的时间,因此还可提高测试效率。
附图说明
图1为本申请实施例提供的网络测试仪的调用方法的一种应用场景示意图;
图2为本申请实施例提供的一种网络测试仪的调用方法的流程图;
图3为本申请实施例提供的一种网络测试仪的调用方法实施例的流程图;
图4为本申请实施例提供的一种网络测试仪的调用方法的交互流程图;
图5为本申请实施例提供的一种网络测试仪的调用装置的结构示意图;
图6为本申请实施例提供的一种网络测试仪的调用设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
本申请实施例的说明书、权利要求书及附图中的术语“第一”和“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请实施例的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
相关技术中在利用网络测试仪对网络设备进行自动化测试时,需要通过PC上安装的客户端调用网络测试仪提供的Tcl语言的API以驱动网络测试仪进行自动化测试,一方面自动化测试的时间较长,测试效率不高,另一方面客户端不能直接调用网络测试仪提供的Tcl语言的API,会导致网络测试仪无法进行对待测网络设备的自动化测试。为解决这一问题,本申请实施例提供一种网络测试仪的调用方法、装置、设备以及存储介质,通过代理服务装置利用通信管理器(简称comm)通讯模块监听客户端发起的对网络测试仪的某一API的调用请求,对该调用请求使用Tcl语言进行二次封装后发送至对应的API,利用了comm通讯模块作为客户端与网络测试仪沟通的桥梁,客户端发起的调用请求为使用python语言进行封装的用于操作网络测试仪的信息,代理服务装置将该调用请求使用Tcl语言进行二次封装后,得到的是Tcl语言封装的调用请求,从而该Tcl语言封装的调用请求可以调用网络测试仪提供的Tcl语言的API,因此可以实现客户端调用网络测试仪提供的Tcl语言的API,从而使得网络测试仪可进行对待测网络设备的自动化测试。另外,由于客户端只需要向代理服务装置发送调用请求,由代理服务装置和网络测试仪之间进行通讯,可以省去客户端在调用网络测试仪提供的Tcl语言的API之前需要导入预设的Tcl库这一步骤,可以节省该导入过程增加的时间,因此还可提高测试效率。
接下来,对本申请实施例涉及的应用场景进行示例说明。
本申请实施例提供的网络测试仪的调用方法至少可以应用于下述应用场景中,下面结合附图进行说明。
示例性的,图1为本申请实施例提供的网络测试仪的调用方法的一种应用场景示意图,如图1所示,包括网络测试仪1、待测网络设备2、终端设备3和代理服务器4,待测网络设备2与网络测试仪1的一端口连接,终端设备3分别与待测网络设备2和网络测试仪1通过网络连接,代理服务器4与终端设备3可以通过网络连接。其中,终端设备3可以是各类终端设备,如手机、个人计算机、平板电脑等。终端设备3上安装客户端(即自动化测试框架),客户端向网络测试仪提供的Tcl语言的API发送调用请求,该调用请求可以驱动网络测试仪进行自动化测试。本申请实施例中,可以在终端设备3上安装代理服务装置,还可以在代理服务器4上安装代理服务装置,通过代理服务装置执行本申请实施例提供的网络测试仪的调用方法,以实现客户端可调用网络测试仪提供的Tcl语言的API,从而使得网络测试仪可进行对待测网络设备的自动化测试。
下面以具体的实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的一种网络测试仪的调用方法的流程图,该网络测试仪的调用方法可以由网络测试仪的调用装置(如代理服务装置)执行,该网络测试仪的调用装置可以通过软件和/或硬件的方式实现。如图2所示,本实施例的方法可以包括:
S101、通过comm通讯模块监听客户端是否发起对网络测试仪的第一API的调用请求,调用请求为使用python语言进行封装的用于操作网络测试仪的信息。
具体地,第一API为网络测试仪的任一Tcl语言的API,客户端可以为自动化测试框架对应的客户端,测试人员可根据使用python语言封装好的程序去驱动网络测试仪,具体可以是操作客户端向代理服务装置发起对网络测试仪的第一API的调用请求,可选的,本实施例中的网络测试仪可以为Spirent Test center。
本实施例中,调用请求为使用python语言进行封装的用于操作网络测试仪的信息,其中,用于操作网络测试仪的信息可以包括网络测试仪的IP地址、网络测试仪测试时占用的端口号、发数据包和收数据包等信息。
可选的,客户端可以基于代理服务装置的对应命令,根据测试人员的经验和编程习惯使用python语言封装用于操作网络测试仪的信息,例如可以使用python语言封装用于操作网络测试仪的信息得到spirent.py文件,将spirent.py文件存储在客户端,客户端可基于该spirent.py文件发起调用请求。
作为一种可实施的方式,S101中通过comm通讯模块监听客户端是否发起对网络测试仪的第一API的调用请求,具体可以为:
S1011、通过comm通讯模块接收客户端发送的调用请求,并将调用请求存储在缓存区。
具体地,在预设的运行时间内,本实施例的代理服务装置一直处于运行状态,不间断地通过comm通讯模块接收客户端发送的调用请求,并将调用请求存储在缓存区。
S1012、按照预设时间间隔读取缓存区中的调用请求。
例如,预设时间间隔为1S,0.5S等,本实施例对此不做限制。
S1013、若从缓存区中读取的当前调用请求与从缓存区中读取的上一次的调用请求的内容不同,则确定监听到调用请求。
S1014、若从缓存区中读取的当前调用请求与从缓存区中读取的上一次的调用请求的内容相同,则确定未监听到调用请求。
S102、若监听到调用请求,对调用请求使用Tcl语言进行二次封装,得到二次封装后的调用请求。
具体地,调用请求携带调用信息的类型和用于指示操作网络测试仪的操作命令,调用请求携带调用信息的类型可以为第一类型或第二类型,例如第一类型用于指示进行调用网络测试仪的第一API,第二类型用于指示进行初始化通通信,第一类型和第二类型可以通过指示信息指示,例如指示信息为1,则指示调用请求携带调用信息的类型为第一类型,如指示信息为0,则指示调用请求携带调用信息的类型为第二类型。
作为一种可实施的方式,S102具体可以为:
若调用请求携带的调用信息的类型为第一类型,则对用于指示操作网络测试仪的操作命令使用Tcl语言进行二次封装,得到二次封装后的调用请求。
可选的,若调用请求携带的调用信息的类型为第二类型,则进行comm通讯模块的初始化通信确认。
可选的,本实施例的方法还可以包括:启动comm通讯模块,并选择comm通讯模块的通讯端口,在当前界面显示用于指示初始化通讯成功或失败的信息。
S103、将二次封装后的调用请求发送至第一API,以驱动网络测试仪进行自动化测试。
具体地,二次封装后的调用请求是Tcl语言封装的调用请求,将该二次封装后的调用请求发送至第一API,从而该Tcl语言封装的调用请求可以调用网络测试仪提供的Tcl语言的API,因此可以实现客户端调用网络测试仪提供的Tcl语言的API,进而可驱动网络测试仪进行自动化测试,例如向待测网络设备发送数据包,待测网络设备接收数据包以及处理数据包,向网络测试仪返回数据包,发数据包和接收数据包的过程中网络测试仪可测试待测网络设备的性能和功能等等。
可选的,本实施例的方法在S101之前,还可以包括:
导入网络测试仪组件库的Tcl文件,并通过预设代码引入comm通讯模块。代理服务装置通过预设代码引入comm通讯模块,代理服务装置才可通过comm通讯模块监听客户端发起的对网络测试仪的某一API的调用请求。
本实施例中,代理服务装置启动comm通讯模块后,客户端可以使用python封装的调用请求操作网络测试仪,测试人员只要加载相应的软件包,便可以根据python自行进行自动化脚本编写,可以减少测试人员对网络测试仪(如SpirentTestCenter)的API知识的了解,降低了自动化脚本的编写难度和工作量。
本实施例提供的网络测试仪的调用方法,代理服务装置通过comm通讯模块监听客户端发起的对网络测试仪的第一API的调用请求,对该调用请求使用Tcl语言进行二次封装后发送至对应的API,客户端发起的调用请求为使用python语言进行封装的用于操作网络测试仪的信息,代理服务装置将该调用请求使用Tcl语言进行二次封装后,得到的是Tcl语言封装的调用请求,从而该Tcl语言封装的调用请求可以调用网络测试仪提供的Tcl语言的API,因此可以实现客户端调用网络测试仪提供的Tcl语言的API,从而使得网络测试仪可进行对待测网络设备的自动化测试。另外,由于客户端只需要向代理服务装置发送调用请求,由代理服务装置和网络测试仪之间进行通讯,可以省去客户端在调用网络测试仪提供的Tcl语言的API之前需要导入预设的Tcl库这一步骤,可以节省该导入过程增加的时间,因此还可提高测试效率。
图3为本申请实施例提供的一种网络测试仪的调用方法实施例的流程图,如图3所示,本实施例的方法在图2所示方法的基础上,可选的,在S103之后,还可以包括:
S104、若代理结束标志位为第一值,则退出监听调用请求,第一值为在预设运行时间截止时设置,若代理结束标志位为第二值,则继续监听调用请求。
具体地,例如第一值为1或0,第二值为-1,若代理结束标志位为1,则退出监听,若代理结束标志位为-1,则继续监听调用请求。其中的第一值可以是在预设运行时间截止时设置,例如,代理服务装置启动时,代理结束标志位为预设的值-1,运行一段时间后,在预设运行时间截止时,代理服务装置将代理结束标志位设为1,可暂时退出监听。
本实施例中,通过设置代理结束标志位,可以控制代理服务装置的运行时间,测试人员可以根据实际所需的测试时间控制代理服务装置的运行时间。
下面结合一个具体的实施例,对本申请提供的网络测试仪的调用方法的详细过程进行说明。
图4为本申请实施例提供的一种网络测试仪的调用方法的交互流程图,如图4所示,本实施例的方法可以包括:
S201、客户端通过预设代码引入comm通讯模块。
S202、客户端接收到网络测试仪的IP地址和网络测试仪端口号,确定网络测试仪的IP地址是否为正确的IP地址,确定网络测试仪的端口号与代理服务装置侧的端口号是否一致。
网络测试仪的端口号与代理服务装置侧的端口号一致,网络测试仪和代理服务装置才能正常通信。网络测试仪的IP地址和网络测试仪端口号可以是用户通过客户端的界面输入的。
S203、客户端执行spirent.py文件中的相关函数,根据函数对应的参数提取用于操作网络测试仪的信息。
其中,spirent.py文件存储在客户端,是使用python语言封装用于操作网络测试仪的信息得到的。
S204、客户端发起对网络测试仪的第一API的调用请求,调用请求为使用python语言进行封装的用于操作网络测试仪的信息。
S205、代理服务装置导入网络测试仪组件库的Tcl文件,并通过预设代码引入comm通讯模块。
S206、代理服务装置启动comm通讯模块,并选择comm通讯模块的通讯端口,在当前界面显示用于指示初始化通讯成功或失败的信息。
具体地,在选择comm通讯模块的通讯端口后,还需要检查所选的通讯端口的端口号的合法性。
S207、代理服务装置通过comm通讯模块监听客户端是否发起对网络测试仪的第一API的调用请求,并设置代理结束标志位为0。
具体地,代理服务装置通过comm通讯模块接收客户端发送的调用请求,并将调用请求存储在缓存区,按照预设时间间隔读取缓存区中的调用请求,若从缓存区中读取的当前调用请求与从缓存区中读取的上一次的调用请求的内容不同,则确定监听到调用请求,若从缓存区中读取的当前调用请求与从缓存区中读取的上一次的调用请求的内容相同,则确定未监听到调用请求。
S208、代理服务装置若监听到调用请求,响应该调用请求。
具体地,调用请求携带调用信息的类型和用于指示操作网络测试仪的操作命令,调用请求携带调用信息的类型可以为第一类型或第二类型,例如第一类型用于指示进行调用网络测试仪的第一API,第二类型用于指示进行初始化通通信确认。
若调用请求携带的调用信息的类型为第二类型,则进行comm通讯模块的初始化通信确认。
若调用请求携带的调用信息的类型为第一类型,则对用于指示操作网络测试仪的操作命令使用Tcl语言进行二次封装,得到二次封装后的调用请求。
S209、代理服务装置将二次封装后的调用请求发送至第一API,以驱动网络测试仪进行自动化测试。
可选的,可以将二次封装后的调用请求以spirent-utils.tcl文件的形式发送至第一API。
S210、代理服务装置在预设运行时间截止时,修改代理结束标志位为1。
S211、代理服务装置判断代理结束标志位是否为1,若是则退出监听,若否,则继续监听调用请求。
需要说明的是,客户端执行的S201-S203为客户端初始化的过程,代理服务装置执行的S205-S206为代理服务装置初始化的过程,客户端执行的S201-S203与代理服务装置执行的S205-S206可以同时执行,没有时间先后的限制。
本实施例提供的方法,客户端发起的调用请求为使用python语言进行封装的用于操作网络测试仪的信息,代理服务装置将该调用请求使用Tcl语言进行二次封装后,得到的是Tcl语言封装的调用请求,从而该Tcl语言封装的调用请求可以调用网络测试仪提供的Tcl语言的API,因此可以实现客户端调用网络测试仪提供的Tcl语言的API,从而使得网络测试仪可进行对待测网络设备的自动化测试。另外,由于客户端只需要向代理服务装置发送调用请求,由代理服务装置和网络测试仪之间进行通讯,可以省去客户端在调用网络测试仪提供的Tcl语言的API之前需要导入预设的Tcl库这一步骤,可以节省该导入过程增加的时间,因此还可提高测试效率。
以下为本申请装置实施例,可以用于执行本申请上述方法实施例。对于本申请装置实施例中未披露的细节,可参考本申请上述方法实施例。
图5为本申请实施例提供的一种网络测试仪的调用装置的结构示意图,如图5所示,本实施例的装置可以包括:监听模块11、处理模块12和发送模块13,其中,
监听模块11用于通过通信管理器comm通讯模块监听客户端是否发起对网络测试仪的第一应用程序接口API的调用请求,调用请求为使用python语言进行封装的用于操作网络测试仪的信息;
处理模块12用于在监听到调用请求时,对调用请求使用Tcl语言进行二次封装,得到二次封装后的调用请求;
发送模块13用于将二次封装后的调用请求发送至第一API,以驱动网络测试仪进行自动化测试。
在一实施例中,监听模块11用于:
通过comm通讯模块接收客户端发送的调用请求,并将调用请求存储在缓存区;
按照预设时间间隔读取缓存区中的调用请求;
若从缓存区中读取的当前调用请求与从缓存区中读取的上一次的调用请求的内容不同,则确定监听到调用请求;
若从缓存区中读取的当前调用请求与从缓存区中读取的上一次的调用请求的内容相同,则确定未监听到调用请求。
在一实施例中,调用请求携带调用信息的类型和用于指示操作网络测试仪的操作命令,处理模块12用于:
若调用请求携带的调用信息的类型为第一类型,则对用于指示操作网络测试仪的操作命令使用Tcl语言进行二次封装,得到二次封装后的调用请求。
在一实施例中,处理模块12还用于:
若调用请求携带的调用信息的类型为第二类型,则进行comm通讯模块的初始化通信确认。
在一实施例中,处理模块12还用于:
动comm通讯模块,并选择comm通讯模块的通讯端口;
在当前界面显示用于指示初始化通讯成功或失败的信息。
在一实施例中,处理模块12还用于:
导入网络测试仪组件库的Tcl文件,并通过预设代码引入comm通讯模块。
在一实施例中,监听模块11还用于:
若代理结束标志位为第一值,则退出监听调用请求,第一值为在预设运行时间截止时设置;
若代理结束标志位为第二值,则继续监听调用请求。
本申请实施例提供的装置,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,处理模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上处理模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessing unit,CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid state disk(SSD))等。
图6为本申请实施例提供的一种网络测试仪的调用设备的结构示意图,如图6所示,本实施例的网络测试仪的调用设备可以包括处理器21和存储器22,
其中,存储器22用于存储处理器21的可执行指令。
处理器21配置为经由执行可执行指令来执行上述方法实施例中的网络测试仪的调用方法。
可选地,存储器22既可以是独立的,也可以跟处理器21集成在一起。
当存储器22是独立于处理器21之外的器件时,本实施例的网络测试仪的调用设备还可以包括:
总线23,用于连接存储器22和处理器21。
可选地,本实施例的网络测试仪的调用设备还可以包括:通信接口24,该通信接口24可以通过总线23与处理器21连接。
本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当其在计算机上运行时,使得计算机执行如上述实施例的网络测试仪的调用方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上实施例中的网络测试仪的调用方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (9)
1.一种网络测试仪的调用方法,其特征在于,所述方法包括:
通过通信管理器comm通讯模块监听客户端是否发起对网络测试仪的第一应用程序接口API的调用请求,所述调用请求为使用python语言进行封装的用于操作所述网络测试仪的信息,所述调用请求携带调用信息的类型和用于指示操作所述网络测试仪的操作命令,其中,所述调用信息的类型包括:用于指示进行调用所述网络测试仪的第一API的第一类型,或者,用于指示进行初始化通信的第二类型;
若监听到所述调用请求,对所述调用请求使用Tcl语言进行二次封装,得到二次封装后的调用请求;
将所述二次封装后的调用请求发送至所述第一API,以驱动所述网络测试仪进行自动化测试;
所述通过通信管理器comm通讯模块监听客户端是否发起对网络测试仪的第一应用程序接口API的调用请求,包括:
通过所述comm通讯模块接收所述客户端发送的调用请求,并将所述调用请求存储在缓存区;
按照预设时间间隔读取所述缓存区中的所述调用请求;
若从所述缓存区中读取的当前调用请求与从所述缓存区中读取的上一次的调用请求的内容不同,则确定监听到所述调用请求;
若从所述缓存区中读取的当前调用请求与从所述缓存区中读取的上一次的调用请求的内容相同,则确定未监听到所述调用请求。
2.根据权利要求1所述的方法,其特征在于,所述对所述调用请求使用Tcl语言进行二次封装,得到二次封装后的调用请求,包括:
若所述调用请求携带的调用信息的类型为第一类型,则对所述用于指示操作所述网络测试仪的操作命令使用Tcl语言进行二次封装,得到二次封装后的调用请求。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述调用请求携带的调用信息的类型为第二类型,则进行所述comm通讯模块的初始化通信确认。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
启动所述comm通讯模块,并选择所述comm通讯模块的通讯端口;
在当前界面显示用于指示初始化通讯成功或失败的信息。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
导入所述网络测试仪组件库的Tcl文件,并通过预设代码引入所述comm通讯模块。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
若代理结束标志位为第一值,则退出监听所述调用请求,所述第一值为在预设运行时间截止时设置;
若所述代理结束标志位为第二值,则继续监听所述调用请求。
7.一种网络测试仪的调用装置,其特征在于,包括:
监听模块,用于通过通信管理器comm通讯模块监听客户端是否发起对网络测试仪的第一应用程序接口API的调用请求,所述调用请求为使用python语言进行封装的用于操作所述网络测试仪的信息,所述调用请求携带调用信息的类型和用于指示操作所述网络测试仪的操作命令,其中,所述调用信息的类型包括:用于指示进行调用所述网络测试仪的第一API的第一类型,或者,用于指示进行初始化通信的第二类型;
处理模块,用于在监听到所述调用请求时,对所述调用请求使用Tcl语言进行二次封装,得到二次封装后的调用请求;
发送模块,用于将所述二次封装后的调用请求发送至所述第一API,以驱动所述网络测试仪进行自动化测试;
所述监听模块在用于通过通信管理器comm通讯模块监听客户端是否发起对网络测试仪的第一应用程序接口API的调用请求时,具体用于:
通过所述comm通讯模块接收所述客户端发送的调用请求,并将所述调用请求存储在缓存区;
按照预设时间间隔读取所述缓存区中的所述调用请求;
若从所述缓存区中读取的当前调用请求与从所述缓存区中读取的上一次的调用请求的内容不同,则确定监听到所述调用请求;
若从所述缓存区中读取的当前调用请求与从所述缓存区中读取的上一次的调用请求的内容相同,则确定未监听到所述调用请求。
8.一种网络测试仪的调用设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-6任一项所述的网络测试仪的调用方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的网络测试仪的调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110847906.7A CN113691415B (zh) | 2021-07-27 | 2021-07-27 | 网络测试仪的调用方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110847906.7A CN113691415B (zh) | 2021-07-27 | 2021-07-27 | 网络测试仪的调用方法、装置、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113691415A CN113691415A (zh) | 2021-11-23 |
CN113691415B true CN113691415B (zh) | 2023-07-18 |
Family
ID=78577909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110847906.7A Active CN113691415B (zh) | 2021-07-27 | 2021-07-27 | 网络测试仪的调用方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113691415B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114629830B (zh) * | 2022-03-02 | 2023-08-11 | 深圳市吉祥腾达科技有限公司 | 自动化控制TestCenter仪器测试的方法及系统 |
CN116185879B (zh) * | 2023-04-26 | 2023-07-07 | 润芯微科技(江苏)有限公司 | 基于Python的智能座舱仪表自动化测试方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101566835A (zh) * | 2009-05-21 | 2009-10-28 | 中兴通讯股份有限公司 | 仪表控制方法及装置 |
CN102306122A (zh) * | 2011-09-14 | 2012-01-04 | 北京星网锐捷网络技术有限公司 | 自动化测试方法及设备 |
CN109408357A (zh) * | 2017-12-04 | 2019-03-01 | 深圳市珍爱网信息技术有限公司 | 一种接口自动化测试方法及装置 |
CN111651157B (zh) * | 2020-07-13 | 2024-02-27 | 太仓市同维电子有限公司 | 一种基于Python的PoE仪表封装方法 |
CN112653598B (zh) * | 2020-12-18 | 2022-02-22 | 迈普通信技术股份有限公司 | 自动化测试方法、装置、设备及可读存储介质 |
-
2021
- 2021-07-27 CN CN202110847906.7A patent/CN113691415B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113691415A (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113691415B (zh) | 网络测试仪的调用方法、装置、设备以及存储介质 | |
CN110442524B (zh) | 一种针对带有认证授权的web服务接口测试方法和装置 | |
CN105354488B (zh) | 一种应用安装方法、相关装置及应用安装系统 | |
US7296190B2 (en) | Parallel text execution on low-end emulators and devices | |
WO2021139379A1 (zh) | 活动配置方法、装置、可读介质及电子设备 | |
CN113595927A (zh) | 一种旁路模式下镜像流量的处理方法和装置 | |
CN107360036A (zh) | 一种网络故障定位方法、终端和服务器 | |
CN114448823A (zh) | Nfs服务测试方法、系统及电子设备 | |
CN107666401A (zh) | 一种配置信息获取方法及终端 | |
CN104570967B (zh) | 基于Android系统的远程控制方法及系统 | |
CN111511041B (zh) | 一种远程连接方法及装置 | |
WO2018133828A1 (zh) | 用于客户端的数据处理方法和装置 | |
CN112367362B (zh) | 一种数据处理方法、装置、设备及计算机存储介质 | |
CN105373466B (zh) | 一种日志处理方法与设备 | |
CN112416509B (zh) | 虚拟机控制系统及相关设备 | |
CN111767178B (zh) | 物理机性能测试方法及装置 | |
CN112131095B (zh) | 压力测试方法和装置 | |
CN109245964B (zh) | 一种用于公网压力测试的通信方法、系统、设备和介质 | |
CN109271310B (zh) | 移动应用程序网络功能的开发测试方法和装置 | |
CN112433938A (zh) | 移动端应用测试的方法和装置 | |
CN113704079A (zh) | 基于Protobuf的接口测试方法和装置 | |
CN115361327B (zh) | 一种自动化测试网卡ncsi命令的方法、装置、终端及介质 | |
CN111092916A (zh) | 文件上传的方法、装置、电子设备及介质 | |
CN109213487A (zh) | 一种数据获取方法及其相关设备 | |
CN111078209B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |