发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种路由器开关机自动化测试系统及方法,解决了路由器产品无法实现持续自动化测试开关机的问题,大大提高了测试效率和测试精准度。
为实现上述目的及其他相关目的,本发明提供一种路由器开关机自动化测试方法,包括以下步骤:步骤S1、设定上电时间下限、上电时间上限、循环次数、等待时间和间隔时间;步骤S2、控制路由器进行循环反复上电,其中上电时间的初始值为所述上电时间下限,上电次数为所述循环次数;步骤S3、控制路由器上电并持续一定时间,其中持续时间为所述等待时间;步骤S4、检测路由器的网关是否连接畅通;若是,转入步骤S5;若否,转入步骤S8;步骤S5、判断当前上电时间是否小于上电时间上限,若是,转入步骤S6;若否,转入步骤S7;步骤S6、设置上电时间为当前上电时间与间隔时间的和,转入步骤S2;步骤S7、判断测试成功;步骤S8、判断测试失败。
根据上述的路由器开关机自动化测试方法,其中:所述步骤S4中,通过对路由器执行Ping操作来检测路由器的网关是否连接畅通。
进一步地,根据上述的路由器开关机自动化测试方法,其中:若能够Ping通,则表明路由器的网关连接畅通;若不能Ping通,则表明路由器的网关连接不畅通。
根据上述的路由器开关机自动化测试方法,其中:所述间隔时间设置为1s。
根据上述的路由器开关机自动化测试方法,其中:所述等待时间设置为40s。
根据上述的路由器开关机自动化测试方法,其中:还包括步骤S9、显示测试结果。
根据上述的路由器开关机自动化测试方法,其中:基于Python语言来实现路由器开关机的自动化测试。
同时,本发明还提供一种路由器开关机自动化测试系统,包括控制器、继电器、若干个路由器和交换机;所述控制器与所述继电器和所述交换机相连,所述继电器分别与各个路由器相连,各个路由器均与所述交换机相连;
所述继电器用于在所述控制器的控制下,控制所述路由器的上电与断电;
所述交换机用于将所述路由器的网关信息反馈至所述控制器;
所述控制器用于根据上述任一的路由器开关机自动化测试方法对所述路由器进行开关机自动化测试。
根据上述的路由器开关机自动化测试系统,其中:所述控制器通过发送指令至所述继电器,来控制所述继电器的上电和断电,进而自动实现所述路由器的自动化上电和断电。
根据上述的路由器开关机自动化测试系统,其中:所述控制器通过发送指令至所述继电器,进而控制所述路由器上电,并持续一定时间。
如上所述,本发明的路由器开关机自动化测试系统及方法,具有以下有益效果:
(1)适用于所有SOHO无线路由器产品;
(2)能够实现全自动化开关机测试,减少测试人员的工作量,提高测试系统的运行效率;
(3)大大提高了测试效率和测试精准度。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
参照图1,本发明的路由器开关机自动化测试系统包括控制器1、继电器2、若干个路由器3和交换机4。其中,控制器1与继电器2和交换机4相连,继电器2分别与各个路由器3相连,各个路由器3均与交换机4相连。
参照图2,本发明的路由器开关机自动化测试系统通过如下的方法实现路由器开关机的自动化测试,具体包括以下步骤:
步骤S1、设定上电时间下限、上电时间上限、循环次数、等待时间和间隔时间。
步骤S2、控制路由器进行循环反复上电,其中上电时间的初始值为上电时间下限,上电次数为循环次数。
具体地,控制器通过发送指令至继电器,来控制继电器的上电和断电,从而自动实现路由器的自动化上电和断电。
步骤S3、控制路由器上电并持续一定时间,其中持续时间为等待时间。
具体地,控制器通过发送指令至继电器,来控制继电器上电,并持续一定时间。优选地,等待时间可以设置为40s。
步骤S4、检测路由器的网关是否连接畅通;若是,转入步骤S5;若否,转入步骤S8。
具体地,通过对路由器执行Ping操作来检测路由器的网关是否连接畅通。若能够Ping通,则表明路由器的网关连接畅通;若不能Ping通,则表明路由器的网关连接不畅通,可能在上电过程中出现丢配置或者镜像文件损坏的情况。
步骤S5、判断当前上电时间是否小于上电时间上限,若是,转入步骤S6;若否,转入步骤S7。
步骤S6、设置上电时间为当前上电时间与间隔时间的和,转入步骤S2。
优选地,间隔时间可以设置为1s。
步骤S7、判断测试成功,流程结束;
步骤S8、判断测试失败,流程结束。
优选地,如图3所示,还包括步骤S9,显示测试结果。当判断测试成功时,显示测试成功;当判断测试失败时,显示测试失败。
在实际操作中,本发明的路由器开关机自动化测试方法是基于Python语言实现的,其具体程序操作如下:
(1)修改程序脚本,设置上电时间下限n、上电时间上限m、循环次数i、等待时间和间隔时间。
(2)调用Python库函数,对继电器发送上电的操作指令,通过调用sleep函数使得继电器保持上电时间为n。
(3)上电n秒后,调用Python库函数,对继电器发送断电的操作指令,并判断是否达到循环次数i,若达到循环次数i,则调用Ping命令来检测路由器的网关是否畅通;若没有达到循环次数i,则继续对继电器进行上述上电断电操作。
(4)若Ping不通网关,则输出测试结果为失败,结束测试;若Ping通网关,则判断当前上电时间是否达到上电时间上限m;若达到,则输出测试结果为成功,结束测试;若没有达到,则在当前上电时间的基础上加上间隔时间作为新的上电时间,继续步骤(2)~(4)的动作。
为了更好的说明本发明的基于Python的路由器开关机自动化测试方法的预期效果,下面以验证若干个路由器FIR302M在上电过程中是否丢配置或者镜像文件损坏的自动化开关机测试为例来详细说明。具体包括以下步骤:
1)配置被测路由器的LAN IP不同于默认的LAN IP 192.168.1.1,分别为192.168.2.1,192.168.3.1。。。,控制电脑配置多个静态地址192.168.2.1,192.168.3.1。。。,打开串口。
2)打开Python脚本,设置上电时间下限、上电时间上限、循环次数、等待时间和间隔时间。部分代码如下:
3)调用Python库函数,定时对继电器发送上电断电的操作指令,并打印相应的信息和等待时间。具体代码如下:
4)调用CMD命令进行Ping操作,并检查Ping结果,若Ping失败,则结束测试,显示结果为失败。具体代码如下:
5)若Ping成功,则上电时间在原有基础上增加间隔时间1s,进行下一个循环,直至超过设定的上电时间上限。
因此,本发明的路由器开关机自动化测试系统包括控制器、继电器、若干个路由器和交换机。其中,控制器与继电器和交换机相连,继电器分别与各个路由器相连,各个路由器均与交换机相连。
继电器用于在控制器的控制下,控制路由器的上电与断电。
交换机用于将路由器的网关信息反馈至控制器。
控制器用于根据上述的路由器开关机自动化测试方法对路由器进行开关机自动化测试。
综上所述,本发明的路由器开关机自动化测试系统及方法适用于所有SOHO无线路由器产品;能够实现全自动化开关机测试,减少测试人员的工作量,提高测试系统的运行效率;大大提高了测试效率和测试精准度。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。