CN109831360A - 用于多用户并发web认证的自动化测试方法及测试系统 - Google Patents

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

Info

Publication number
CN109831360A
CN109831360A CN201910145481.8A CN201910145481A CN109831360A CN 109831360 A CN109831360 A CN 109831360A CN 201910145481 A CN201910145481 A CN 201910145481A CN 109831360 A CN109831360 A CN 109831360A
Authority
CN
China
Prior art keywords
web
authentication
test
account
virtual
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.)
Pending
Application number
CN201910145481.8A
Other languages
English (en)
Inventor
张丽萍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENZHEN JIXIANG TENDA TECHNOLOGY Co Ltd
Original Assignee
SHENZHEN JIXIANG TENDA TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHENZHEN JIXIANG TENDA TECHNOLOGY Co Ltd filed Critical SHENZHEN JIXIANG TENDA TECHNOLOGY Co Ltd
Priority to CN201910145481.8A priority Critical patent/CN109831360A/zh
Publication of CN109831360A publication Critical patent/CN109831360A/zh
Pending legal-status Critical Current

Links

Abstract

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

Description

用于多用户并发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:解码返回的json数据,根据json字段内容判断是否登录成功,若果否,结束,否则:初始化参数i=1,开始发送post请求添加web账号;
B4:每发送一个post请求,i的值加1,判断i的值是否小于num+1,如果是,循环执行步骤B4,如果否,获取已添加的web账号列表;
B5:判断已存在的账号数与已添加的数目是否相等,如果是,输出添加成功提示,返回True,结束,如果否,输出添加失败提示,返回False。
(2)接口定义模块portal.py定义PortalAuth类,封装config_macvlan、del_macvlan、geturl、posturl、send_packet、savemsg等函数,实现添加和删除macvlan、发送get和post请求等核心基本功能。
本发明能够通过geturl函数自动输入网址重定向到web认证界面,然后通过posturl函数输入账号进行认证。
(3)如图3所示,在步骤S2中,添加虚拟用户模块add_macvlan.py的添加客户端方法为:实例化PotalAuth类,创建一个实例对象,然后调用config_macvlan方法,根据传入的IP地址,构造macvlan接口的MAC地址,然后将每个接口up,并配置每个接口的IP和MAC。
(4)如图4所示,在步骤S3中,并发认证模块auth.py的处理方法为:
S301:检测与外网的连通性,若网络连通,则创建进程对象,调用auth_test对象;
S302:开始执行进程,构造auth_test对象的参数,所述参数为要进行认证的客户端数,包括num个IP和web账号;
S303:auth_test对象调用AuthTest,并将AuthTest实例化,创建num个线程;
S304:开始执行线程,实例化对象调用run()中的geturl和posturl方法对num个用户进行并发认证;
S305:记录认证结果,结束。
相比现有技术使用手工测试,使用本发明测试工具,具有以下优点:
(1)节省测试占用的人力、时间和环境搭建成本;
(2)效率高,耗时短,仅需几分钟到十几分钟即可测完上百到上千个客户端;
(3)通过获取接口返回值并保存到日志中,可以直观体现认证失败的原因。
以上所述之具体实施方式为本发明的较佳实施方式,并非以此限定本发明的具体实施范围,本发明的范围包括并不限于本具体实施方式,凡依照本发明所作的等效变化均在本发明的保护范围内。

Claims (7)

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,结束,如果否,输出添加失败提示,返回False。
3.根据权利要求2所述的自动化测试方法,其特征在于:在步骤S2中,实例化PotalAuth类,创建一个实例对象,然后调用config_macvlan方法,根据传入的IP地址,构造macvlan接口的MAC地址,然后将每个接口up,并配置每个接口的IP和MAC。
4.根据权利要求3所述的自动化测试方法,其特征在于:在步骤S3中,并发认证的处理方法为:
S301:检测与外网的连通性,若网络连通,则创建进程对象,调用auth_test对象;
S302:开始执行进程,构造auth_test对象的参数,所述参数为要进行认证的客户端数,包括num个IP和web账号;
S303:auth_test对象调用AuthTest,并将AuthTest实例化,创建num个线程;
S304:开始执行线程,对num个用户进行并发认证;
S305:记录认证结果,结束。
5.实现权利要求1-4任一项所述的自动化测试方法的测试系统,其特征在于,包括:
web定义模块:用于定义登录待测设备,开启web认证、添加和删除web认证账号的函数;接口定义模块:用于定义添加虚拟接口、删除虚拟接口、发送请求和保存认证结果的函数;并发认证模块:用于模拟多个客户端进行并发认证;
添加虚拟用户模块:用于添加并配置指定个数的模拟指定个数客户端的虚拟接口;
删除虚拟用户模块:用于删除指定个数的虚拟接口。
6.根据权利要求5所述的测试系统,其特征在于:所述并发认证模块通过requests发送get和post请求模拟web认证过程。
7.根据权利要求6所述的测试系统,其特征在于:采用macvlan虚拟技术创建虚接口模拟多个客户端。
CN201910145481.8A 2019-02-27 2019-02-27 用于多用户并发web认证的自动化测试方法及测试系统 Pending CN109831360A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910145481.8A CN109831360A (zh) 2019-02-27 2019-02-27 用于多用户并发web认证的自动化测试方法及测试系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910145481.8A CN109831360A (zh) 2019-02-27 2019-02-27 用于多用户并发web认证的自动化测试方法及测试系统

Publications (1)

Publication Number Publication Date
CN109831360A true CN109831360A (zh) 2019-05-31

Family

ID=66864636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910145481.8A Pending CN109831360A (zh) 2019-02-27 2019-02-27 用于多用户并发web认证的自动化测试方法及测试系统

Country Status (1)

Country Link
CN (1) CN109831360A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110442524A (zh) * 2019-08-09 2019-11-12 中国建设银行股份有限公司 一种针对带有认证授权的web服务接口测试方法和装置
CN110795339A (zh) * 2019-09-29 2020-02-14 苏州浪潮智能科技有限公司 一种服务器的配置程序代码的测试方法、装置及介质
CN111475414A (zh) * 2020-04-03 2020-07-31 深圳市吉祥腾达科技有限公司 模拟多个ap客户端实现在服务端产品上线的方法及系统
CN111526069A (zh) * 2020-04-29 2020-08-11 深圳市吉祥腾达科技有限公司 基于sd-wan的并发隧道性能测试方法
CN115314410A (zh) * 2022-08-10 2022-11-08 深圳市吉祥腾达科技有限公司 一种软ac客户端模拟与认证自动化测试方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1773941A (zh) * 2004-11-11 2006-05-17 中兴通讯股份有限公司 一种认证服务的性能测试方法和装置
CN102739684A (zh) * 2012-06-29 2012-10-17 杭州迪普科技有限公司 一种基于虚拟IP地址的Portal认证方法及服务器
US8327432B2 (en) * 2007-02-28 2012-12-04 Cisco Technology, Inc. Self-initiated end-to-end monitoring of an authentication gateway
CN104993945A (zh) * 2015-05-27 2015-10-21 上海斐讯数据通信技术有限公司 一种用于无线路由器的认证测试方法及系统
CN106406975A (zh) * 2015-07-30 2017-02-15 中兴通讯股份有限公司 桌面云系统的测试方法及装置
CN106559289A (zh) * 2016-11-28 2017-04-05 杭州迪普科技股份有限公司 Sslvpn网关的并发测试方法及装置
CN107092541A (zh) * 2017-04-27 2017-08-25 郑州云海信息技术有限公司 一种运用虚拟机进行存储性能测试的方法
CN108259457A (zh) * 2017-09-27 2018-07-06 新华三技术有限公司 一种web认证方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1773941A (zh) * 2004-11-11 2006-05-17 中兴通讯股份有限公司 一种认证服务的性能测试方法和装置
US8327432B2 (en) * 2007-02-28 2012-12-04 Cisco Technology, Inc. Self-initiated end-to-end monitoring of an authentication gateway
CN102739684A (zh) * 2012-06-29 2012-10-17 杭州迪普科技有限公司 一种基于虚拟IP地址的Portal认证方法及服务器
CN104993945A (zh) * 2015-05-27 2015-10-21 上海斐讯数据通信技术有限公司 一种用于无线路由器的认证测试方法及系统
CN106406975A (zh) * 2015-07-30 2017-02-15 中兴通讯股份有限公司 桌面云系统的测试方法及装置
CN106559289A (zh) * 2016-11-28 2017-04-05 杭州迪普科技股份有限公司 Sslvpn网关的并发测试方法及装置
CN107092541A (zh) * 2017-04-27 2017-08-25 郑州云海信息技术有限公司 一种运用虚拟机进行存储性能测试的方法
CN108259457A (zh) * 2017-09-27 2018-07-06 新华三技术有限公司 一种web认证方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110442524A (zh) * 2019-08-09 2019-11-12 中国建设银行股份有限公司 一种针对带有认证授权的web服务接口测试方法和装置
CN110795339A (zh) * 2019-09-29 2020-02-14 苏州浪潮智能科技有限公司 一种服务器的配置程序代码的测试方法、装置及介质
CN111475414A (zh) * 2020-04-03 2020-07-31 深圳市吉祥腾达科技有限公司 模拟多个ap客户端实现在服务端产品上线的方法及系统
CN111526069A (zh) * 2020-04-29 2020-08-11 深圳市吉祥腾达科技有限公司 基于sd-wan的并发隧道性能测试方法
CN111526069B (zh) * 2020-04-29 2022-03-11 深圳市吉祥腾达科技有限公司 基于sd-wan的并发隧道性能测试方法
CN115314410A (zh) * 2022-08-10 2022-11-08 深圳市吉祥腾达科技有限公司 一种软ac客户端模拟与认证自动化测试方法及系统

Similar Documents

Publication Publication Date Title
CN109831360A (zh) 用于多用户并发web认证的自动化测试方法及测试系统
CN109218139B (zh) 网关测试系统
CN103812726B (zh) 一种数据通信设备的自动化测试方法及装置
CN106294179B (zh) 应用程序开发过程中的模拟测试方法及服务器
CN105528290B (zh) 基于脚本的嵌入式软件仿真及测试一体化平台的构建方法
US20060039538A1 (en) "Software only" tool for testing networks under high-capacity, real-world conditions
CN107832226A (zh) 基于性能测试的报告生成方法、装置、设备和计算机介质
CN107341098A (zh) 软件性能测试方法、平台、设备及存储介质
CN110139298B (zh) 一种WiFi自动化测试系统及其测试方法
CN107861862A (zh) Ui自动化测试方法、装置及计算机可读存储介质
CN104993945B (zh) 一种用于无线路由器的认证测试方法及系统
CN106209515B (zh) 接入网设备自动化测试系统
CN110493812A (zh) 配网测试的处理方法、装置、系统、处理器及主控设备
CN109450743A (zh) 物联网平台压力测试系统、方法、装置及服务器
CN108683704A (zh) 一种Socket网络通信测试方法及其系统、存储介质
CN114374632B (zh) 一种物联网数据平台多协议测试提效方法
CN110232025A (zh) 协议测试方法、装置和系统
CN109902015A (zh) 一种智能合约仿真测试方法、装置、系统及存储介质
CN109600787A (zh) 基站空口吞吐性能测试方法、装置和系统
CN112328374A (zh) 一种基于虚拟化实操环境的综合测评系统与方法
CN107844486A (zh) 一种用于客户端的分析网页问题的方法和系统
CN111475414A (zh) 模拟多个ap客户端实现在服务端产品上线的方法及系统
CN104852832B (zh) 用于插座集群中stun服务器性能测试的方法及系统
CN108267683A (zh) 一种fpga自测的方法及装置
CN112838938B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190531

RJ01 Rejection of invention patent application after publication