CN109831360A - 用于多用户并发web认证的自动化测试方法及测试系统 - Google Patents
用于多用户并发web认证的自动化测试方法及测试系统 Download PDFInfo
- 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
Links
Abstract
本发明提供一种用于多用户并发web认证的自动化测试方法及测试系统,属于web认证领域。本发明自动化测试方法包括步骤:登录待测设备,开启web认证,添加指定个数的web账户;添加指定个数的虚拟客户端;对指定个数的虚拟客户端并发web认证,记录认证结果;删除指定个数的虚拟客户端,结束。本发明的有益效果为:节省测试占用的人力、时间和环境搭建成本;效率高,耗时短,仅需几分钟到十几分钟即可测完上百到上千个客户端。
Description
技术领域
本发明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虚拟技术创建虚接口模拟多个客户端。
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)
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)
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认证方法及装置 |
-
2019
- 2019-02-27 CN CN201910145481.8A patent/CN109831360A/zh active Pending
Patent Citations (8)
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)
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 |