[发明专利]用于自动测试WEB应用的方法和系统无效
| 申请号: | 201080040943.7 | 申请日: | 2010-08-10 |
| 公开(公告)号: | CN102511037A | 公开(公告)日: | 2012-06-20 |
| 发明(设计)人: | A·斯科蒂;F·卡特里;F·平佐蒂;L·拉扎罗 | 申请(专利权)人: | 国际商业机器公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;H04L12/26 |
| 代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华 |
| 地址: | 美国纽*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 自动 测试 web 应用 方法 系统 | ||
技术领域
本发明总体上涉及软件应用的开发,并且更具体地,涉及用于测试web应用的方法。
背景技术
Web应用的一大问题在于找出一种有效的方法用于web接口的测试自动化。该问题与利用web 2.0新技术(如AJAX或JavaScript框架,例如Dojo)而建立的web接口更为相关。Web 2.0应用的网页不仅仅是动态的而且是非常复杂的应用,它是多个面向对象语言DOM元素(DOM是文档对象模型,它是用于表示HMTL页面以及管理HMTL中对象的硬件和语言独立的模型)的合成的结果。每个DOM元素可以通过JavaScript(JavaScript是SUN微系统公司或其子公司在美国和其他国家的商标或注册商标)代码而动态构建,JavaScript代码与后端交互并且实现AJAX(异步JavaScript和XML)技术,以创建客户端侧web应用甚至应用CSS样式表以允许从客户端侧改变外观。而且,用于创建DOM元素的代码散布在多个点中,还可能由独立编写的(利用AJAX框架创建的)小部件(widget)生成以实现单个功能。
主要问题不仅仅在于实现用于单元测试套件的系统以测试单个功能、单小部件类,而且还在于测试由小部件生成的DOM元素与产生DOM元素的其他对方之间的真实交互。
用于测试web应用的现有技术工具仅基于网页或应用的“外部”外观,或者即使他们知道DOM元素,也将完全不顾应用的内部。反之,应用无法强制对这一重要区域的测试,因为它无法访问和驱动自身的“外部”行为,这种软件对于主控环境(例如,浏览器中运行的那些应用)具有强依赖性。自动地测试此类web应用是当今的一个挑战。
美国专利申请US2004/0025083A1描述了在程序中嵌入测试代码的一般性思想,使得该程序能够测试其功能。但是,尽管该发明的范围较宽,但是不能够使用该方法来解决完全在浏览器和主控浏览器的操作系统的上下文中对应用的内部进行测试这一问题。应用中依赖于环境差异的某些代码部分无法被测试;此外,应用中不仅依赖于此类差异而且还依赖于此类差异可能导致执行的不同代码路径的某些代码部分同样将无法测试。例如,web应用必须在所支持的诸如Internet Explorer(Internet Explorer是微软公司在美国和/或其他国家中的商标)、Firefox(Firefox是Mozilla Foundation的注册商标)、Opera(Opera是Opera Software ASA的商标或注册商标)等每个浏览器上独立地测试。然而,出于测试的目的,使测试代码忽略每个浏览器可能引起的差异并且仅仅考虑对软件功能的直接调用,这样做是不可靠的。
需要一种利用对web接口的页面中的用户输入进行仿真代码来配置接口代码的方法,以便在浏览器和主控浏览器的操作系统的上下文中测试应用的内部。
发明内容
因此,本发明的目的之一在于提供一种自动测试方法,其对web接口的页面中的用户输入进行仿真,并且在浏览器和主控该浏览器的操作系统的上下文中验证web应用的web接口内部数据结构。
根据权利要求1,该目的利用一种用于自动测试运行在测试计算机的web浏览器内部的web应用的方法来实现,该web应用配备(400)有测试代码,所述方法包括:
-通过web应用中定义的API,从该web应用中执行的测试代码向HTTP服务器发送(410)消息以请求该HTTP服务器对用户输入进行仿真,所述用户输入与该web应用中运行的测试代码相关;
-HTTP服务器接收消息(420),根据该消息通过至少一个系统事件对用户输入进行仿真,并且将其提供给该网络浏览器;
-Web浏览器处理(430)仿真的至少一个系统事件,该仿真的至少一个系统事件自身触发web应用中的一些代码的执行;
-Web应用中的测试代码通过检视包括Javascript和DOM对象的web应用内部数据结构来检查(440)由该至少一个系统事件对web应用中的一些代码的触发的结果的有效性。Web应用的该内部数据结构包括网页上可见的HTML元素以及内部计数器或其他可能的变量和对象。
该方法还允许通过在仿真用户输入之后对应用数据结构的检视来测试该应用的数据结构。该方法还允许通过将仿真用户输入已经发生之后的对象状态与已存储的模型对象状态进行比较来检查应用内部数据结构。
对象可以是HTML对象、DOM对象或Javascript对象。一种自动测试系统将包括HTTP服务器以及用于生成与所测试的系统输入相对应的仿真系统事件的代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201080040943.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种复合固型滤棒及其制备方法
- 下一篇:一种3D用户界面图形引擎架构





