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 ...
随机推荐
- 让 SyntaxHighlighter 3.x 支持 Lua 语法着色
1. [代码]shBrushLua.js /** * SyntaxHighlighter * http://alexgorbatchev.com/SyntaxHighlighter * * Synta ...
- hdu 1711 Number Sequence 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 题目意思:给出一条有n个数的序列a[1],a[2],......,a[n],和一条有m 个数的序 ...
- hdu2063 二分图(基础题)
这个题目适合刚刚接触二分图的同学做哦: 给一个题目链接 点击打开链接. 题目大意,有K个男女匹配方式, 输入数据的第一行是三个整数K , M , N,分别表示可能的组合数目,女生的人数,男生的人数.0 ...
- I.MX6 新版u-boot分析
/******************************************************************* * I.MX6 新版u-boot分析 * 说明: * 因为一些 ...
- 【Codeforces 664A】 Complicated GCD
[题目链接] 点击打开链接 [算法] gcd(a,a+1) = 1 所以当a = b时,答案为a,否则为1 [代码] #include<bits/stdc++.h> using names ...
- E20170415-ms
opaque adj 不透明的 n 不透明 adapter n 配适器
- loj #6302. 「CodePlus 2018 3 月赛」寻找车位【线段树+单调队列】
考虑静态怎么做:枚举右边界,然后枚举上边界,对应的下边界一定单调不降,单调栈维护每一列从当前枚举的右边界向左最长空位的长度,这样是O(nm)的 注意到n>=m,所以m<=2000,可以枚举 ...
- poj 3648 Wedding【2-SAT+tarjan+拓扑】
看错题*n,注意是输出新娘这边的-- 按2-SAT规则连互斥的边,然后注意连一条(1,1+n)表示新娘必选 然后输出color[belong[i]]==color[belong[1+n(新娘)]]的点 ...
- bzoj 2716 [Violet 3]天使玩偶 【CDQ分治】
KD-tree可做,但是我不会暂时不考虑 大意:在二维平面内,给定n个点,m个操作.操作A:加入一个点:操作B:询问一个点与平面上加入的点的最近距离 不封装会T不封装会T不封装会T不封装会T不封装会 ...
- git自动化部署+rsync文件同步
1.进入线上git裸仓库 2.编辑post-receive #!/bin/sh unset GIT_DIR cd /var/www/ git pull http://web:xxxxxxx@120.3 ...