一种软AC产品的可靠性测试方法及测试系统
技术领域
本发明涉及一种AP产品测试领域,尤其涉及一种软AC产品的可靠性测试方法及系统系统。
背景技术
软AC产品为可运行在windows普通操作系统、windows服务器的一款软件产品,可实现管理AP的功能而不需要购买硬件AC(接入控制器)产品。
目前软AC产品测试方法为:在不同操作系统电脑中手工反复配置软AC产品,再进入AP(无线接入点)界面查看配置是否下发正常。
上述测试方式存在如下缺陷:
(1)需要准备多台电脑,安装不同操作系统;
(2)多操作系统同时测试时,需同时操多台PC,测试效率低,且达不到并行测试的最佳效果;
(3)每测试一次需要手动连接AP查看,测试费时。
发明内容
为解决现有技术中的问题,本发明提供一种软AC产品的可靠性测试方法及测试系统。
本发明软AC产品的可靠性测试方法包括如下步骤:
S1:准备测试环境,包括无线连接的AP和客户端,其中,所述客户端上安装虚拟机、测试工具及软AC产品;
S2:设置测试参数,所述测试参数包括可靠性测试类型及测试时长;
S3:创建一个主线程和多个子线程,多个子线程用于登陆客户端上的操作系统及多种类型的虚拟操作系统;
S4:登陆成功后,各个子线程根据获取的测试参数,对软AC产品在多个操作系统下并行测试;
S5:可靠性验证完成后,分别在各个操作系统上验证软AC产品管理AP的基本功能是否生效;
S6:测试结束,记录测试结果。
本发明作进一步改进,在步骤S2中,所述可靠性测试类型包括反复创建无线策略、反复增删客户端、反复点击软AC产品界面各菜单。
本发明作进一步改进,在步骤S4中,如果为反复创建无线策略测试时,所述测试工具的测试方法为:
A1:使用webdriver.Chrome()方式登陆页面后,从页面获取各页面按钮、输入框的xpath定义;
A2:定义2个函数,分别为主要用于各按钮的点击的函数xpath_click、主要用于各输入框的输入的函数send_key;
A3:定义添加wifi策略和删除wifi策略的函数;
A4:定义并执行main主函数,根据循环执行间隔及测试时长计算循环执行的次数,登陆页面,调用增加wifi函数、删除wifi函数,进行测试;
A5:达到循环执行的次数,测试结束,生成测试报告。
本发明作进一步改进,在步骤S4中,如果为反复增删客户端测试时,所述测试工具的测试方法为:
B1:使用webdriver.Chrome()方式登陆页面后,从页面获取各页面按钮、输入框的xpath定义;
B2:定义2个函数,分别为主要用于各按钮的点击的函数xpath_click、主要用于各输入框的输入的函数send_key;
B3:定义添加客户端函数和删除客户端的函数;
B4:定义并执行main主函数,根据循环执行间隔及测试时长计算循环执行的次数,登陆页面,调用增加客户端函数、删除客户端函数,进行测试,其中,其中,每新加一个客户端,添加按钮的位置就会往下挪动;
B5:达到循环执行的次数,测试结束,生成测试报告。
本发明作进一步改进,在步骤S4中,如果为反复点击软AC产品界面各菜单测试时,所述测试工具的测试方法为:
C1:采用xpath定义各菜单的取值;
C2:每个菜单页面定义为一个函数,函数包含进入该菜单分页,点击各菜单分页可点击的按钮;
C3:根据循环执行间隔及测试时长计算循环执行的次数,测试开始,主函数依次调用各菜单子函数;
C4:达到循环执行的次数,测试结束,生成测试报告。
本发明作进一步改进,在步骤S5中,所述测试工具的验证方法为:测试工具采用xpath方式配置一个无线策略,采用selement的id方式在页面扫描AP,通过获取软AC产品页面的元素取值,判断是否管理上AP,若管理上AP,测试工具则控制软AC产品页面下发一个无线策略,测试工具引入pywifi模块,控制PC的无线网卡搜索无线ssid,搜到AP发出的ssid信号,并连接该ssid,连接成功,则说明软AC产品管理AP、下发无线策略成功,记录测试结果,软AC产品进行可靠性性验证后,能正常管理AP;如果连接失败,则记录软AC产品进行可靠性性验证后,功能失效。
本发明还提供一种实现所述的软AC产品的可靠性测试方法的测试系统,包括无线连接的AP和客户端,其中,所述客户端上安装虚拟机、测试工具及软AC产品。
与现有技术相比,本发明的有益效果是:同时验证了软AC产品在普通windows和windows服务器操作系统的兼容性;采用多线程方式,同时控制操作系统和虚拟机,验证了软AC产品的数据库可靠性;测试人员无需再准备多台PC安装不同操作系统进行验证;软AC产品版本升级时,只需将更新的安装包放入PC,自动化测试工具可自动安装更新,进行测试,简便快捷,测试效率高。
附图说明
图1为本发明测试系统结构示意图;
图2为本发明方法流程图;
图3为本发明一实施例测试流程图。
具体实施方式
下面结合附图和实施例对本发明做进一步详细说明。
如图1所示,本发明的测试系统包括一台AP和一台客户端PC-A(带无线网卡一张),其中,所述AP与PC-A通过无线网络连接。
本发明提供一种使用python操作windows及windows2003虚拟机进行多线程并发访问操作软AC产品、并远程控制AP,来验证软AC产品反复操作的可靠性。
测试前准备:PC-A安装python3(导入selenium库、安装webdriver)、windows2003虚拟机及测试工具,将待测试的软AC产品安装包放入PC-A中。
本例的测试步骤如下:
1、测试人员准备好环境,将待测试的软AC产品安装包放入python安装目录下;
2、运行软AC产品可靠性测试工具,在弹出的图形界面选择可靠性测试类型,包含反复创建无线策略、反复增删客户端、反复点击软AC产品界面各菜单。并设定测试时长;
3、测试人员可设定报告保存名字,点击“开始测试”;
4、测试工具完成各项测试,保存报告;
5、测试结束,测试人员检查测试报告,分析结果。
如图2和3所示,本例的测试工具的详细实现方法如下:
1、软AC产品可靠性测试工具安装文件被运行后,测试工具弹出图形界面,供测试人员选择,可选参数:测试类型(反复创建无线策略、反复增删客户端、反复点击软AC产品界面各菜单)、测试时长。
2、测试工具使用os.system函数运行软AC产品的exe安装文件,在PC-A上安装好软AC产品。
3、测试工具运行软AC产品,会自动弹出浏览器,测试工具查找用户名和密码输入框的selement的name,输入用户名和密码进行登录。
4、测试工具首先在windows系统对软AC产品进行反复增删无线策略、反复增删客户端、反复点击软AC产品界面各菜单操作;这部分利用python语言,采用xpath方式对软AC产品的页面进行配置操作。
测试工具实现:
4.1反复增删无线策略:
4.1.1:使用webdriver.Chrome()方式登陆页面后,从页面获取各页面按钮、输入框的xpath定义,例如
#无线策略添加按钮
add2='//*[@id="wirelessNetworkSettings"]/div[2]/div/div[2]/button/span[1]'
name='//*[@id="wirelessNetworkSettings"]/div[2]/div/form/fieldset/div[1]/div[2]/div[2]/input'
4.1.2:定义2个函数xpath_click(主要用于各按钮的点击)、send_key(主要用于各输入框的输入)
def xpath_click(id):
driver.find_element_by_xpath(id).click()
def send_key(id,key):
driver.find_element_by_xpath(id).send_keys(key)
4.1.3:定义添加wifi策略和删除策略的函数,
4.1.4:定义main主函数,包含登陆页面,调用增加wifi函数、删除wifi函数,for循环执行的次数会根据测试人员设定的时候计算,本例按照5秒一次循环。
4.2反复增删客户端
4.2.1:定义增删客户端各页面的xpath取值方法和上面相同;
4.2.2:增删客户端不同要注意的是,每新加一个客户端,添加按钮的位置就会往下挪动,需要采用如下方式定义:
#添加按钮
w='//*[@id="contentContainer"]/div/ui-view/div/div[1]/div/div[3]/div[1]/button'
4.3反复点击软AC产品各页面菜单,验证频繁点击是否会造成系统挂死
4.3.1还是采用xpath定义各菜单的取值;
4.3.2每个菜单页面定义为一个函数,函数包含进入该菜单分页,点击各菜单分页可点击的按钮;
4.3.3main主函数依次调用各菜单子函数。
由于本方法重点验证多操作系统多线程并发操作软AC产品,因此,本发明的测试工具在普通windows操作系统端进行操作时,会同时进入windows2003虚拟机进行操作。
多线程实现方式:进程是操作系统分配测试工具执行资源的单位,而线程是进程的一个实体,是CPU调度和分配的单位。
本例描述的整个测试工具为一个进程,本例要在这个进程中实现多任务测试,本例以2个任务为例进行说明,其中,一个用于在windows中进行测试,另一个用于在虚拟机产生的虚拟操作系统中进行测试。
本例要实现多任务,需要在主进程里开启2个子线程,采用主线程和子线程一起并发处理测试任务。
本例采用的多线程实现采用threading方式为:
(1)在python脚本中引入threading包和time包;
(2)定义的windwows操作函数
def test001()
此函数调用上面步骤定义的各操作
(3)定义虚拟机操作函数
def test002()
002函数也调用各操作
(4)main主函数:
p1=threading.Thread(target=test001)
p2=threading.Thread(target=test002)
p1.start()
p2.start()
设置后,python就能实现同时在windows和虚拟机的多线程测试,具体操作流程如图3所示。
5、上述设置完成后,测试工具在虚拟机端登录软AC产品,同时进行反复增删动作、反复增删配置、反复点击菜单测试,等测试时间达到测试人员设定的时间时,停止windows和虚拟机的频繁操作。
6、可靠性验证完成后,分别在各个操作系统上验证软AC产品管理AP的基本功能是否生效,具体的验证方法为:
6.1测试工具在windows端采用xpath方式配置一个无线策略,采用selement的id方式在页面扫描AP;
6.2测试工具通过获取软AC产品页面的元素取值,判断是否管理上AP,若管理上AP,测试工具则控制软AC产品页面下发一个无线策略,
6.3测试工具引入pywifi模块,控制PC-A的无线网卡搜索无线ssid,搜到AP发出的ssid信号,并连接该ssid,连接成功,则说明软AC产品管理AP、下发无线策略成功;
6.4测试工具记录测试结果,软AC产品进行可靠性性验证后,能正常管理AP。
若步骤6.2-6.3失败,则记录软AC产品进行可靠性性验证后,功能失效。
测试工具再在虚拟机上进行步骤步骤6.2-6.3,验证可靠性测试后,软AC产品在虚拟机上是否正常运行。
验证后,生成测试报告,验证结束。
由上可知,本发明具有如下优势:
(1)本方法同时验证了软AC在普通windows和windows服务器操作系统的兼容性;
(2)本方法采用多线程方式,同时控制操作系统和虚拟机,验证了软AC的数据库可靠性,测试效率高;
(3)测试人员无需再准备多台PC-A安装不同操作系统进行验证,节约设备成本,测试方便;
(4)软AC产品版本升级时,只需将更新的安装包放入PC-A,自动化程序可自动安装更新,进行测试;
(5)自动化测试,测试过程中,无需人工参与,避免人工出错,并且,节约了人力成本。
以上所述之具体实施方式为本发明的较佳实施方式,并非以此限定本发明的具体实施范围,本发明的范围包括并不限于本具体实施方式,凡依照本发明所作的等效变化均在本发明的保护范围内。