基于TestNG 与Selenium 的自动化测试设计与实施

发表于:2012-8-03 10:35

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:congqing2011    来源:51Testing软件测试网采编

  1、引言

  软件测试是关系到软件开发和维护成本的重要环节。任何软件产品在正式发布之前都必须经过严格的测试。随着计算机技术的迅速发展,软件的结构越来越复杂,同业竞争越来越激烈。为了保证软件产品的高度可靠性和竞争力,很多软件开发机构都将其主要的研制力量投入到软件测试之中。

  回归测试是软件测试中的重要组成部分,占有很大的比重。每次例行包发布前都需要对软件现有功能进行回归验证,确保无误以后才能发给各地现场,大家都知道电信业是个发展较快的行业,需求变更快、迭代周期短,从而导致回归测试十分频繁,这个时候如果单靠手工进行测试,会消耗大量的时间和精力,测试人员也随着耐心的减退而力不从心。为了避免这种情况,对于原有功能的自动化测试显得尤为重要。

  2、工具介绍

  说到开源自动化测试工具,网上众说风云,但别人说好的东西不一定适合你,我们在组合自动化测试工具时,根据自己的实际情况选择了 Selenium + TestNG + DBUnit组合,我先介绍一下这几种工具。

  Selenium,它所采用的原理是通过录制应用程序产生的线性脚本进行回放从而达到自动化测试的目的。其优点是简单,通过录制就可以得到所需脚本。类似于录制/回放测试工具有很多,我之所以选择它的原因是它是开源的,而且它测试直接在浏览器中运行,就像真实用户所做的一样。Selenium测试可以在 WindowsLinux上的 Internet Explorer、Mozilla和 Firefox 中运行。其他测试工具都不能覆盖如此多的平台,更重要的是Selenium支持多种语言、JAVA、RubyPython等(如图1)

图1

  支持这么多语言说明我们通过Selenium开发的测试脚本可以任意移植到多个平台,可以继承Selenium API来扩展一些我们自己的测试类,甚至可以在此基础上开发出一套属于我们自己的自动化测试平台,而其它工具,包括大名鼎鼎的QTP,SilkTest是有所不及的,虽然这些收费的软件后面有强大的技术支持,学习文档和参考资料也相当丰富,但这些工具的局限性太大,一旦使用这些工具,你就会越来越依赖人家的东西,从而无法沉淀出自己的技术,这是我选择Selenium的根本原因。

  Selenium 系列一共有4款工具

  Selenium Core:支持DHTML的测试案例(效果类似数据驱动测试),它是Selenium IDE和Selenium RC的引擎。

  Selenium IDE:FireFox的一个插件,支持脚本录制。

  Selenium RC:Selenium Remote Control。

  Selenium Grid:允许同时并行地、在不同的环境上运行多个测试任务,极大地加快Web应用的功能测试

  通过selenium编写测试case的理想化是先通过Selenium IDE录制脚本,通过Firebug辅助定位页面元素,然后通过Selenium RC来完善测试脚本。Selenium IDE是Firefox的一个插件,是可以进行脚本录制以及案例转换,所以Selenium IDE+Firebug会成为你日后写测试案例的两大助手,但遗憾的是上述两个工具都依赖Firefox浏览器,如果你的程序不支持Firefox浏览器,就只能通过手工编码来完成自动化测试脚本,对于初学者来讲,如果没有这两个工具的辅助,在编写测试脚本时还是比较困难的,但熟悉了Selenium API和掌握了页面元素查找的方法以后,这两个工具就显得没那么重要了。

51/512345>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号