CN102946334A - 一种获取有效图像验证码的方法和系统 - Google Patents

一种获取有效图像验证码的方法和系统 Download PDF

Info

Publication number
CN102946334A
CN102946334A CN2012104929751A CN201210492975A CN102946334A CN 102946334 A CN102946334 A CN 102946334A CN 2012104929751 A CN2012104929751 A CN 2012104929751A CN 201210492975 A CN201210492975 A CN 201210492975A CN 102946334 A CN102946334 A CN 102946334A
Authority
CN
China
Prior art keywords
cookie
unit
identifying code
http
information
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.)
Granted
Application number
CN2012104929751A
Other languages
English (en)
Other versions
CN102946334B (zh
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.)
Medium shift information technology Co., Ltd.
Original Assignee
China Mobile Shenzhen 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 China Mobile Shenzhen Co Ltd filed Critical China Mobile Shenzhen Co Ltd
Priority to CN201210492975.1A priority Critical patent/CN102946334B/zh
Publication of CN102946334A publication Critical patent/CN102946334A/zh
Application granted granted Critical
Publication of CN102946334B publication Critical patent/CN102946334B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种获取有效图像验证码的方法和系统,系统包括第一至第五单元,方法包括:S1、GUI测试引擎驱动浏览器访问登录页面;S2、GUI测试引擎驱动浏览器在新窗口访问图形验证码URL,获取Cookie信息;S3、HTTP测试引擎创建HTTP协议请求,请求路径为图形验证码URL,获取HTTP响应的参考来源和Cookie信息;S4、根据S2中的Cookie信息及S3中的参考来源和Cookie信息重构HTTP请求,请求路径为图形验证码URL;S5、对HTTP响应内容部分的I/O流读写操作生成图形验证码。无需依赖图形验证码的实现细节,克服了网页前端控制代码的限制,在不同的测试环境下具备复用性。

Description

一种获取有效图像验证码的方法和系统
技术领域
本发明涉及Web系统自动化测试,更具体地说,涉及在Web系统自动登录测试中的一种获取有效图像验证码的方法和系统。
背景技术
随着Internet技术的日益普及,基于浏览器-服务器(Browser/Server)架构的企业应用越来越多,如何对这些Web系统进行有效的测试成为日益迫切的问题。
为了提高测试效率,自动化测试技术目前被广泛应用于Web系统测试。而在Web系统中,“用户登录”是非常常见的功能之一,也是很多Web系统自动化测试无法回避的一个测试点。例如:在Web系统功能测试需要测试登录表单是否满足需求;在Web系统安全测试中需要测试登录信息加密、身份验证是否正确;在Web系统性能测试中需要模拟用户登录,构建并发测试环境等都有所涉及。
但与此同时,为了防止Web系统被恶意攻击,大部分的Web系统都在“用户登录”的功能中采用了验证码技术,这又给Web系统自动化测试带来了较大的挑战。在一次Web系统自动登录测试中,如何获取一个有效的验证码,是测试人员和测试工具开发厂商必须面对的问题。
现有解决Web自动化登录测试中图形验证码问题的主要技术思路为:
首先依据登录页面验证码的显示位置,录制鼠标操作脚本,移动鼠标光标至验证码图片上方,再模拟鼠标点击右键,弹出菜单,选择“图片另存为”菜单项,使用浏览器下载并保存验证码图片,再调用图像模式识别工具对已下载的验证码图片的进行内容识别,最后再将识别好的内容回填到登录表单,提交表单完成测试。
现有解决Web自动化登录测试中图形验证码问题的技术主要存储以下缺陷:
1、依赖图形验证码的显示位置,该项技术配置测试脚本需要非常精确的验证码显示位置信息,实际上当屏幕分辨率或者页面布局发生变化时,都必须重新修改测试脚本配置,可维护性很差,稳定性不高;
2、如果网页禁用或重载了鼠标右键菜单功能,该技术将失效;
3、基本上无法确定图形验证码何时才加载显示完毕,以至于无法准确地配置下一步操作步骤的执行时间,加大了测试脚本的配置难度大,并且在不同的测试环境下不具备可复用性。
发明内容
本发明针对现有的解决Web自动化登录测试中图形验证码问题的技术,依赖于图形验证码的显示位置,无法确定图形验证码加载现实的完成时间造成无法准确地配置下一操作的执行时间,且在网页禁用或重载鼠标右键菜单功能时导致技术失效,以及在不同的测试环境下不具备可复用性的缺陷,提供一种获取有效图像验证码的方法和系统,无需依赖于图形验证码的实现细节(包括显示位置等),克服了网页前端控制代码的限制,在不同的测试环境下具备复用性。
本发明解决其技术问题采用的技术方案是:提供一种获取有效图像验证码的方法,其特征在于,包括以下步骤:
S1、通过安装在客户端的图形用户界面(GUI)测试引擎驱动浏览器访问Web系统的登录页面,并接收服务器生成的用于表示客户端的唯一性的信息,所述用于表示客户端的唯一性的信息包括会话ID;
S2、所述GUI测试引擎驱动浏览器在新窗口中保持同一个会话ID访问图形验证码的统一全球资源定位符(URL),获取该页面的所有Cookie信息;
S3、通过安装在客户端的超文本传输协议(HTTP)测试引擎创建HTTP协议请求,请求路径为图形验证码的URL,接收服务器的HTTP响应,获取HTTP响应的报头部分的参考来源和Cookie信息;
S4、根据步骤S2中获取的Cookie信息以及步骤S3中获取的参考来源和Cookie信息重新构造HTTP请求,请求路径为图形验证码的URL;
S5、接收服务器端的HTTP响应,根据HTTP响应的内容部分进行输入/输出流读写操作,生成有效图形验证码。
优选地,步骤S2包括步骤:
S2a、所述GUI测试引擎驱动浏览器在新窗口中保持同一个会话ID访问图形验证码的URL;
S2b、获取该页面的所有Cookie信息;
S2c、将获取的所有Cookie信息存储为第一Cookie单元。
优选地,步骤S3包括步骤:
S3a、通过所述HTTP测试引擎创建HTTP协议请求,请求路径为图形验证码的URL;
S3b、接收服务器的HTTP响应,获取HTTP响应的报头部分的参考来源和Cookie信息;
S3c、将获取的所有Cookie信息存储为第二Cookie单元。
优选地,步骤S4包括以下步骤:
S4a、通过比对算法将所述第一Cookie单元中保存的Cookie信息以及所述第二Cookie单元中保存的Cookie信息生成最终的Cookie信息;S4b、根据最终的Cookie信息和步骤S3中获取的参考来源重新构造HTTP请求,请求路径为图形验证码的URL。
优选地,步骤S4a包括以下步骤:
S4a1、从所述第一Cookie单元中获取一个Cookie信息;
S4a2、从所述第二Cookie单元中获取一个Cookie信息;
S4a3、判断从所述第一Cookie单元中获取的Cookie信息和从所述第二Cookie单元中获取的Cookie信息的名称的属性值是否相同,是则执行步骤S4a4,否则执行S4a6;
S4a4、将从所述第二Cookie单元中获取的Cookie信息的所有属性值赋给从所述第一Cookie单元中获取的Cookie信息;
S4a5、从所述第二Cookie单元中删除获取的Cookie信息;
S4a6、判断是否可以从所述第二Cookie单元获取下一个Cookie信息,是则执行步骤S4a3,否则执行S4a7;
S4a7、判断是否可以从所述第一Cookie单元获取下一个Cookie信息,是则执行S4a1,否则执行S4a8;
S4a8、以所述第一Cookie单元中的所有Cookie信息作为最终的Cookie信息,并执行步骤S4b。
优选地,所述方法还包括步骤:
S6、识别所述有效图形验证码的内容;
S7、所述GUI测试引擎将识别出的有效图形验证码的内容填充到Web系统的登录页面的登录表单并提交,完成登录测试操作。
优选地,步骤S6中,通过调用验证码识别函数完成所述有效图形验证码的内容的识别。
提供一种获取有效图像验证码的系统,其特征在于,包括:
第一单元,通过安装在客户端的图形用户界面(GUI)测试引擎驱动浏览器访问Web系统的登录页面,并接收服务器生成的用于表示客户端的唯一性的信息,所述用于表示客户端的唯一性的信息包括会话ID;
第二单元,通过所述GUI测试引擎驱动浏览器在新窗口中保持同一个会话ID访问图形验证码的统一全球资源定位符(URL),获取该页面的所有Cookie信息;
第三单元,通过安装在客户端的超文本传输协议(HTTP)测试引擎创建HTTP协议请求,请求路径为图形验证码的URL,接收服务器的HTTP响应,获取HTTP响应的报头部分的参考来源和Cookie信息;
第四单元,用于根据所述第二单元获取的Cookie信息以及所述第三单元获取的参考来源和Cookie信息重新构造HTTP请求,请求路径为图形验证码的URL;
第五单元,用于接收服务器端的HTTP响应,根据HTTP响应进行输入/输出流读写操作,生成验证码图片。
优选地,所述第二单元包括:
第一模块,通过所述GUI测试引擎驱动浏览器在新窗口中保持同一个会话ID访问图形验证码的URL;
第二模块,用于获取页面的所有Cookie信息;
第三模块,用于将获取的所有Cookie信息存储为第一Cookie单元;
所述第三单元包括:
第四模块,通过所述HTTP测试引擎创建HTTP协议请求,请求路径为图形验证码的URL;
第五模块,用于接收服务器的HTTP响应,获取HTTP响应的报头部分的参考来源和Cookie信息;
第六模块,用于将获取的所有Cookie信息存储为第二Cookie单元。
优选地,所述第四单元包括:
第七模块,通过比对算法将所述第一Cookie单元中保存的Cookie信息以及所述第二Cookie单元中保存的Cookie信息生成最终的Cookie信息;
第八模块,用于根据最终的Cookie信息和所述第三单元获取的参考来源重新构造HTTP请求,请求路径为图形验证码的URL;
所述系统还包括:
第六单元,通过调用验证码识别函数识别所述有效图形验证码的内容;
第七单元,用于通过所述GUI测试引擎将识别出的有效图形验证码的内容填充到Web系统的登录页面的登录表单并提交,完成登录测试操作。
本发明的获取有效图像验证码的方法和系统具有以下有益效果:融合了基于GUI和基于通信协议的两种Web自动化测试技术,测试人员仅仅需要知道Web系统登录验证码的URL,即可测试测试脚本的配置,不再需要依赖于图形验证码的具体实现细节,包括显示位置等信息,稳定性高。该方案既保留了测试操作可视化的优点,又大大提高了测试脚本可维护性。另外,直接采用I/O流读写方式,下载图形验证码,完全解决了网页前端控制代码限制鼠标操作的问题,并且一旦完成图片文件的写操作,即可进行后续的测试操作,脚本配置逻辑清晰可靠。再者,根据HTTP协议“无状态”的特点,利用两种手段解析并重构Cookie,相互补充,从根本上保证了获取到的图形验证码的有效性。同时,也为Web系统自动化测试中其它非标准对象获取与识别,提供了一种新思路。
附图说明
图1为本发明的获取有效图像验证码的方法第一实施例的流程图;
图2为本发明的获取有效图像验证码的方法第二实施例的流程图;
图3为本发明的获取有效图像验证码的方法第二实施例的实现流程图;
图4为比对算法的实现流程图;
图5为本发明的获取有效图像验证码的系统第一实施例的系统框图;
图6为本发明的获取有效图像验证码的系统第二实施例的系统框图。
具体实施方式
以下结合附图和实施例对本发明作进一步的解释说明。
图1为本发明的获取有效图像验证码的方法第一实施例的流程图,如图1所示,在本实施例中,本发明的方法包括以下步骤:
S1、通过安装在客户端的图形用户界面(GUI)测试引擎驱动浏览器访问Web系统的登录页面,并接收服务器生成的用于表示客户端的唯一性的信息,所述用于表示客户端的唯一性的信息包括会话ID(Session ID)。其中,访问的Web系统不同,服务器生成的用于表示客户端的唯一性的信息也不相同,用于表示客户端的唯一性的信息中还可以包括随机变量。
S2、GUI测试引擎驱动浏览器在新窗口中保持同一个会话ID访问图形验证码的统一全球资源定位符(URL),获取该页面的所有Cookie信息。在本实施例中,步骤S2具体包括:S2a、GUI测试引擎驱动浏览器在新窗口中保持同一个会话ID访问图形验证码的URL;S2b、GUI测试引擎获取该页面的所有Cookie信息;S2c、GUI测试引擎将获取的所有Cookie信息存储为第一Cookie单元。
S3、通过安装在客户端的超文本传输协议(HTTP)测试引擎创建HTTP协议请求,请求路径为图形验证码的URL,接收服务器的HTTP响应,获取HTTP响应的报头(Header)部分的参考来源(Referer)和Cookie信息。HTTP响应包括Header和主体(Body),其中,Header包括Referer和Cookie信息,Body包括内容部分(Content)。在本实施例中,步骤S3具体包括:S3a、通过HTTP测试引擎创建HTTP协议请求,请求路径为图形验证码的URL;S3b、接收服务器的HTTP响应,获取HTTP响应的Header部分内容的Referer和Cookie信息;S3c、将获取的所有Cookie信息存储为第二Cookie单元。
S4、根据步骤S2中获取的Cookie信息以及步骤S3中获取的Referer和Cookie信息重新构造HTTP请求,请求路径为图形验证码的URL。在本实施例中,步骤S4具体包括:S4a、通过比对算法将所述第一Cookie单元中保存的Cookie信息以及所述第二Cookie单元中保存的Cookie信息生成最终的Cookie信息;S4b、根据最终的Cookie信息和步骤S3中获取的参考来源重新构造HTTP请求的Header,请求路径为图形验证码的URL。
S5、接收服务器端的HTTP响应,根据HTTP响应的Content部分进行输入/输出(I/0)流读写操作,生成有效图形验证码。
在本实施例中,步骤S4a具体包括:
S4a1、从第一Cookie单元中获取一个Cookie信息;
S4a2、从第二Cookie单元中获取一个Cookie信息;
S4a3、判断从第一Cookie单元中获取的Cookie信息和从第二Cookie单元中获取的Cookie信息的名称的属性值是否相同(Cookie信息的名称为Cookie信息的一个属性),是则执行步骤S4a4,否则执行S4a6;
S4a4、将从所述第二Cookie单元中获取的Cookie信息的所有属性值赋给从所述第一Cookie单元中获取的Cookie信息;
S4a5、从所述第二Cookie单元中删除获取的Cookie信息;
S4a6、判断是否可以从所述第二Cookie单元获取下一个Cookie信息,是则执行步骤S4a3,否则执行S4a7;
S4a7、判断是否可以从所述第一Cookie单元获取下一个Cookie信息,是则执行S4a1,否则执行S4a8;
S4a8、以所述第一Cookie单元中的所有Cookie信息作为最终的Cookie信息,并执行步骤S4b。
在步骤S4中,通过以上比对算法,使得基于GUI的Web自动化测试技术(GUI测试引擎)获取的Cookie信息和基于通信协议的Web自动化测试技术(HTTP测试引擎)获取的Cookie信息,互为补充和校验,获得最终的Cookie信息。再根据HTTP协议的“无状态”特点,巧妙构造出有效的HTTP请求。
结合步骤S4和步骤S5,根据图形验证码的URL,使用I/O读写操作,完成有效图形验证码的下载。
本发明的获取有效图像验证码的方法,融合了基于GUI和基于通信协议的两种Web自动化测试技术,测试人员仅仅需要知道Web系统登录验证码的URL,即可测试测试脚本的配置,不再需要依赖于图形验证码的具体实现细节,包括显示位置等信息,稳定性高。该方案既保留了测试操作可视化的优点,又大大提高了测试脚本可维护性。另外,直接采用I/O流读写方式,下载图形验证码,完全解决了网页前端控制代码限制鼠标操作的问题,并且一旦完成图片文件的写操作,即可进行后续的测试操作,脚本配置逻辑清晰可靠。再者,根据HTTP协议“无状态”的特点,利用两种手段解析并重构Cookie,相互补充,从根本上保证了获取到的图形验证码的有效性。同时,也为Web系统自动化测试中其它非标准对象获取与识别,提供了一种新思路。
在本发明的获取有效图像验证码的方法的其他实施例中,在步骤S1之前还可以包括步骤:S01、将GUI测试引擎以及HTTP测试引擎下载到客户端;S02、分别利用GUI测试引擎以及HTTP测试引擎下载包含一个或多个测试脚本的测试配置到客户端。
图2为本发明的获取有效图像验证码的方法第二实施例的流程图,如图2所示,在本实施例中,本发明的方法还包括:
S6、识别生成的有效图形验证码的内容;在本实施例中,通过调用验证码识别函数(现有技术)完成有效图形验证码的内容的识别。
S7、GUI测试引擎将识别出的有效图形验证码的内容填充到Web系统的登录页面的登录表单并提交,完成登录测试操作。
在本实施例中,其余情况与本发明的获取有效图像验证码的方法第一实施例相同。
图3为本发明的获取有效图像验证码的方法第二实施例的实现流程图,如图3所示,本发明的获取有效图像验证码的方法第二实施例的实现流程为:首先,根据测试脚本,GUI测试引擎驱动浏览器自动访问Web系统的登录页面;GUI测试引擎驱动浏览器在新窗口中访问图形验证码URL页面;GUI测试引擎复制该页面的Cookie信息,存入设置的一个变量CookieStoreA(即第一Cookie单元);HTTP测试引擎构造HTTP请求,请求路径为图形验证码URL;HTTP测试引擎解析接收到的HTTP响应的Header,提取其中的Referer和Cookie信息,并将Cookie信息存如设置的一个变量CookieStoreB(即第二Cookie单元);根据CookieStoreA、CookieStoreB和Referer信息重新构造HTTP请求的Header,请求路径为图形验证码的URL;根据HTTP响应的Content部分的I/O流读写操作,生成有效图形验证码;调用验证码识别函数识别有效图形验证码的内容;最后,GUI测试引擎将识别出的有效图形验证码的内容填充到Web系统的登录页面的登录表单并提交,完成登录测试操作。通过可视化的Web自动化测试框架,填充并提交登录表单,完成登录测试操作。
其中,根据CookieStoreA、CookieStoreB和Referer信息重新构造HTTP请求的Header具体包括:
对CookieStoreA和CookieStoreB使用比对算法,生成最终的Cookie信息的步骤;以及
根据生成的最终的Cookie信息以及Referer信息重新构造HTTP请求的Header的步骤。
图4为比对算法的实现流程图,如图4所示:对CookieStoreA和CookieStoreB使用比对算法,生成最终的Cookie信息的步骤具体包括:
判断是否可以从CookieStoreA获取下一个Cookie对象(即一个Cookie信息),否则表示遍历CookieStoreA中所有Cookie对象的过程结束,已经生成了最终的Cookie信息;
若可以从CookieStoreA获取下一个Cookie对象,则从CookieStoreA取出相应的Cookie对象,定义为变量CookieGUI;
然后,从CookieStoreB中取出一个Cookie对象,定义为变量CookieHTTP;
然后判断此时变量CookieGUI和变量CookieHTTP中的名称的属性值是否相同;
若变量CookieGUI和变量CookieHTTP中的名称的属性值相同,将CookieHTTP的所有属性值赋给CookieGUI,即将CookieHTTP的所有属性值赋给CookieStoreA中相应的对象(Cookie信息);
然后,从CookieStoreB中删除CookieHTTP的Cookie对象;
从CookieStoreB中删除CookieHTTP的Cookie对象后,或者变量CookieGUI和变量CookieHTTP中的名称的属性值不相同时,判断是否可以从CookieStoreB中获取下一个cookie对象,若可以则执行从CookieStoreB中取出一个Cookie对象、定义为变量CookieHTTP的步骤;若不可以则执行第一步。
图5为本发明的获取有效图像验证码的系统100第一实施例的系统框图,如图5所示,在本实施例中,系统100包括:
第一单元110,通过安装在客户端的GUI测试引擎驱动浏览器访问Web系统的登录页面,并接收服务器生成的用于表示客户端的唯一性的信息,所述用于表示客户端的唯一性的信息包括会话ID;
第二单元120,通过GUI测试引擎驱动浏览器在新窗口中保持同一个会话ID访问图形验证码的URL,获取该页面的所有Cookie信息;
第三单元130,通过安装在客户端的HTTP测试引擎创建HTTP协议请求,请求路径为图形验证码的URL,接收服务器的HTTP响应,获取HTTP响应的报头部分的参考来源和Cookie信息;
第四单元140,用于根据第二单元120获取的Cookie信息以及第三单元130获取的参考来源和Cookie信息重新构造HTTP请求,请求路径为图形验证码的URL;
第五单元150,用于接收服务器端的HTTP响应,根据HTTP响应的Content部分进行I/O流读写操作,生成验证码图片。
在本实施例中,第二单元120包括:
第一模块121,通过GUI测试引擎驱动浏览器在新窗口中保持同一个会话ID访问图形验证码的URL;
第二模块122,用于获取页面的所有Cookie信息;
第三模块123,用于将获取的所有Cookie信息存储为第一Cookie单元;
在本实施例中,第三单元130包括:
第四模块131,通过HTTP测试引擎创建HTTP协议请求,请求路径为图形验证码的URL;
第五模块132,用于接收服务器的HTTP响应,获取HTTP响应的报头部分的参考来源和Cookie信息;
第六模块133,用于将获取的所有Cookie信息存储为第二Cookie单元。
在本实施例中,第四单元140包括:
第七模块141,通过比对算法将第一Cookie单元中保存的Cookie信息以及第二Cookie单元中保存的Cookie信息生成最终的Cookie信息;
第八模块142,用于根据最终的Cookie信息和第三单元130获取的参考来源重新构造HTTP请求,请求路径为图形验证码的URL。
在本实施例中,系统100还包括:
第六单元160,通过调用验证码识别函数识别有效图形验证码的内容;
第七单元170,用于通过GUI测试引擎将识别出的有效图形验证码的内容填充到Web系统的登录页面的登录表单并提交,完成登录测试操作。
图6为本发明的获取有效图像验证码的系统100第二实施例的系统框图,如图6所示,在本实施例中,系统100还包括:
第六单元160,通过调用验证码识别函数识别有效图形验证码的内容;
第七单元170,用于通过GUI测试引擎将识别出的有效图形验证码的内容填充到Web系统的登录页面的登录表单并提交,完成登录测试操作。
在本实施例中,其余情况与本发明的系统100第一实施例相同,在此不再赘述。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。另外,本发明各实施例中的技术特征可以单独使用,也可以组合使用。

Claims (10)

1.一种获取有效图像验证码的方法,其特征在于,包括以下步骤:
S1、通过安装在客户端的图形用户界面(GUI)测试引擎驱动浏览器访问Web系统的登录页面,并接收服务器生成的用于表示客户端的唯一性的信息,所述用于表示客户端的唯一性的信息包括会话ID;
S2、所述GUI测试引擎驱动浏览器在新窗口中保持同一个会话ID访问图形验证码的统一全球资源定位符(URL),获取该页面的所有Cookie信息;
S3、通过安装在客户端的超文本传输协议(HTTP)测试引擎创建HTTP协议请求,请求路径为图形验证码的URL,接收服务器的HTTP响应,获取HTTP响应的报头部分的参考来源和Cookie信息;
S4、根据步骤S2中获取的Cookie信息以及步骤S3中获取的参考来源和Cookie信息重新构造HTTP请求,请求路径为图形验证码的URL;
S5、接收服务器端的HTTP响应,根据HTTP响应的内容部分进行输入/输出流读写操作,生成有效图形验证码。
2.根据权利要求1所述的获取有效图像验证码的方法,其特征在于,步骤S2包括步骤:
S2a、所述GUI测试引擎驱动浏览器在新窗口中保持同一个会话ID访问图形验证码的URL;
S2b、获取该页面的所有Cookie信息;
S2c、将获取的所有Cookie信息存储为第一Cookie单元。
3.根据权利要求2所述的获取有效图像验证码的方法,其特征在于,步骤S3包括步骤:
S3a、通过所述HTTP测试引擎创建HTTP协议请求,请求路径为图形验证码的URL;
S3b、接收服务器的HTTP响应,获取HTTP响应的报头部分的参考来源和Cookie信息;
S3c、将获取的所有Cookie信息存储为第二Cookie单元。
4.根据权利要求3所述的获取有效图像验证码的方法,其特征在于,步骤S4包括以下步骤:
S4a、通过比对算法将所述第一Cookie单元中保存的Cookie信息以及所述第二Cookie单元中保存的Cookie信息生成最终的Cookie信息;
S4b、根据最终的Cookie信息和步骤S3中获取的参考来源重新构造HTTP请求,请求路径为图形验证码的URL。
5.根据权利要求4所述的获取有效图像验证码的方法,其特征在于,步骤S4a包括以下步骤:
S4a1、从所述第一Cookie单元中获取一个Cookie信息;
S4a2、从所述第二Cookie单元中获取一个Cookie信息;
S4a3、判断从所述第一Cookie单元中获取的Cookie信息和从所述第二Cookie单元中获取的Cookie信息的名称的属性值是否相同,是则执行步骤S4a4,否则执行S4a6;
S4a4、将从所述第二Cookie单元中获取的Cookie信息的所有属性值赋给从所述第一Cookie单元中获取的Cookie信息;
S4a5、从所述第二Cookie单元中删除获取的Cookie信息;
S4a6、判断是否可以从所述第二Cookie单元获取下一个Cookie信息,是则执行步骤S4a3,否则执行S4a7;
S4a7、判断是否可以从所述第一Cookie单元获取下一个Cookie信息,是则执行S4a1,否则执行S4a8;
S4a8、以所述第一Cookie单元中的所有Cookie信息作为最终的Cookie信息,并执行步骤S4b。
6.根据权利要求1所述的获取有效图像验证码的方法,其特征在于,所述方法还包括步骤:
S6、识别所述有效图形验证码的内容;
S7、所述GUI测试引擎将识别出的有效图形验证码的内容填充到Web系统的登录页面的登录表单并提交,完成登录测试操作。
7.根据权利要求6所述的获取有效图像验证码的方法,其特征在于,步骤S6中,通过调用验证码识别函数完成所述有效图形验证码的内容的识别。
8.一种获取有效图像验证码的系统,其特征在于,包括:
第一单元(110),通过安装在客户端的图形用户界面(GUI)测试引擎驱动浏览器访问Web系统的登录页面,并接收服务器生成的用于表示客户端的唯一性的信息,所述用于表示客户端的唯一性的信息包括会话ID;
第二单元(120),通过所述GUI测试引擎驱动浏览器在新窗口中保持同一个会话ID访问图形验证码的统一全球资源定位符(URL),获取该页面的所有Cookie信息;
第三单元(130),通过安装在客户端的超文本传输协议(HTTP)测试引擎创建HTTP协议请求,请求路径为图形验证码的URL,接收服务器的HTTP响应,获取HTTP响应的报头部分的参考来源和Cookie信息;
第四单元(140),用于根据所述第二单元(120)获取的Cookie信息以及所述第三单元(130)获取的参考来源和Cookie信息重新构造HTTP请求,请求路径为图形验证码的URL;
第五单元(150),用于接收服务器端的HTTP响应,根据HTTP相应的内容部分进行输入/输出流读写操作,生成验证码图片。
9.根据权利要求8所述的获取有效图像验证码的系统,其特征在于,所述第二单元(120)包括:
第一模块(121),通过所述GUI测试引擎驱动浏览器在新窗口中保持同一个会话ID访问图形验证码的URL;
第二模块(122),用于获取页面的所有Cookie信息;
第三模块(123),用于将获取的所有Cookie信息存储为第一Cookie单元;
所述第三单元(130)包括:
第四模块(131),通过所述HTTP测试引擎创建HTTP协议请求,请求路径为图形验证码的URL;
第五模块(132),用于接收服务器的HTTP响应,获取HTTP响应的报头部分的参考来源和Cookie信息;
第六模块(133),用于将获取的所有Cookie信息存储为第二Cookie单元。
10.根据权利要求9所述的获取有效图像验证码的系统,其特征在于,所述第四单元(140)包括:
第七模块(141),通过比对算法将所述第一Cookie单元中保存的Cookie信息以及所述第二Cookie单元中保存的Cookie信息生成最终的Cookie信息;
第八模块(142),用于根据最终的Cookie信息和所述第三单元(130)获取的参考来源重新构造HTTP请求,请求路径为图形验证码的URL;
所述系统还包括:
第六单元(160),通过调用验证码识别函数识别所述有效图形验证码的内容;
第七单元(170),用于通过所述GUI测试引擎将识别出的有效图形验证码的内容填充到Web系统的登录页面的登录表单并提交,完成登录测试操作。
CN201210492975.1A 2012-11-28 2012-11-28 一种获取有效图像验证码的方法和系统 Active CN102946334B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210492975.1A CN102946334B (zh) 2012-11-28 2012-11-28 一种获取有效图像验证码的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210492975.1A CN102946334B (zh) 2012-11-28 2012-11-28 一种获取有效图像验证码的方法和系统

Publications (2)

Publication Number Publication Date
CN102946334A true CN102946334A (zh) 2013-02-27
CN102946334B CN102946334B (zh) 2015-06-03

Family

ID=47729243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210492975.1A Active CN102946334B (zh) 2012-11-28 2012-11-28 一种获取有效图像验证码的方法和系统

Country Status (1)

Country Link
CN (1) CN102946334B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104410606A (zh) * 2014-10-31 2015-03-11 国云科技股份有限公司 一种应用ipmi协议的服务器访问方法
CN104954331A (zh) * 2014-03-27 2015-09-30 杭州迪普科技有限公司 一种登录认证配置装置及方法
CN105740863A (zh) * 2014-12-08 2016-07-06 阿里巴巴集团控股有限公司 信息处理方法及装置
CN106209742A (zh) * 2015-05-07 2016-12-07 阿里巴巴集团控股有限公司 安全验证方法及系统
CN106713217A (zh) * 2015-07-17 2017-05-24 北京奇虎科技有限公司 一种验证方法和装置
CN108563559A (zh) * 2018-03-12 2018-09-21 平安普惠企业管理有限公司 一种验证码的测试方法、装置、终端设备及存储介质
WO2018223579A1 (zh) * 2017-06-07 2018-12-13 上海中兴软件有限责任公司 调整网站负载的方法及装置
CN109376524A (zh) * 2018-09-29 2019-02-22 浙江万朋教育科技股份有限公司 自动识别远程机器上的图片验证码的方法
CN111143213A (zh) * 2019-12-24 2020-05-12 北京数衍科技有限公司 软件自动化测试方法和装置及电子设备
CN111464594A (zh) * 2020-03-13 2020-07-28 平安国际智慧城市科技股份有限公司 Http接口连接方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101483514A (zh) * 2009-02-25 2009-07-15 北京安域领创科技有限公司 Web应用评估方法
CN102143016A (zh) * 2010-11-25 2011-08-03 中国移动(深圳)有限公司 网站自动化测试方法和系统
WO2011122624A1 (ja) * 2010-03-29 2011-10-06 楽天株式会社 認証サーバ装置、認証サーバ装置用プログラム及び認証方法
WO2012035051A1 (fr) * 2010-09-15 2012-03-22 Alcatel Lucent Enregistrement securise a un service fourni par un serveur web
CN102541732A (zh) * 2011-12-23 2012-07-04 中国移动(深圳)有限公司 一种构建Web自动化测试框架的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101483514A (zh) * 2009-02-25 2009-07-15 北京安域领创科技有限公司 Web应用评估方法
WO2011122624A1 (ja) * 2010-03-29 2011-10-06 楽天株式会社 認証サーバ装置、認証サーバ装置用プログラム及び認証方法
WO2012035051A1 (fr) * 2010-09-15 2012-03-22 Alcatel Lucent Enregistrement securise a un service fourni par un serveur web
CN102143016A (zh) * 2010-11-25 2011-08-03 中国移动(深圳)有限公司 网站自动化测试方法和系统
CN102541732A (zh) * 2011-12-23 2012-07-04 中国移动(深圳)有限公司 一种构建Web自动化测试框架的方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954331A (zh) * 2014-03-27 2015-09-30 杭州迪普科技有限公司 一种登录认证配置装置及方法
CN104410606A (zh) * 2014-10-31 2015-03-11 国云科技股份有限公司 一种应用ipmi协议的服务器访问方法
CN105740863A (zh) * 2014-12-08 2016-07-06 阿里巴巴集团控股有限公司 信息处理方法及装置
CN106209742A (zh) * 2015-05-07 2016-12-07 阿里巴巴集团控股有限公司 安全验证方法及系统
CN106713217A (zh) * 2015-07-17 2017-05-24 北京奇虎科技有限公司 一种验证方法和装置
CN106713217B (zh) * 2015-07-17 2020-07-28 北京奇虎科技有限公司 一种验证方法和装置
WO2018223579A1 (zh) * 2017-06-07 2018-12-13 上海中兴软件有限责任公司 调整网站负载的方法及装置
US11405384B2 (en) 2017-06-07 2022-08-02 Shanghai Zte Software Co., Ltd. Method and device of regulating website load
CN108563559A (zh) * 2018-03-12 2018-09-21 平安普惠企业管理有限公司 一种验证码的测试方法、装置、终端设备及存储介质
CN109376524A (zh) * 2018-09-29 2019-02-22 浙江万朋教育科技股份有限公司 自动识别远程机器上的图片验证码的方法
CN111143213A (zh) * 2019-12-24 2020-05-12 北京数衍科技有限公司 软件自动化测试方法和装置及电子设备
CN111464594A (zh) * 2020-03-13 2020-07-28 平安国际智慧城市科技股份有限公司 Http接口连接方法、装置及存储介质

Also Published As

Publication number Publication date
CN102946334B (zh) 2015-06-03

Similar Documents

Publication Publication Date Title
CN102946334A (zh) 一种获取有效图像验证码的方法和系统
CN106897215A (zh) 一种基于WebView网页加载性能及用户行为流数据采集的方法
CN111061526B (zh) 自动化测试方法、装置、计算机设备及存储介质
CN102143016B (zh) 网站自动化测试方法和系统
CN108628748B (zh) 自动化测试管理方法和自动化测试管理系统
CN107846412A (zh) 验证码请求处理方法、装置及验证码处理系统
WO2018022161A1 (en) Visual regresssion testing tool
JP2012514801A (ja) マークアップ言語を通してクライアント・ブラウザ状態のサーバ側ロギングを遂行するための方法
CN109408763B (zh) 一种对不同模板的简历进行管理的方法及系统
US11245601B2 (en) Automated integrated test system and method thereof
CN110659569A (zh) 电子签名方法、装置、存储介质及电子设备
CN108664385A (zh) 一种应用程序编程接口的测试方法及装置
CN112988599B (zh) 一种页面调试方法、装置、电子设备和存储介质
CN105205757A (zh) 基于Android的选修系统
US10728095B2 (en) Client-configured server class tracing to a configurable threshold
JP5006824B2 (ja) テストプログラム管理システム
CN110276183B (zh) 反向图灵验证方法及装置、存储介质、电子设备
Sampaio et al. Sound and mechanised compositional verification of input‐output conformance
CN115470152A (zh) 测试代码生成方法、测试代码生成装置以及存储介质
Li et al. Modeling web application for cross-browser compatibility testing
CN108108369B (zh) 公用接口库调用错误处理方法和装置
US10296449B2 (en) Recording an application test
CN114661609B (zh) 人工智能医疗自动化测试集成系统
US20240073208A1 (en) Authentication interface rendering and mirroring in a distributed architecture
CN114327682B (zh) WebView白屏检测方法、系统、电子设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 518048 Guangdong province Futian District Shenzhen City Binhe Road, No. 9023, building 11, 41 layers of the country through the

Patentee after: Medium shift information technology Co., Ltd.

Address before: 518048 Guangdong, Shenzhen Binhe Road, No. 9023 building, state building, floor, No. 14

Patentee before: China Mobile (Shenzhen) Co., Ltd.

CP03 Change of name, title or address