Selenium私房菜系列--总章
前言
在这段期间,我一直在找关于服务器的端测试方案,自动化工具等等,无意间我发现了Selenium这个工具。在试用一段时间后,觉得Selenium确实是一个很不错的Web测试工具。在和强大的QTP比较后,我最后还是选择了使用Selenium,主要的原因是工具使用灵活,简单,并且完全满足我的要求。而QTP虽然强大,但它的使用让我觉得非常繁琐,而调试功能也让我郁闷......鉴于种种这样的原因,我最后选择了Selenium。
本系列文章主要是总结我在前一段时间了解到的关于Selenium的一些知识。
QTP VS Selenium
下面我想先稍微讨论一下这两个工具,我主要从功能和文档资料这两方面对比QTP和Selenium。
功能
从Web测试的角度,两个工具都能满足正常的测试需求,这个你无需怀疑!但QTP更强大些,因为:
1.它是商业软件,只要你有钱,什么都可以有。
2.它支持对操作Windows窗口,当你要从Web上下载一些东西,自然此时就会弹出一个“下载框”,由于那个框框是Windows窗口,Selenium是处理不了的,所以必须通过第三方的脚本处理。
文档和参考资料资料
如果你这方面的新手,当你用QTP/Selenium时,相信书和文档是你第一样会找的东西。在这样面,QTP使用在中国使用还是蛮广泛的,资料和书籍也相当丰富,而Selenium的资料就相对比较少一些,找资料最好的地方就是官方论坛。
为什么用Selenium
既然上面两项都是QTP优胜一些,为什么我们还是用Selenium,因为:
1.Selenium使用灵活,简单,写出的测试案例非常简洁,优美,也易于维护。
2.Selenium RC支持用多种语言编写测试案例,你可以用VS2008写测试案例了: >。
3.如果你有一个测试平台,你会发现把QTP整合到平台是很麻烦的事情。
4.......
如果以上Selenium的优点不能打动你,又或者你是测试新手,对测试经验不多,对编程也不熟悉,那么你还是继续使用QTP吧,不过相信有一天,你会开始尝试Selenium的。
Selenium名字的来源
在这里,我还想说一下关于Selenium名字的来源,很有意思的: >:Selenium的中文名为“硒”,是一种化学元素的名字,它对汞 (Mercury)有天然的解毒作用,实验表明汞暴露水平越高,硒对汞毒性的拮抗作用越明显,所以说硒是汞的克星。大家应该知道Mercury测试工具系 列吧(QTP,QC,LR,WR...),他们功能强大,但却价格不菲,大家对此又爱又恨!故thoughtworks特意把他们的Web开源测试工具命 名为Selenium,以此帮助大家脱离汞毒。
学习selenium需要具备的知识或技术
因为有QTP和JAVA的基础,selenium学起来会快很多,总结下学习selenium所需要具备的知识或技术
1、selenium进行的自动化测试是基于ui层面的,所以html,css,javascript基本上是必不可少的,至于javascript,有很多的前端都使用javascript作为其脚本语言!不过javascript并不需要学得很深,只需要掌握一些基础的知识,然后在实践中碰到的时候再继续深学下去!
2、掌柜一门编程语言,比如java,C#,python,ruby!很明显,若是有开发语言的基础,写脚本的时候就不会太费力,这也是一项基本功!目前,使用java还是偏多的!另外也是由于selenium支持多种语言写测试脚本!自动化测试脚本并不能靠录制出来的,基本上是要靠自己写出来的,毕竟录制的脚本的弊端很多,尤其是前端使用了某些框架之后,录制的脚本基本成为鸡肋!
3、单元测试框架junit/testng,目前很多人采用selenium+junit或者selenium+testng测试架构,所以,需要掌握能配合selenium进行测试的框架,比如junit/testng,仅仅利用其提供的api便可以大大地辅助你的测试,提升测试效率!
以上,大的方面基本上是这三点,事实上在这三点中会涉及到很多知识需要你去学习,整理,消化和应用。比如学习html+css会涉及到xpath选择器和css选择器,学习javascript的时候有可能会接触到javascript的各种框架,比如主流的jquery!学习语言的时候就更不用多说了!而在运用selenium的时候同样会遇到各种各样的问题,到时就见招拆招吧,打好内功先!
要想做个出色的自动化测试工程师,需要学的东西还很多,加油吧!!
【Selenium私房菜系列文章】
1.Selenium私房菜系列1 -- Selenium简介
2.Selenium私房菜系列2 -- XPath的使用【ZZ】
3.Selenium私房菜系列3 -- Selenium API参考手册【ZZ】
4.Selenium私房菜系列4 -- Selenium IDE的使用
5.Selenium私房菜系列5 -- 第一个Selenium RC测试案例
6.Selenium私房菜系列6 -- 深入了解Selenium RC工作原理(1)
7.Selenium私房菜系列7 -- 深入了解Selenium RC工作原理(2)
8.Selenium私房菜系列8 -- 玩转Selenium Server
9.Selenium私房菜系列9 -- Selenium RC服务器命令行参数列表【ZZ】
10.Selenium私房菜系列10 -- 我遇到的问题及解决问题的方法
【Selenium私房菜系列文章下载】:PDF下载。
【参考资料】
[1].http://seleniumhq.org/:Selenium官网。
[2].http://openqa.org/:Selenium官方论坛,有很多参考资料:>,极力推荐!
[3].Selenium中文:记录大量Selenium中文资料的地方。
[4].http://seleniumcn.cn/:一个Selenium中文论坛。
转载请说明出处,谢谢![hyddd(http://www.cnblogs.com/hyddd/)]
Selenium私房菜系列--总章的更多相关文章
- Selenium私房菜系列10 -- 我遇到的问题及解决问题的方法
Selenium私房菜系列10 -- 我遇到的问题及解决问题的方法
- Selenium私房菜系列9 -- 我遇到的问题及解决问题的方法
Selenium私房菜系列10 -- 我遇到的问题及解决问题的方法
- Selenium私房菜系列4 -- Selenium IDE的使用
(转自http://www.cnblogs.com/hyddd/archive/2009/05/24/1487967.html) 前面说过,Selenium IDE是Firefox的一个插件,是可以进 ...
- Selenium私房菜系列6 -- 深入了解Selenium RC工作原理(1)
前一篇已经比较详细讲述了如何使用Selenium RC进行Web测试,但到底Selenium RC是什么?或者它由哪几部分组成呢?? 一.Selenium RC的组成: 关于这个问题,我拿了官网上的一 ...
- Selenium私房菜系列5 -- 第一个Selenium RC测试案例
<Selenium简介>中讲过,Selenium RC支持多种语言编写测试案例,如:C#,Python.在工作中,我倾向于是用Python这类动态语言编写测试案例,因为这样的测试案例无需编 ...
- Selenium私房菜系列2 -- XPath的使用【ZZ】
在编写Selenium案例时,少不免是要用到XPath的,现在外面关于XPath使用的参考资料很多,下面我直接转一篇关于XPath使用的文档.如果对XPath不熟悉请参考下文,你不需要去百度/Goog ...
- Selenium私房菜系列1 -- Selenium简介
一.Selenium是什么? Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,本系列现在主要包括以下4款: 1.Selenium Core:支持DHTML的测试案 ...
- Selenium私房菜系列9 -- Selenium RC服务器命令行参数列表【ZZ】
本文转载自:http://wiki.javascud.org/display/SEL/Selenium+Remote+Control+-+options 使用示例: java -jar seleniu ...
- Selenium私房菜系列7 -- 玩转Selenium Server
本篇主要是想更进一步介绍Selenium Server的工作原理,这次我们从Selenium Server的交互模式开始. 在<第一个Selenium RC测试案例>中,我们以命令“jav ...
随机推荐
- 一步一步学Silverlight 2系列(15):数据与通信之ASMX
概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...
- WAS域名解析问题
1.如果dmgr和his在一台机器上,但web服务器用的是app服务器 如下图: 插件都处理完成. 这时候,通过外网域名访问时,出现如下情况 或者 说明:ihs服务器上webserver1的文件Plu ...
- hadoop datanode启动失败(All directories in dfs.data.dir are invalid)
由于hadoop节点的磁盘满了,导致节点死掉,今天对其进行扩容.首先,将原节点的数据拷贝到目标节点下,从而避免数据的丢失,但是在执行hadoop_daemon.sh start datanode后没有 ...
- 洛谷P3830 [SHOI2012]随机树——概率期望
题目:https://www.luogu.org/problemnew/show/P3830 询问1:f[x]表示有x个叶节点的树的叶节点平均深度: 可以把被扩展的点的深度看做 f[x-1] ,于是两 ...
- 【转】Darwin Streaming Server 核心代码分析
无意中看到了dqzhangp的一篇博客,分析了DSS的核心架构,读完顿时感觉豁然开朗,茅塞顿开,写得非常的鞭辟入里,言简意赅,我想没有相当的功力是写不出这样的文章的,情不自禁转到自己空间来,生怕弄丢了 ...
- 阿里云RDS数据库备份文件恢复到本地mysql数据库
一.安装mysql和xtrabackup (1)安装mysql 因为RDS是5.6版本,所以我们本地的mysql数据库要与RDS版本对应. rpm -ivh http://repo.mysql.co ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 07. View的Model 和 Tag Helpers
student添加一个属性BirthDate 然后把生成数据的地方,字段也加上 建立ViewModel list转换为ViewModel 进一步改进代码 StudentViewModel HomeIn ...
- 基于FBX SDK的FBX模型解析与加载 -(四)
8. 骨骼蒙皮动画 骨骼蒙皮动画是当前游戏引擎中最常用的一种动画方式,关于其基本原理网络上的资料较多,关于到涉及的其它较复杂操作,如插值.融合等在这里也就先不再讨论了,而且其实现方式也与具体引擎的动作 ...
- 洛谷P2585 [ZJOI2006]三色二叉树(树形dp)
传送门 设$dp[u][i]$表示点$u$颜色为$i$时最多(最少)的绿点个数(这里用$0$表示绿点) 然后直接用树形dp就可以了 记得把情况讨论清楚 //minamoto #include<b ...
- tpframe免费开源框架又一重大更新
tpframe在为Pc站.app接口.微信mobile站各种功能完善的基础上,又更新了一项重新的更新突破,以后你用tpframe开发网站,不须要在写那么多繁琐的依赖程序了,现在只须要写你关注的程序模块 ...