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 ...
随机推荐
- iOS NSString拼接字符串
NSString* str_C; // 结果字符串NSString* str_A, str_B; //已存在的字符串,需要将str_A和str_B连接起来 //方法1 str_C = [NSStrin ...
- html5--6-8 CSS选择器5
html5--6-8 CSS选择器5 实例 <!DOCTYPE html> <html lang="zh-cn"> <head> <met ...
- golang OOP面向对象
摘自:http://www.01happy.com/golang-oop/ golang中并没有明确的面向对象的说法,实在要扯上的话,可以将struct比作其它语言中的class. 类声明 1 2 3 ...
- 各种java生成word解决方案的优缺点对比
解决方案 优点 缺点 Jacob 功能强大 直接调用VBA接口,程序异常复杂:服务器必须是:windows系统+安装Office:服务器端自动化com接口容易产生死进程造成服务器宕机 Apache P ...
- 【JSOI 2009】 Count
[题目链接] 点击打开链接 [算法] 二维树状数组 [代码] #include<bits/stdc++.h> using namespace std; #define MAXN 300 # ...
- Dijkstra堆优化
Dijkstra是一个非常不错的最短路算法,它使用两层循环进行枚举,通过每次更新蓝白点的方式更新最短路,时间复杂度为O(n^2),优于floyd的O(n^3),不过只能用于计算单源最短路,而且无法处理 ...
- bzoj3302
树形dp 很明显我们可以枚举一条边,然后求两边的重心,这样是暴力,我们用一些奇怪的方法来优化这个找重心的过程,我们先预处理出来每个点最大和第二的儿子,然后每次把断掉的子树的贡献减掉,每次找重心就是向最 ...
- 【旧文章搬运】暴搜内存查找PE镜像
原文发表于百度空间,2008-7-28========================================================================== 前面介绍了修 ...
- API接口文档的撰写
接口文档: 要写:接口简介.请求参数.返回结果.注意事项. 下面以“喜马拉雅的 ‘圈子’ ”为例子: 接口一 (1)接口简介 http://ipservice.mogujie.com/ipservic ...
- C - Woodcutters
Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Description Little ...