[发明专利]网站自动化测试方法和系统有效
申请号: | 201010559353.7 | 申请日: | 2010-11-25 |
公开(公告)号: | CN102143016A | 公开(公告)日: | 2011-08-03 |
发明(设计)人: | 刘建;曹良帅;潘芳蕊;涂昀;蒙琳;赵贤敬;郑明忠;李莉;舒敏根;郭利江 | 申请(专利权)人: | 中国移动(深圳)有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26 |
代理公司: | 深圳市顺天达专利商标代理有限公司 44217 | 代理人: | 郭伟刚 |
地址: | 518048 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 网站 自动化 测试 方法 系统 | ||
技术领域
本发明涉及网站测试领域,更具体地说,涉及采用网页验证码锁定进行网站自动化测试的方法和系统。
背景技术
目前网页中的验证码在终端用户显示时,会采用各种方式进行保护,如点击刷新,定时刷新等,以做到需要用户手眼并用,才能进行操作的程度。
当前自动化中解决这个问题的技术途径主要是在获取验证码图片的焦点后,使用后台程序获取验证码图片流,识别程序进行识别,然后在焦点处填写验证码。
不少网站在用户登录、用户提交信息等登录和输入的页面上使用了验证码技术。验证码技术可以有效防止恶意用户对网站的滥用,使得网站可以有效避免用户信息失窃、广告垃圾等问题。但与此同时,验证码技术的使用却使得WEB自动化测试面临了较大的困难——由于验证码的存在,传统的“录制”-“回放”工具由于不能识别验证码而失效。在各大软件测试的论坛中,经常能看到测试工程师在焦急地发问“自动化测试时如何处理页面上的验证码?”,可见,该问题确实严重困扰着相当多的测试工程师。
当前自动测试中WEB验证码处理的方法主要如下:
从技术的角度来看,有两种不同的方法来实现自动测试工具对验证码的处理:完全从客户端角度考虑,靠模式识别的方法识别出验证码图片对应的字符串;从服务端角度考虑,如果自动测试工具可以获取Session中存储的随机数,也就能正确处理验证码了。这两种方法是解决自动化测试中验证码问题的主要方法,我们分别称其为识别法和服务端插入法。这两种方法在实现方法上侧重点不同,适用的场合也不同。识别法完全不用考虑服务端应用的实现,通过各种技术方法对显示的验证码图片进行“破译”,这样,即使完全不能接触到服务端代码,也能让自动化测试在有验证码的情况下进行下去;但这种方法当然也有其致命的缺点:只能对简单的验证码进行识别,对复杂的验证码,根本就无法识别。有时候无法通过文件流方式获取验证码图片,即使能够获取相关图片流,过程也非常复制,要求较高,从而导致必须从已经显示网页中获取。当自动化通过所见即所得的方式获取后,在回填验证的过程中,验证码又会发生变化。导致验证码失效。目前使用IE或者不同浏览器插件开发,可以完成相关图片获取,但是插件开发复杂,而且不同浏览器必须开发不同插件。
而服务端插入法则从服务端入手,通过提供一个额外的客户端接口,向客户端只需要知道该接口的调用方法,就能通过该接口来获取该页面的验证码图片对应的验证码。但是这样的话需要服务器提供额外的接口,对于服务器来说是不安全而且不方便。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述网站自动测试中出现的为了处理页面上的验证码开发复杂的浏览器插件或在服务器上设置额外的客户端接口导致服务器不安全的缺陷。构造一种实现成本低,不需要服务器提供任何接口的自动化测试方法和系统。
本发明解决其技术问题所采用的技术方案是:构造一种网站自动化测试方法,其中包括步骤:S1、获取网页的验证码焦点;S2、基于浏览器的DOM树屏蔽验证码刷新事件;S3、根据所述验证码焦点,获取、识别及回填验证码,登录网站;S4、登录网站后进行自动化测试。
在本发明所述的网站自动化测试方法中,所述步骤S2包括:S21、激活验证码所在窗体,获取浏览器的顶级窗体;S22、根据所述浏览器的顶级窗体和所述验证码焦点获取与验证码相应的窗体;S23、根据所述验证码相应的窗体获取浏览器中相应的文档对象;S24、将所述文档对象中与时间相关的事件屏蔽。
在本发明所述的网站自动化测试方法中,所述步骤S21为通过JAVASCRIPT激活验证码所在窗体,通过JAVASCRIPT对象获取所述浏览器的顶级窗体。
在本发明所述的网站自动化测试方法中,所述步骤S22为根据所述浏览器的顶级窗口和所述验证码焦点获取所述与验证码相应的窗体的引用方式,通过HTML源码分析所述与验证码相应的窗体的引用方式获取所述与验证码相应的窗体。
在本发明所述的网站自动化测试方法中,所述步骤S24为将所述文档对象中与时间相关的事件设置成null的格式。
本发明还构造一种网站自动化测试系统,其中包括:定位模块:用于获取网页的验证码焦点;屏蔽模块:用于基于浏览器的DOM树屏蔽验证码刷新事件;登录模块:用于根据所述验证码焦点,获取、识别及回填验证码,登录网站;以及测试模块:用于登录网站后进行自动化测试。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动(深圳)有限公司,未经中国移动(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010559353.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:条带测试分选机用吸盘
- 下一篇:振动变送器