预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共35页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

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