用于多用户并发web认证的自动化测试方法及测试系统技术方案

技术编号:21251287 阅读:27 留言:0更新日期:2019-06-01 09:18
本发明专利技术提供一种用于多用户并发web认证的自动化测试方法及测试系统,属于web认证领域。本发明专利技术自动化测试方法包括步骤:登录待测设备,开启web认证,添加指定个数的web账户;添加指定个数的虚拟客户端;对指定个数的虚拟客户端并发web认证,记录认证结果;删除指定个数的虚拟客户端,结束。本发明专利技术的有益效果为:节省测试占用的人力、时间和环境搭建成本;效率高,耗时短,仅需几分钟到十几分钟即可测完上百到上千个客户端。

Automated Testing Method and Testing System for Concurrent Web Authentication of Multiuser

The invention provides an automatic test method and a test system for concurrent multi-user web authentication, which belongs to the field of web authentication. The automatic testing method of the invention includes steps: login the device to be tested, open web authentication, add a specified number of web accounts; add a specified number of virtual clients; concurrently authenticate a specified number of virtual clients, record the authentication results; delete a specified number of virtual clients, and end. The invention has the advantages of saving human resources, time and environment construction cost, high efficiency and short time consumption, and measuring hundreds to thousands of clients in only a few minutes to ten minutes.

【技术实现步骤摘要】
用于多用户并发web认证的自动化测试方法及测试系统
本专利技术web认证领域,尤其涉及一种用于多用户并发web认证的自动化测试方法及测试系统。
技术介绍
具有web认证功能的设备在多用户web认证时,需要测试人员手工连接上百至上千台终端设备,工作量大且需要采购大量的终端设备,测试成本过高,并且手工难以测试成百至上千个终端进行并发认证的性能。手工测试主要存在的问题如下:(1)手工测试需要购买大量的终端设备,测试成本过高;(2)手工测试操作重复性很高,比较耗时且枯燥;(3)手工测试难以测试多用户并发认证时的性能;(4)测试结果不直观,无法直观表现认证失败的原因。
技术实现思路
为解决现有技术中的问题,本专利技术提供一种用于多用户并发web认证的自动化测试方法及测试系统。本专利技术用于多用户并发web认证的自动化测试方法包括如下步骤:S1:开始,登录待测设备,开启web认证,添加指定个数的web账户;S2:添加指定个数的虚拟客户端;S3:对指定个数的虚拟客户端并发web认证,记录认证结果;S4:删除指定个数的虚拟客户端,结束。本专利技术作进一步改进,在步骤S1中,实例化Web类,创建一个实例对象,然后分别调用webenable方法和add_account方法去开启web认证和添加web账号,所述webenable方法的处理过程包括如下步骤:A1:调用login登录函数,发送post请求登录待测设备;A2:解码返回的json数据,根据json字段内容判断是否登录成功,如果是,发送post请求开启web认证,如果否,结束;A3:解码返回的json数据,根据json字段内容判断是否开启成功,如果是,输出开启成功提示语,返回True,结束,如果否,输出开启失败提示,返回False,所述add_account方法的处理过程包括如下步骤:B1:传入要添加的个数num;B2:调用login登录函数,发送post请求登录待测设备;B3:解码返回的json数据,根据json字段内容判断是否登录成功,若果否,结束,否则:初始化参数i=1,开始发送post请求添加web账号;B4:每发送一个post请求,i的值加1,判断i的值是否小于num+1,如果是,循环执行步骤B4,如果否,获取已添加的web账号列表;B5:判断已存在的账号数与已添加的数目是否相等,如果是,输出添加成功提示,返回True,结束,如果否,输出添加失败提示,返回False。本专利技术作进一步改进,在步骤S2中,实例化PotalAuth类,创建一个实例对象,然后调用config_macvlan方法,根据传入的IP地址,构造macvlan接口的MAC地址,然后将每个接口up,并配置每个接口的IP和MAC。本专利技术作进一步改进,在步骤S3中,并发认证的处理方法为:S301:检测与外网的连通性,若网络连通,则创建进程对象,调用auth_test对象;S302:开始执行进程,构造auth_test对象的参数,所述参数为要进行认证的客户端数,包括num个IP和web账号;S303:auth_test对象调用AuthTest,并将AuthTest实例化,创建num个线程;S304:开始执行线程,对num个用户进行并发认证;S305:记录认证结果,结束。本专利技术还提供一种实现所述自动化测试方法的测试系统,包括:web定义模块:用于定义登录待测设备,开启web认证、添加和删除web认证账号的函数;接口定义模块:用于定义添加虚拟接口、删除虚拟接口、发送请求和保存认证结果的函数;并发认证模块:用于模拟多个客户端进行并发认证;添加虚拟用户模块:用于添加并配置指定个数的模拟指定个数客户端的虚拟接口;删除虚拟用户模块:用于删除指定个数的虚拟接口。本专利技术作进一步改进,所述并发认证模块通过requests发送get和post请求模拟web认证过程。本专利技术作进一步改进,采用macvlan虚拟技术创建虚接口模拟多个客户端。与现有技术相比,本专利技术的有益效果是:(1)节省测试占用的人力、时间和环境搭建成本;(2)效率高,耗时短,仅需几分钟到十几分钟即可测完上百到上千个客户端;(3)通过获取接口返回值并保存到日志中,可以直观体现认证失败的原因。附图说明图1为本专利技术方法流程图;图2为开启web认证和添加web账号方法流程图;图3为添加虚拟用户方法流程图;图4为并发web认证方法流程图。具体实施方式下面结合附图和实施例对本专利技术做进一步详细说明。如图1所示,本专利技术可以应用于所有带web认证功能的产品的测试。本专利技术包括如下步骤:S1:开始,登录待测设备,开启web认证,添加指定个数的web账户;S2:添加指定个数的虚拟客户端;S3:对指定个数的虚拟客户端并发web认证,记录认证结果;S4:删除指定个数的虚拟客户端,结束。作为本专利技术的一个优选实施例,本专利技术通过requests(请求)发送get和post请求模拟web认证过程;采用macvlan虚拟技术创建虚接口模拟多个客户端。相应地,本专利技术自动化测试方法主要通过五个功能模块来实现,分别为:web定义模块config.py:定义Web类,用于定义登录待测设备DUT,开启web认证、添加和删除web认证账号的函数;接口定义模块portal.py:定义PotalAuth类,用于定义添加macvlan接口、删除macvlan接口、发送请求和保存认证结果的函数;并发认证模块auth.py:用于模拟多个客户端进行并发认证;添加虚拟用户模块add_macvlan.py:用于添加并配置指定个数的模拟指定个数客户端的macvlan接口;删除虚拟用户模块:用于删除指定个数的macvlan接口。本专利技术的实现过程为:(1)配置运行环境,然后连接在DUT的LAN口,配置Linux主机可以访问外网;(2)运行config.py,开启web认证并添加web账号;(3)运行add_macvlan.py,配置指定个数的macvlan接口;(4)运行auth.py,让指定个数的客户端进行并发web认证;(5)运行del_macvlan.py,删除配置的macvlan接口。以下对各个步骤详细说明:(1)在步骤S1中,web定义模块config.py定义Web类,利用requests库提供的相关方法,封装login、webenable、add_account等函数。实现开启web认证、添加web账号等基本功能。如图2所示,web定义模块的处理方法为:实例化Web类,创建一个实例对象,然后分别调用webenable方法和add_account方法去开启web认证和添加web账号,所述webenable方法的处理过程包括如下步骤:A1:调用login登录函数,发送post请求登录待测设备;A2:解码返回的json数据,根据json字段内容判断是否登录成功,如果是,发送post请求开启web认证,如果否,结束;A3:解码返回的json数据,根据json字段内容判断是否开启成功,如果是,输出开启成功提示语,返回True,结束,如果否,输出开启失败提示,返回False,所述add_account方法的处理过程包括如下步骤:B1:传入要添加的个数num;B2:调用login登录函数,发送post请求登录待测设备;B3:解码返回本文档来自技高网...

【技术保护点】
1.用于多用户并发web认证的自动化测试方法,其特征在于,包括如下步骤:S1:开始,登录待测设备,开启web认证,添加指定个数的web账户;S2:添加指定个数的虚拟客户端;S3:对指定个数的虚拟客户端并发web认证,记录认证结果;S4:删除指定个数的虚拟客户端,结束。

【技术特征摘要】
1.用于多用户并发web认证的自动化测试方法,其特征在于,包括如下步骤:S1:开始,登录待测设备,开启web认证,添加指定个数的web账户;S2:添加指定个数的虚拟客户端;S3:对指定个数的虚拟客户端并发web认证,记录认证结果;S4:删除指定个数的虚拟客户端,结束。2.根据权利要求1所述的自动化测试方法,其特征在于:在步骤S1中,实例化Web类,创建一个实例对象,然后分别调用webenable方法和add_account方法去开启web认证和添加web账号,所述webenable方法的处理过程包括如下步骤:A1:调用login登录函数,发送post请求登录待测设备;A2:解码返回的json数据,根据json字段内容判断是否登录成功,如果是,发送post请求开启web认证,如果否,结束;A3:解码返回的json数据,根据json字段内容判断是否开启成功,如果是,输出开启成功提示语,返回True,结束,如果否,输出开启失败提示,返回False,所述add_account方法的处理过程包括如下步骤:B1:传入要添加的个数num;B2:调用login登录函数,发送post请求登录待测设备;B3:解码返回的json数据,根据json字段内容判断是否登录成功,若果否,结束,否则:初始化参数i=1,开始发送post请求添加web账号;B4:每发送一个post请求,i的值加1,判断i的值是否小于num+1,如果是,循环执行步骤B4,如果否,获取已添加的web账号列表;B5:判断已存在的账号数与已添加的数目是否相等,如果是,输出添加成功提示,返回True,结束,如果否,输出添加失败...

【专利技术属性】
技术研发人员:张丽萍
申请(专利权)人:深圳市吉祥腾达科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1