CN117478570A - 基于容器化技术的设备测试方法、装置及存储介质 - Google Patents
基于容器化技术的设备测试方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117478570A CN117478570A CN202311812876.1A CN202311812876A CN117478570A CN 117478570 A CN117478570 A CN 117478570A CN 202311812876 A CN202311812876 A CN 202311812876A CN 117478570 A CN117478570 A CN 117478570A
- Authority
- CN
- China
- Prior art keywords
- message
- simulation
- determining
- address
- container
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 120
- 238000005516 engineering process Methods 0.000 title claims abstract description 41
- 238000004088 simulation Methods 0.000 claims abstract description 150
- 238000013515 script Methods 0.000 claims abstract description 73
- 238000000034 method Methods 0.000 claims abstract description 66
- 238000012795 verification Methods 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims abstract description 23
- 230000001960 triggered effect Effects 0.000 claims abstract description 11
- 230000008859 change Effects 0.000 claims description 9
- 230000009471 action Effects 0.000 claims description 7
- 238000010998 test method Methods 0.000 claims description 4
- 230000009191 jumping Effects 0.000 claims description 2
- 238000006467 substitution reaction Methods 0.000 abstract 1
- 230000000875 corresponding effect Effects 0.000 description 82
- 230000008569 process Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
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
Abstract
本申请公开了基于容器化技术的设备测试方法、装置及存储介质,该方法包括:在检测到测试指令被触发后,确定模拟设备容器对应的IP地址,并基于所述IP地址接收服务器发送的报文;根据所述模拟设备容器确定对应的模拟报文脚本,并生成验证报文;当所述验证报文与所述报文匹配时,根据所述模拟报文脚本确定所述验证报文对应的响应报文并反馈至所述服务器。解决了在大批量测试设备时成本较高的问题,通过模拟设备容器替代设备以降低设备测试的成本。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及基于容器化技术的设备测试方法、装置及存储介质。
背景技术
物联网安全行业对资产信息的测试,是通过服务器向待测试设备发送请求报文,使待测试设备将携带设备信息的响应报文发送至服务器,服务器检测该响应报文从而完成对设备的测试。在具体的测试过程中,通常需要采购硬件设备,并将设备接入局域网,以实现上述的设备测试过程。
在相关的测试设备的方案中,一般是实行一台设备对应一台待测试机器,通过采用TCP/UDP(Transport Control Protocol/User Data Protocol,传输控制协议/用户数据报协议)发送报文和接收报文,以及扫描Mac地址和开放端口的方式获取设备信息。由于在测试扫描大批量网段时,需要使用大量设备构建测试环境,这导致设备测试的成本较高。
上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
发明内容
本申请提供一种基于容器化技术的设备测试方法、装置及存储介质,旨在解决在大批量测试设备时成本较高的问题。
为实现上述目的,本申请提供的一种基于容器化技术的设备测试方法,所述基于容器化技术的设备测试方法包括以下步骤:
在检测到测试指令被触发后,确定模拟设备容器对应的IP地址,并基于所述IP地址接收服务器发送的报文;
根据所述模拟设备容器确定对应的模拟报文脚本,并生成验证报文;
当所述验证报文与所述报文匹配时,根据所述模拟报文脚本确定所述验证报文对应的响应报文并反馈至所述服务器。
可选地,所述在检测到测试指令被触发后,确定模拟设备容器对应的IP地址,并基于所述IP地址接收服务器发送的报文的步骤之前,还包括:
获取待测试设备的协议信息以及配置参数,并根据所述协议信息生成模拟报文脚本;
根据所述模拟报文脚本以及所述配置参数确定模拟设备容器;
于目标局域网中确定待使用地址信息,根据所述待使用地址信息确定所述模拟设备容器的IP地址并关联。
可选地,所述在检测到测试指令被触发后,确定模拟设备容器对应的IP地址,并基于所述IP地址接收服务器发送的报文的步骤之后,还包括:
在检测到配置参数更新时,根据所述配置参数确定对应的模拟设备容器并获取已变更的目标配置参数;
于所述模拟设备容器中确定目标IP地址,并将所述模拟设备容器删除;
根据所述目标配置参数确定对应的目标模拟报文脚本,并根据所述目标模拟报文脚本和所述目标IP地址生成目标模拟设备容器;
跳转执行所述基于所述目标IP地址向所述服务器发送报文请求的动作。
可选地,所述于目标局域网中确定待使用地址信息,根据所述待使用地址信息确定所述模拟设备容器的IP地址并关联的步骤之前,还包括:
根据预设脚本确定所述目标局域中未被使用的各IP地址的总数值;
确定所述模拟设备容器的目标总数值;
根据所述总数值和所述目标总数值确定所述模拟设备的实际模拟数量,并将所述模拟设备与对应的IP地址关联。
可选地,所述确定模拟设备容器对应的IP地址,并基于所述IP地址接收服务器发送的报文的步骤包括:
根据所述IP地址确定对应的局域网,并将所述模拟设备容器接入所述局域网;
在所述模拟设备容器接入所述局域网后,向所述服务器发送报文请求,以使所述服务器发送对应的报文至所述模拟设备容器。
可选地,所述于所述模拟设备容器中确定目标IP地址,并将所述模拟设备容器删除的步骤之前,还包括:
当接收到变更指令时,于所述模拟设备容器中确定初始配置参数并保存,以使所述模拟设备容器通过变更配置参数完成测试后,回滚到所述初始配置参数对应的模拟设备容器。
可选地,所述跳转执行所述基于所述目标IP地址向所述服务器发送报文请求的动作的步骤之后,还包括:
在检测到测试结束后,删除目标模拟设备容器;
获取预存的初始配置参数并确定对应的初始模拟报文脚本,根据所述初始配置参数和所述初始模拟报文脚本生成并保存模拟设备容器。
可选地,所述当所述验证报文与所述报文匹配时,根据所述模拟报文脚本确定所述验证报文对应的响应报文并反馈至所述服务器的步骤之后,还包括:
当所述接收报文和所述报文不一致时,获取所述模拟设备容器对应的配置参数;
根据所述配置参数确定对应的设备信息;
根据所述设备信息生成对应的故障提示,并将所述故障提示反馈至所述服务器。
此外,为实现上述目的,本申请还提供一种基于容器化技术的设备测试装置,所述基于容器化技术的设备测试装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于容器化技术的设备测试程序,所述基于容器化技术的设备测试程序配置为实现如上所述的基于容器化技术的设备测试方法的步骤。
此外,为实现上述目的,本申请还提供一种存储介质,所述存储介质上存储有基于容器化技术的设备测试程序,所述基于容器化技术的设备测试程序被处理器执行时实现如上所述的基于容器化技术的设备测试方法的步骤。
本申请提供一种基于容器化技术的设备测试方法、装置及存储介质,在检测到测试指令被触发后,确定模拟设备容器对应的IP地址,并基于所述IP地址接收服务器发送的报文,再根据所述模拟设备容器确定对应的模拟报文脚本,并生成验证报文,最后当所述验证报文与所述报文匹配时,根据所述模拟报文脚本确定所述验证报文对应的响应报文并反馈至所述服务器,通过模拟设备容器替代设备以降低设备测试的成本。
附图说明
图1是本申请基于容器化技术的设备测试方法的第一实施例的流程示意图;
图2为本申请基于容器化技术的设备测试方法的第二实施例的流程示意图;
图3为本申请基于容器化技术的设备测试方法的第三实施例的流程示意图;
图4为本申请基于容器化技术的设备测试方法的第四实施例的流程示意图;
图5为本申请实施例方案涉及的配置参数更新流程图;
图6为本申请实施例涉及的基于容器化技术的设备测试装置的硬件运行环境的架构示意图;
本申请目的的实现、功能特点及优点将结合实施例,参照附图作进一步说明。
具体实施方式
本申请的基于容器化技术的设备测试方法,在检测到测试指令被触发后,确定模拟设备容器对应的IP地址,并基于所述IP地址接收服务器发送的报文,再根据所述模拟设备容器确定对应的模拟报文脚本,并生成验证报文,最后当所述验证报文与所述报文匹配时,根据所述模拟报文脚本确定所述验证报文对应的响应报文并反馈至所述服务器,解决了在大批量测试设备时成本较高的问题,通过模拟设备容器替代设备以降低设备测试的成本。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
实施例一
请参照图1,在第一实施例中,所述基于容器化技术的设备测试方法包括以下步骤:
步骤S100:在检测到测试指令被触发后,确定模拟设备容器对应的IP地址,并基于所述IP地址接收服务器发送的报文。
在本实施例中,所述测试指令可以是绑定一个按钮,或者预设一个条件,当按钮被触发,或者满足预设条件时,自动触发测试指令,以使系统自动开始测试化任务。开始测试任务后,先由系统确定所述测试指令对应的模拟设备容器,其中,所述模拟设备容器可以是多个,也可以为一个。确定好模拟设备容器之后,由系统根据所述模拟设备容器查询与之关联的IP(Internet Protocol Address,互联网协议地址)地址,通过所述IP地址将所述模拟设备接入局域网,并接收服务器下发的报文。
具体的,所述模拟设备容器是基于容器技术所实现的,容器化是一种虚拟化技术,用于将应用程序及其所有依赖项(包括代码、运行时库、配置文件和环境变量)打包到一个独立的、可移植的容器中,以便在不同的计算环境中运行。这些容器是轻量级的、自包含的运行时环境,它们可以在任何支持容器化技术的计算机上运行,而无需修改应用程序代码。其中,该容器化技术是以Docker(开源的应用容器引擎)为基础实现的,可以打包应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上。
作为一种可选地方式,确定模拟设备容器的IP地址的方式可以是通过运行脚本获取。其中,所述脚本可以是shell(Shell Script,命令行解释器脚本)脚本,以此方式可以为测试任务配置测试用例,从而提高测试效率。
示例性的,以Linux系统为例,使用shell脚本通过测试框架预先编写测试用例,所述测试用例包括了模拟设备容器的IP地址,通过调用执行该shell脚本,使自动化测试任务可以获取到相应的测试参数,从而保证测试任务的顺利执行。
可选地,在本实施例中,所述步骤S100包括:
根据所述IP地址确定对应的局域网,并将所述模拟设备容器接入所述局域网;在所述模拟设备容器接入所述局域网后,向所述服务器发送报文请求,以使所述服务器发送对应的报文至所述模拟设备容器。
具体的,在通过运行脚本确定完测试用例,并确定好测试用例所对应的模拟设备和IP地址后,根据所述IP地址将所述模拟设备容器接入局域网,并基于网络协议向所述服务器发送报文请求,其中,所述报文请求用于向所述服务器获取报文。
可选地,所述服务器可以是所述模拟设备容器所模拟的设备对应的厂商,也可以是在系统中利用容器化技术所模拟的服务器。应当理解的是,此处的服务器用于对模拟设备容器进行测试,并不仅仅局限于上述服务器。
作为一种可选地实施方式,将所述模拟设备容器接入局域网的方式,可以是通过预先配置网络驱动程序,比如预先在系统配置Docker Macvlan(Docker Mac虚拟局域网)驱动程序,通过Docker Macvlan使虚拟设备容器与宿主机的局域网互通,从而实现模拟设备容器向服务器发送请求。
具体的,Docker Macvlan 是一种网络驱动程序,它通过为容器提供MAC(MediaAccess Control Address,媒体访问控制地址)和IP地址,使得容器可以直接通过主机接口(或者子接口)访问网络,无需端口映射或者额外桥接。此外,使用Docker Macvlan,可以在不同的主机上创建多个容器,这些容器可以拥有独立的IP地址和MAC地址,并且可以相互通信。在容器中运行的进程可以通过网络访问其他主机上的进程,而且容器与主机之间的网络连接也是双向的。需要注意的是,使用Docker Macvlan需要将主机网卡设置为混杂模式,目的是为了监听所有经过该网卡的网络数据包,以便能够捕获和处理这些数据包。
步骤S200:根据所述模拟设备容器确定对应的模拟报文脚本,并生成验证报文。
在本实施例中,所述模拟报文脚本是预先配置的,内置有接收报文和响应报文,所述验证报文即为接收报文,并且所述模拟报文脚本与对应的模拟设备容器关联。
作为一种可选地实施方式,确定对应的模拟报文脚本,可以是将对应的模拟报文脚本存储在所述虚拟设备容器中,从而可以在需要使用模拟报文脚本时快速调用,进而提高测试效率。
步骤S300:当所述验证报文与所述报文匹配时,根据所述模拟报文脚本确定所述验证报文对应的响应报文并反馈至所述服务器。
在本实施例中,由服务器下发的所述报文携带的信息包括但不限于配置设备参数以及设备状态等,通过将接收到的报文与由模拟报文脚本生成的验证报文对比并根据对比结果执行对应的动作,从而实现测试任务。
作为一种可选地实施方式,通过报文测试的方式还可以是,将接收到的报文解析,从而提取其中的信息,并对比验证报文和接收到的报文是否一致,以验证网络设备的通信是否正常。
进一步地,在所述步骤S300之后,还包括:
当所述接收报文和所述报文不一致时,获取所述模拟设备容器对应的配置参数;根据所述配置参数确定对应的设备信息;根据所述设备信息生成对应的故障提示,并将所述故障提示反馈至所述服务器。
具体的,在验证报文不匹配后,即该模拟设备容器存在问题,通过解析报文提取对应的故障信息,并通过模拟设备容器中存储的设备信息并生成所述故障提示,在数据库中查询与之对应的待测试设备和厂商,将故障提示对应的渲染信息反馈至厂商,以使其根据所述故障提示的渲染信息及时对设备进行维修和调整。
示例性的,通过接收报文并验证可以模拟这些协议的数据包发送和接收,还可以通过数据生成和测试功能,生成各种测试数据,如随机数、重复数等,用于测试网络设备的处理能力和性能。通过网络管理和控制功能,可以模拟对网络中的各种设备进行管理和控制,如配置设备参数、查看设备状态等,从而测试设备的各项参数和运行状态。
在本实施例提供的技术方案中,在检测到测试指令被触发后,通过模拟设备容器对应的IP地址接收报文,并根据验证报文验证接收到的报文,从而完成对设备的测试,可以降低设备测试的成本。
实施例二
请参照图2,在本实施例中,所述步骤S100之前,还包括:
步骤S70:获取待测试设备的协议信息以及配置参数,并根据所述协议信息生成模拟报文脚本。
在本实施例中,所述待测试设备的协议信息为各待测试设备所对应的客户所使用的网络协议,也可以是客户内部所使用的私有协议。所述配置参数为待测试设备的设备类型以及MAC地址等,根据所述协议信息确定待测试设备的接收和响应报文,并将所述接收和响应报文置于所述模拟报文脚本中,最后将所述配置参数与所述模拟报文脚本关联并置于虚拟容器中,从而生成模拟设备容器。
具体的,私有协议是指在一个封闭或特定的网络环境或系统内部使用的协议。这些协议通常由该网络或系统的开发者或维护者定义和实现,不对外部公开或共享,通常是为了满足特定网络或系统的特殊需求而设计的。需要注意的是,私有协议并不是一种广泛使用的协议,它们通常只在特定的网络或系统中使用,因此,私有协议对应的报文也与公共报文所使用的报文不同。
作为一种可选地实施方式,根据所述协议信息生成模拟报文脚本的方式,可以是根据协议信息,并通过抓包获取真实设备的接收报文和响应报文,将所述接收报文作为验证报文,与所述响应报文一起保存在模拟报文脚本中,并设置不同的触发方式,以提高验证的准确性。
示例性的,抓包是一种网络技术,用于截获和分析网络中传输的数据包。通过抓包工具可以截获网络中传输的所有数据包,包括网络层、传输层和应用层的数据。通过对抓获的数据包进行分析,可以了解网络中传输的数据内容、数据格式、协议规范等信息,从而将这些数据提取并保存。抓包工具通常使用代理模式或捕获模式来截获数据包,其中,代理模式是指将网络中的数据包通过代理服务器进行转发,代理服务器可以截获和分析数据包;捕获模式是指直接从网络接口捕获数据包进行分析。抓包工具通常具有数据包分析、过滤、重组、解码、统计等功能。
步骤S80:根据所述模拟报文脚本以及所述配置参数确定模拟设备容器。
步骤S90:于目标局域网中确定待使用地址信息,根据所述待使用地址信息确定所述模拟设备容器的IP地址并关联。
在本实施例中,所述模拟设备容器的确定方式可以是通过容器化技术,将所述配置参数设置为容器的参数,并与所述模拟报文脚本关联从而生成所述模拟设备容器。所述目标局域网为系统所使用的局域网,通过网络驱动程序获取局域网中可分配的IP地址,即待使用地址信息,并将可分配的IP地址与对应的虚拟设备容器关联,从而可使虚拟设备容器接入局域网。
进一步地,在本实施例中,所述步骤S90之前,还包括:
根据预设脚本确定所述目标局域中未被使用的各IP地址的总数值;确定所述模拟设备容器的目标总数值;根据所述总数值和所述目标总数值确定所述模拟设备的实际模拟数量,并将所述模拟设备与对应的IP地址关联。
作为一种可选地实施方式,还可以获取生成的容器所占用的磁盘空间,以及需要使用的内存,根据容器数量计算对应的磁盘空间和总内存,然后对比系统中剩余的磁盘空间和可使用的内存,从而确定可以生成的容器数量,以提高系统性能的使用效率。
示例性的,所述预设脚本可以是shell脚本,通过shell脚本确定测试用例,并调取测试用例中可用的IP地址的总数值。以及获取测试用例中需要测试的模拟设备容器的目标总数值,通过比对二者的数量,当目标总数值超出总数值时,即需要测试的模拟设备容器的数量超过了可用的IP地址的数量,此时需要调整模拟设备容器的数量,并将模拟设备容器的数量设置为可用IP地址的数量;当目标总数值未超出总数值时,即可用的IP地址数量可以分配给需要测试的模拟设备容器,并且数量刚好或者还有剩余。在确定完模拟设备容器的数量后,将模拟设备容器与对应的IP地址关联并接入局域网。
在本实施例提供的技术方案中,通过协议信息生成模拟报文脚本,从而可以根据模拟报文脚本生成的验证报文进行验证,进而提高设备测试的准确率。通过配置参数确定模拟设备容器,并根据局域网中可使用的IP地址确定测试模拟设备容器的数量,可以降低设备测试的成本并提高测试效率。
实施例三
请参照图3,在本实施例中,图3为本申请基于容器化技术的设备测试方法的第三实施例的流程示意图。
如图3所示,先将Docker引擎部署到宿主机,所述宿主机为执行测试任务的基于容器化技术的设备测试装置。再通过上述的Docker引擎,并根据设备参数将设备模拟容器化,从而生成模拟设备容器。然后创建Docker Macvlan网络,并运行shell脚本,将需要生成的模拟设备容器和对应的数量传输至所述shell脚本。跳转至shell脚本的内部处理流程,shell脚本自动获取局域网内待使用的IP地址以及其对应的数量,根据传输的设备类型确定其所占用的磁盘内存,以及确定需要生成容器的数量。根据shell脚本获取到的IP地址和对应的数量,将上述数量和需要生成容器的数量对比,判断生成容器的数量是否大于可用IP总数,若是,运行最大可用IP总数的设备模拟容器,其中,所述总数可以是等于可用IP地址的数量,也可以再根据所占用的磁盘内存继续判断存储空间可以支持存储的数量。若否,运行指定数量的设备模拟容器,所述指定数量可以是指定的数量为需要生成容器的数量,然后指定各容器的IP,并运行在macvlan网卡上。在模拟设备的数量确定完成之后,shell脚本将确定完成的容器数量和已关联的IP地址输出,然后根据上述模拟设备容器和IP地址执行测试任务。所述测试任务的流程为,向服务器发送报文获取请求,从而使服务器下发设备类型对应的报文,虚拟设备容器接收到报文后,根据模拟报文脚本生成的接收报文验证服务器下发的报文,若匹配,则返回对应的响应报文,若不匹配,则不响应,至此,就完成了一次测试流程。
实施例四
请参照图4,在本实施例中,所述步骤S100之后,还包括以下步骤:
步骤S110:在检测到配置参数更新时,根据所述配置参数确定对应的模拟设备容器并获取已变更的目标配置参数。
步骤S120:于所述模拟设备容器中确定目标IP地址,并将所述模拟设备容器删除。
在本实施例中,所述配置参数更新的场景,对应的是在一种设备类型测试完成后,需要更换设备类型进行测试。服务器接收需要变更的目标配置参数并确定需要变更的配置参数所对应的模拟设备容器,而后下发删除该模拟设备容器的指令至模拟脚本服务器。
具体的,所述服务器是远程与模拟脚本服务器连接的服务器,用于统计测试信息和下发测试任务等管理所述模拟脚本服务器。所述模拟脚本服务器是用于测试设备的服务器,用于及时执行测试任务,接收所述服务器下发的指令和参数,并执行对应的动作。
可选地,在本实施例中,所述步骤S120之前,还包括:
当接收到变更指令时,于所述模拟设备容器中确定初始配置参数并保存,以使所述模拟设备容器通过变更配置参数完成测试后,回滚到所述初始配置参数对应的模拟设备容器。
具体的,所述变更指令由服务器下发,并且携带了需变更的目标配置参数。在接收到变更指令后,会自动触发获取模拟设备容器的初始配置参数并保存的动作。
步骤S130:根据所述目标配置参数确定对应的目标模拟报文脚本,并根据所述目标模拟报文脚本和所述目标IP地址生成目标模拟设备容器;跳转执行所述基于所述目标IP地址向所述服务器发送报文请求的动作。
在本实施例中,模拟报文脚本是事先根据各设备类型对应的协议信息所生成的,并且跟配置参数关联。当目标配置参数确定之后,可通过以目标配置参数为关键词,查询与之关联的模拟报文脚本,从而确定目标模拟报文脚本。从而将所述目标模拟报文脚本置于容器内并通过容器化技术生产目标模拟设备容器,进而以目标IP地址执行所述目标模拟设备的测试任务。
进一步地,在本实施例中,所述步骤S130之后,还包括:
在检测到测试结束后,删除目标模拟设备容器;获取预存的初始配置参数并确定对应的初始模拟报文脚本,根据所述初始配置参数和所述初始模拟报文脚本生成并保存模拟设备容器。
示例性的,如图5所示,图5为本申请实施例方案涉及的配置参数更新流程图。在执行自动化测试任务的过程中,当对A设备的测试任务结束后,或者服务器收到新的测试任务,需要更换测试的设备。先确定A设备对应的模拟设备容器,从而确定对应的Mac地址和IP地址。然后服务器会下发变更指令至模拟脚本服务器,该变更指令中包括了B设备的配置参数,并且服务器还会下发删除A设备对应的模拟设备容器的指令。当模拟脚本服务器收到变更指令和删除指令时,先将A设备对应的模拟设备容器的初始配置参数保存,然后获取A设备对应的模拟设备容器的IP地址。最后删除模拟设备容器,其中,删除模拟设备容器的方法是,Docker引擎会先发送一个停止信号给容器进程,停止容器运行。如果容器处于运行状态,会先停止容器进程,然后再进行删除操作。如果容器已经被停止,直接进行删除操作。在删除容器时,Docker引擎会检查容器是否使用了其他的镜像或仓库镜像,如果有,则会先删除这些依赖镜像。然后,再删除容器相关的文件系统和网络配置,最终完成容器的删除操作。另外,如果使用Docker run命令启动一个容器时指定了--rm选项或AUTO_REMOVE_CONTAINER选项,那么当容器停止后会自动被删除。
在删除完模拟设备容器后,使用已删除容器的IP地址,确定随机生成的Mac地址,并根据目标配置参数和指定的目标模拟报文脚本生成模拟设备容器。而后执行自动化测试设备任务,当B设备对应的自动化测试设备任务执行结束后,自动调取预先存储的A设备对应的初始设备参数和初始Mac地址,并根据初始设备参数和初始Mac地址生成A设备对应的模拟设备容器,从而完成模拟设备容器的回滚。
在本实施例提供的技术方案中,在配置参数更新时,自动获取当前模拟设备容器的IP地址,并根据目标配置参数生成目标模拟设备容器,执行测试任务,可以提高设备测试的效率。在目标模拟设备测试完成后,自动回滚到初始模拟设备容器,可以减少频繁更换配置参数所引起的误差问题,从而提高设备测试的准确度。
由于本申请实施例所介绍的系统,为实施本申请实施例的方法所采用的系统,故而基于本申请实施例所介绍的方法,本领域所属人员能够了解该系统的具体结构及变形,故而在此不再赘述。凡是本申请实施例的方法所采用的系统都属于本申请所欲保护的范围。
作为一种实施方案,图6为本申请实施例方案涉及的基于容器化技术的设备测试装置的硬件运行环境的架构示意图。
如图6所示,该基于容器化技术的设备测试装置可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002,网络接口1003,存储器1004。其中,通信总线1002用于实现这些组件之间的连接通信。网络接口1003可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1004可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1004可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图6中示出的结构并不构成对基于容器化技术的设备测试装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图6所示,作为一种存储介质的存储器1004中可以包括操作系统、网络通信模块以及基于容器化技术的设备测试程序。其中,操作系统是管理和控制基于容器化技术的设备测试装置的硬件和软件资源的程序,基于容器化技术的设备测试程序以及其他软件或程序的运行。
在图6所示的基于容器化技术的设备测试装置中,网络接口1003主要用于连接装置,与装置进行数据通信;处理器1001可以用于调用存储器1004存储的基于容器化技术的设备测试程序。
在本实施例中,基于容器化技术的设备测试装置包括:存储器1004、处理器1001及存储在所述存储器上并可在所述处理器上运行的基于容器化技术的设备测试程序,其中:
处理器1001调用存储器1004中存储的基于容器化技术的设备测试程序时,执行以下操作:
在检测到测试指令被触发后,确定模拟设备容器对应的IP地址,并基于所述IP地址接收服务器发送的报文;
根据所述模拟设备容器确定对应的模拟报文脚本,并生成验证报文;
当所述验证报文与所述报文匹配时,根据所述模拟报文脚本确定所述验证报文对应的响应报文并反馈至所述服务器。
在一实施例中,处理器1001调用存储器1004中存储的基于容器化技术的设备测试程序时,执行以下操作:
获取待测试设备的协议信息以及配置参数,并根据所述协议信息生成模拟报文脚本;
根据所述模拟报文脚本以及所述配置参数确定模拟设备容器;
于目标局域网中确定待使用地址信息,根据所述待使用地址信息确定所述模拟设备容器的IP地址并关联。
在一实施例中,处理器1001调用存储器1004中存储的基于容器化技术的设备测试程序时,执行以下操作:
在检测到配置参数更新时,根据所述配置参数确定对应的模拟设备容器并获取已变更的目标配置参数;
于所述模拟设备容器中确定目标IP地址,并将所述模拟设备容器删除;
根据所述目标配置参数确定对应的目标模拟报文脚本,并根据所述目标模拟报文脚本和所述目标IP地址生成目标模拟设备容器;
跳转执行所述基于所述目标IP地址向所述服务器发送报文请求的动作。
在一实施例中,处理器1001调用存储器1004中存储的基于容器化技术的设备测试程序时,执行以下操作:
根据预设脚本确定所述目标局域中未被使用的各IP地址的总数值;
确定所述模拟设备容器的目标总数值;
根据所述总数值和所述目标总数值确定所述模拟设备的实际模拟数量,并将所述模拟设备与对应的IP地址关联。
在一实施例中,处理器1001调用存储器1004中存储的基于容器化技术的设备测试程序时,执行以下操作:
根据所述IP地址确定对应的局域网,并将所述模拟设备容器接入所述局域网;
在所述模拟设备容器接入所述局域网后,向所述服务器发送报文请求,以使所述服务器发送对应的报文至所述模拟设备容器。
在一实施例中,处理器1001调用存储器1004中存储的基于容器化技术的设备测试程序时,执行以下操作:
当接收到变更指令时,于所述模拟设备容器中确定初始配置参数并保存,以使所述模拟设备容器通过变更配置参数完成测试后,回滚到所述初始配置参数对应的模拟设备容器。
在一实施例中,处理器1001调用存储器1004中存储的基于容器化技术的设备测试程序时,执行以下操作:
在检测到测试结束后,删除目标模拟设备容器;
获取预存的初始配置参数并确定对应的初始模拟报文脚本,根据所述初始配置参数和所述初始模拟报文脚本生成并保存模拟设备容器。
在一实施例中,处理器1001调用存储器1004中存储的基于容器化技术的设备测试程序时,执行以下操作:
当所述接收报文和所述报文不一致时,获取所述模拟设备容器对应的配置参数;
根据所述配置参数确定对应的设备信息;
根据所述设备信息生成对应的故障提示,并将所述故障提示反馈至所述服务器。
此外,本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可以存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被设备中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本申请还提供一种存储介质,所述存储介质存储有基于容器化技术的设备测试程序,所述基于容器化技术的设备测试程序被处理器执行时实现如上实施例所述的基于容器化技术的设备测试方法的各个步骤。
其中,所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的存储介质。
需要说明的是,由于本申请实施例提供的存储介质,为实施本申请实施例的方法所采用的存储介质,故而基于本申请实施例所介绍的方法,本领域所属人员能够了解该存储介质的具体结构及变形,故而在此不再赘述。凡是本申请实施例的方法所采用的存储介质都属于本申请所欲保护的范围。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本申请可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种基于容器化技术的设备测试方法,其特征在于,所述基于容器化技术的设备测试方法包括以下步骤:
在检测到测试指令被触发后,确定模拟设备容器对应的IP地址,并基于所述IP地址接收服务器发送的报文;
根据所述模拟设备容器确定对应的模拟报文脚本,并生成验证报文;
当所述验证报文与所述报文匹配时,根据所述模拟报文脚本确定所述验证报文对应的响应报文并反馈至所述服务器。
2.如权利要求1所述的基于容器化技术的设备测试方法,其特征在于,所述在检测到测试指令被触发后,确定模拟设备容器对应的IP地址,并基于所述IP地址接收服务器发送的报文的步骤之前,还包括:
获取待测试设备的协议信息以及配置参数,并根据所述协议信息生成模拟报文脚本;
根据所述模拟报文脚本以及所述配置参数确定模拟设备容器;
于目标局域网中确定待使用地址信息,根据所述待使用地址信息确定所述模拟设备容器的IP地址并关联。
3.如权利要求1所述的基于容器化技术的设备测试方法,其特征在于,所述在检测到测试指令被触发后,确定模拟设备容器对应的IP地址,并基于所述IP地址接收服务器发送的报文的步骤之后,还包括:
在检测到配置参数更新时,根据所述配置参数确定对应的模拟设备容器并获取已变更的目标配置参数;
于所述模拟设备容器中确定目标IP地址,并将所述模拟设备容器删除;
根据所述目标配置参数确定对应的目标模拟报文脚本,并根据所述目标模拟报文脚本和所述目标IP地址生成目标模拟设备容器;
跳转执行所述基于所述目标IP地址向所述服务器发送报文请求的动作。
4.如权利要求2所述的基于容器化技术的设备测试方法,其特征在于,所述于目标局域网中确定待使用地址信息,根据所述待使用地址信息确定所述模拟设备容器的IP地址并关联的步骤之前,还包括:
根据预设脚本确定所述目标局域中未被使用的各IP地址的总数值;
确定所述模拟设备容器的目标总数值;
根据所述总数值和所述目标总数值确定所述模拟设备的实际模拟数量,并将所述模拟设备与对应的IP地址关联。
5.如权利要求1所述的基于容器化技术的设备测试方法,其特征在于,所述确定模拟设备容器对应的IP地址,并基于所述IP地址接收服务器发送的报文的步骤包括:
根据所述IP地址确定对应的局域网,并将所述模拟设备容器接入所述局域网;
在所述模拟设备容器接入所述局域网后,向所述服务器发送报文请求,以使所述服务器发送对应的报文至所述模拟设备容器。
6.如权利要求3所述的基于容器化技术的设备测试方法,其特征在于,所述于所述模拟设备容器中确定目标IP地址,并将所述模拟设备容器删除的步骤之前,还包括:
当接收到变更指令时,于所述模拟设备容器中确定初始配置参数并保存,以使所述模拟设备容器通过变更配置参数完成测试后,回滚到所述初始配置参数对应的模拟设备容器。
7.如权利要求3所述的基于容器化技术的设备测试方法,其特征在于,所述跳转执行所述基于所述目标IP地址向所述服务器发送报文请求的动作的步骤之后,还包括:
在检测到测试结束后,删除目标模拟设备容器;
获取预存的初始配置参数并确定对应的初始模拟报文脚本,根据所述初始配置参数和所述初始模拟报文脚本生成并保存模拟设备容器。
8.如权利要求1所述的基于容器化技术的设备测试方法,其特征在于,所述当所述验证报文与所述报文匹配时,根据所述模拟报文脚本确定所述验证报文对应的响应报文并反馈至所述服务器的步骤之后,还包括:
当所述接收报文和所述报文不一致时,获取所述模拟设备容器对应的配置参数;
根据所述配置参数确定对应的设备信息;
根据所述设备信息生成对应的故障提示,并将所述故障提示反馈至所述服务器。
9.一种基于容器化技术的设备测试装置,其特征在于,所述基于容器化技术的设备测试装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于容器化技术的设备测试程序,所述基于容器化技术的设备测试程序配置为实现如权利要求1至8任一项所述的基于容器化技术的设备测试方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有基于容器化技术的设备测试程序,所述基于容器化技术的设备测试程序被处理器执行时实现如权利要求1至8任一项所述的基于容器化技术的设备测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311812876.1A CN117478570B (zh) | 2023-12-27 | 2023-12-27 | 基于容器化技术的设备测试方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311812876.1A CN117478570B (zh) | 2023-12-27 | 2023-12-27 | 基于容器化技术的设备测试方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117478570A true CN117478570A (zh) | 2024-01-30 |
CN117478570B CN117478570B (zh) | 2024-03-22 |
Family
ID=89629712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311812876.1A Active CN117478570B (zh) | 2023-12-27 | 2023-12-27 | 基于容器化技术的设备测试方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117478570B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776313A (zh) * | 2016-12-13 | 2017-05-31 | 广州唯品会信息科技有限公司 | 一种模拟服务的方法、装置及集中管理平台 |
US20190034313A1 (en) * | 2017-07-31 | 2019-01-31 | Oracle International Corporation | System and method to execute and manage load tests using containers |
CN110752964A (zh) * | 2019-09-06 | 2020-02-04 | 锐捷网络股份有限公司 | 一种网络设备的测试方法及装置 |
JP2020140331A (ja) * | 2019-02-27 | 2020-09-03 | 日本電信電話株式会社 | Apiアダプタ試験システム、apiアダプタ試験支援装置、apiアダプタ試験支援方法、および、apiアダプタ試験支援プログラム |
CN111695328A (zh) * | 2020-06-16 | 2020-09-22 | 深圳前海微众银行股份有限公司 | 模拟测试报文生成方法、装置、设备及存储介质 |
CN113079061A (zh) * | 2021-03-24 | 2021-07-06 | 广东海聊科技有限公司 | 一种物联网性能测试方法及系统 |
CN114978963A (zh) * | 2022-04-26 | 2022-08-30 | 西安交通大学 | 一种网络系统监控分析方法、装置、电子设备及存储介质 |
CN115967659A (zh) * | 2021-10-08 | 2023-04-14 | 中国移动通信有限公司研究院 | 资源池设备的检查方法及装置 |
CN116418689A (zh) * | 2023-04-18 | 2023-07-11 | 曙光网络科技有限公司 | 一种请求报文响应方法、装置、电子设备和存储介质 |
CN116743619A (zh) * | 2023-08-15 | 2023-09-12 | 苏州浪潮智能科技有限公司 | 网络服务的测试方法、装置、设备及存储介质 |
CN116861696A (zh) * | 2023-07-26 | 2023-10-10 | 九曜智能科技(浙江)有限公司 | 一种基于web的车辆仿真测试验证方法、装置、设备及介质 |
-
2023
- 2023-12-27 CN CN202311812876.1A patent/CN117478570B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776313A (zh) * | 2016-12-13 | 2017-05-31 | 广州唯品会信息科技有限公司 | 一种模拟服务的方法、装置及集中管理平台 |
US20190034313A1 (en) * | 2017-07-31 | 2019-01-31 | Oracle International Corporation | System and method to execute and manage load tests using containers |
JP2020140331A (ja) * | 2019-02-27 | 2020-09-03 | 日本電信電話株式会社 | Apiアダプタ試験システム、apiアダプタ試験支援装置、apiアダプタ試験支援方法、および、apiアダプタ試験支援プログラム |
CN110752964A (zh) * | 2019-09-06 | 2020-02-04 | 锐捷网络股份有限公司 | 一种网络设备的测试方法及装置 |
CN111695328A (zh) * | 2020-06-16 | 2020-09-22 | 深圳前海微众银行股份有限公司 | 模拟测试报文生成方法、装置、设备及存储介质 |
CN113079061A (zh) * | 2021-03-24 | 2021-07-06 | 广东海聊科技有限公司 | 一种物联网性能测试方法及系统 |
CN115967659A (zh) * | 2021-10-08 | 2023-04-14 | 中国移动通信有限公司研究院 | 资源池设备的检查方法及装置 |
CN114978963A (zh) * | 2022-04-26 | 2022-08-30 | 西安交通大学 | 一种网络系统监控分析方法、装置、电子设备及存储介质 |
CN116418689A (zh) * | 2023-04-18 | 2023-07-11 | 曙光网络科技有限公司 | 一种请求报文响应方法、装置、电子设备和存储介质 |
CN116861696A (zh) * | 2023-07-26 | 2023-10-10 | 九曜智能科技(浙江)有限公司 | 一种基于web的车辆仿真测试验证方法、装置、设备及介质 |
CN116743619A (zh) * | 2023-08-15 | 2023-09-12 | 苏州浪潮智能科技有限公司 | 网络服务的测试方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117478570B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111262759B (zh) | 一种物联网平台测试方法、装置、设备和存储介质 | |
WO2019184164A1 (zh) | 自动部署Kubernetes从节点的方法、装置、终端设备及可读存储介质 | |
CN108256118B (zh) | 数据处理方法、装置、系统、计算设备以及存储介质 | |
CN105787364B (zh) | 任务的自动化测试方法、装置及系统 | |
CN106484611B (zh) | 基于自动化协议适配的模糊测试方法和装置 | |
US20110296393A1 (en) | Systems and methods for generating an encoded package profile based on executing host processes | |
CN108228444B (zh) | 一种测试方法和装置 | |
CN111177729B (zh) | 一种程序漏洞的测试方法以及相关装置 | |
CN104461697B (zh) | 一种虚拟机批量在线ip地址自动设置系统及方法 | |
CN114374632B (zh) | 一种物联网数据平台多协议测试提效方法 | |
CN112445700A (zh) | 测试方法和装置 | |
CN110928554A (zh) | 一种部署方法、装置、设备及存储介质 | |
CN115643112B (zh) | 一种安全防护能力的测试方法及装置 | |
CN110650035A (zh) | 用于生成和管理工业网络中的虚拟工业设备的方法和系统 | |
CN113489603A (zh) | 一种网络靶场中交互式背景流量发生方法与系统 | |
CN114362983A (zh) | 一种防火墙策略管理方法、装置、计算机设备和存储介质 | |
CN111651352A (zh) | 一种仓库代码的合并方法及装置 | |
CN112052179B (zh) | 软件系统的模拟方法、模拟系统及计算机可读介质 | |
CN114416451A (zh) | 服务器测试方法、装置、计算机设备和存储介质 | |
CN112235300B (zh) | 云虚拟网络漏洞检测方法、系统、装置及电子设备 | |
CN114006815B (zh) | 云平台节点的自动化部署方法、装置、节点及存储介质 | |
CN117478570B (zh) | 基于容器化技术的设备测试方法、装置及存储介质 | |
CN104570967B (zh) | 基于Android系统的远程控制方法及系统 | |
CN117041111A (zh) | 车云功能测试方法、装置、电子设备及存储介质 | |
CN112231209A (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 |