初识Selenium(三)

浅谈基于Selenium的Web自动化测试框架

发表于:2011-4-25 10:58  作者:邵育亮   来源:51Testing软件测试网原创

字体:大 | 上一篇 | 下一篇 | 打印 |我要投稿 | 推荐标签: 软件测试 Selenium 测试框架 自动化测试

  面临的挑战

  从GoogleFacebook,从Twitter到新浪微博,新一轮的互联网热潮正在全世界蔓延。随着云概念的日益清晰,越来越多的企业也已经摆脱了传统的C/S架构的应用框架而转投云计算的怀抱,Web已经成为我们生活工作的重心。

  有别于传统的桌面应用开发,Web应用因为其迭代周期短,需求变化快特殊性质,越来越多的Web开发团队在拥抱敏捷。同时随着前端技术JavacriptHtml5,等不断被推出和完善,Web应用也变得越来越复杂很绚丽。这都给我们的测试带来了挑战。

  持续变化的需求

  复杂的UI(各种Javascript的插件,Ajax等)

  往往一个测试团队需要应付多个项目的测试工作

  非常有限的资源(人力,成本,等等

  跨平台(LinuxMacwindows),跨浏览器FirefoxChromeIE

  如何解决

  如何在有限的资源下,又可以解决目前我们广大测试团队所面临的挑战呢?ThoughtWorks公司推出的开源Web自动化测试工具Selenium给我们带来了解决之道。Selenium基于Javascript并结合其WebDriver来模拟用户的真实操作,它有很好的处理Ajax的能力,并且支持多种浏览器(SafariIEFirefoxChrome),可以运行在多种操作系统上面。

  但是Selenium只是帮我们解决了执行层面的问题,在大规模的自动化测试项目中,我们还需要一个基于Selenium平台的测试框架,这个框架需要有以下的特性。

  支持数据驱动(DDT

  对象库的分离和管理

  自动化测试脚本的组织和管理

  脚本的可重用(团队)和可配置

  结合上面的需求,在这里介绍两个基于SeleniumWeb自动化测试框架,它们都采用了数据驱动的设计方式,可以对于测试脚本的组织和执行进行灵活的管理和配置。

  ● Watip

  Web Application Test In Python http://code.google.com/p/watip),这个是我用Python写的一个简单的基于Selenium的数据驱动的测试框架。设计借鉴了之前一个朋友的测试框架的设计模式。采用XML形式来实现数据驱动和测试脚本的管理。

  查看全文请点击下载:http://www.51testing.com/html/39/n-234539.html

  ● Ringo

  RingoGoogle内部使用的一个基于SeleniumWeb自动化测试框架,它在GTAC2010的大会上做了介绍。Ringo是用Java开发,结合了TestNG实现了数据驱动和高度可配置化,并且具有很好的对象库的管理的功能,是一个比较成熟的测试框架。

 

  从Ringo的架构中可以看出,Ringo实现了数据,对象,操作的3者完全分离。并且对于一些公共的脚本进行了抽取和重构(SeleniumHelper),代码的复用率非常高。所有的测试用例都是可配置话。

posted @ 2016-10-19 13:56  猪猪宝丫  阅读(298)  评论(0编辑  收藏  举报