环境是外在的,要去适应环境!
WEB自动化测试中针对验证码的解决方案
上一篇 /
下一篇 2008-09-22 20:29:36
/ 个人分类:测试相关技术资料
IK,V}o)sdi9z4o0目前,不少网站在用户登录、用户提交信息等登录和输入的页面上使用了验证码技术。验证码技术可以有效防止恶意用户对网站的滥用,使得网站可以有效避免用户信息失窃、广告SPAM等问题。但与此同时,验证码技术的使用却使得WEB自动化测试面临了较大的困难——由于验证码的存在,传统的“录制”-“回放”工具由于不能识别验证码而失效。在各大软件测试的论坛中,经常能看到测试工程师在焦急地发问:“自动化测试时如何处理页面上的验证码?”,可见,该问题确实是一个对相当多的测试工程师造成严重困扰的问题。其实,验证码并不像它表面上看起来那么神秘,也并不像一些测试工程师认为的那样坚不可摧,通过一些技术和非技术性的手段,测试工程师完全可以把这个阻碍测试的绊脚石踢开。
d+Hapg2Tk00E*S xU ur0 下面,本文就从验证码的实现手段说起,向各位饱受验证码困扰的测试工程师说明,如何通过我们的聪明才智,成功地解决验证码带来的自动化测试方面的问题。
/Hlw'{1i*?01验证码及其为自动化测试带来的困扰
51Testing软件测试网Et
t;k_][ 验证码一般应用在WEB系统涉及登录和输入的页面上,其实现的一般方法是在页面上显示一幅图片,要求用户肉眼识别图片中的信息并将该信息作为输入的一部分进行提交。页面上显示的这幅图片一般是一串随机产生的数字或符号,并且被添加了用于防止识别的背景。验证码的主要目的是为了防止恶意用户利用自动工具(机器人)对用户口令进行暴力破解、恶意注册用户,或是向网站发布令人厌烦的广告信息等。51Testing软件测试网%TT^3X*t(K&v`$m
k
:u$O oR3{I5q0 验证码具有随机性和不易被自动工具识别的特点,当用户访问某个使用验证码的页面时,每次对该相同页面的访问都会得到一个随机产生的不同的验证码,并且,这些验证码具有能够被人工识别,但很难被自动工具识别的特点,这样,自动工具就很难适应使用验证码的页面,从而达到保护网站不被恶意使用的目的。51Testing软件测试网s}'R8G,t%G(XPV y;|
51Testing软件测试网(T1Ke6|;T$T/BvN\ 当然,不同网站使用的验证码在表现形式上会有所不同。例如,常用的一些论坛程序、小型网站等使用相对较简单的数字验证码;而Hotmail和Gmail等则使用较为复杂的数字、字符等混排的验证码,并通过变形等手段对验证码图片进行处理;还有一些网站使用动物图片作为验证码。
3JC
dW5iv*zF051Testing软件测试网(ga'U-w },_j.kp 图1给出了几个典型网站的验证码表现。