基于 Selenium 的 Web 自动化测试 1 绪论 引言网络时代的到来和迅速普及, 为软件产业带来了一场革命性的变化, 基于 We b 的应用系统已经开始逐步取代原来的单机版应用系统,成为当前和未来的软件系统开发和实施的主流。现在的 Web 应用系统结合了商业、数据库以及企业的运用,因此, 对于 Web 应用系统的要求也愈来愈严格, 它必须具备高度的扩展性, 合理的执行效率, 以及全天候安全强固的执行环境。也就是说, 现在 Web 应用系统必须能够安全及时地服务大量的客户端用户, 又能够长时间安全稳定地运行。而且由于 interent 的开放性和易访问性,在 Web 应用系统商业应用领域的竞争非常激烈。用户对网站的期望很高,如果网站无法做到快速加载、正确显示信息、即时反应并提供直观的浏览与简易的交互功能, 用户就有可能转换门庭, 去别的网站。因此, Web 应用的测试至关重要。但是由于 Web 应用系统具有分布、异构、并发和平台无关的特性,因而 Web 应用系统的测试要比普通程序的测试要复杂的多。从功能测试角度看,与传统的应用软件相比, Web 应用系统的独特之处主要有以下几点: 1. Web 应用系统的组成实体多种多样。就 HTML 文档而言,用不同语言编写的脚本,各式各样的样式表及组件使得 Web 应用系统难以理解和测试。 2. Web 应用系统中有大量的导航链接, 确保系统能够根据用户的选择准确地显示用户需要的内容是 Web 测试的重要方面。 3. Web 应用系统通过会有大量的 Cookie 等技术来保存用户的状态信息,确保系统对这些状态信息的正确管理也是 Web 测试的重要挑战。 4. Web 应用系统的客户端及操作系统的多样性导致的兼容性问题, 要求对各个环境进行测试。 5. Web 应用系统客户端内容及结构更新快, 新功能的不断加入不仅要对新加入功能进行测试,而且还要对原有功能进行回归测试。基于 selenium 的 Web 自动化测试第2页(共 35 页) 6. Web 应用系统开发技术层出不穷,如 AJAX , XML , JSP/ASP 等等, 每种技术都有各自的特点,测试也要根据相应的技术进行以提高测试效率。相对于传统软件而言, 基于 Web 应用系统的测试工作要求相对来说更高, 测试工作更严峻,如果单靠手工去进行测试,是远远不够的,必须引入自动化测试方法。 Web 应用系统功能测试自动化研究在实际测试工作中,自动化测试的难点在于: 1. 测试用例。测试用例是手工测试与自动化测试的基本, 自动化测试效率的高低与测试用例的设计的好坏有着直接的关系。 2. 自动化测试用例的选取。哪些测试用例适合用来进行自动化呢?只有选取那些重复性高,手工测试无法实现或自动化测试比手工测试效率更高的测试用例进行自动化,才能更好的提高自动化测试的效率。但是如何确定测试用例符合这些标准又是一个值得讨论的问题。 3. 自动化测试脚本的健壮性。 Web 应用系统的表现层的内容与结构的易变性经常会导致测试脚本失败,而后又需要维护,这样大大降低了自动化测试的效率。目前, 对于 Web 应用系统的功能测试基本上都是采用“录制一回放”的模式来生成测试脚本, 即测试人员用自动化测试工具将手工执行的测试过程录制成测试脚本, 然后根据需要修改测试脚本,接着执行测试脚本,如果测试脚本执行失败,分析失败的原因,如果是测试脚本的问题,就需要对测试脚本进行维护。对于元素的定位地址, 目前很多的自动化测试工具一般或使用 DOM , 或使用 XPath 表达式来表达页面元素的定位信息,如: //ul[@ , class = 'in']/LI[1]/a , 可读性差, 测试人员需要到页面中去定位该元素才能了解该元素代表什么。而且元素的定位信息遍布于测试脚本中,一旦该元素的定位信息有所改变,就需要首先找出使用到该元素的测试脚本,并逐一更新定位信息。我们需要对页面元素的定位信息进行统一管理,使用一个有意义的名称去标识被测页面元素,对每一个页面元素的定位信息应只有一个单一的入口点,并通去一定的定位逻辑动态的生成页面元素的定位信息。绪论第3页(共 35 页) 研究内容和组织结构本文针对 Web 应用系统的特点,首先介绍了软件测试的方法及 Web 应用系统测试方法,自动化测试及其应用,根据自动化测试工作中出现的页面元素定位难的问题, 基于开源自动化测试工具 Selenium , 提出了一套解决方案 selenium+junit 框架,以解决 web 自动化测试的问题。本文的组织结构如下: 第一章, 简述了 Web 应用系统自动化测试的背景知识及其现状, 并介绍本文的研究内容。第二章, 首先介绍了软件测试的基本概念, 并分析了 Web 应用程序
毕业设计(论文)-基于selenium的web自动化测试 来自淘豆网m.daumloan.com转载请标明出处.