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 ...
随机推荐
- Oracle:spool 的一个用法
spool 是sqlplus的一个语法,非sql. 平时,我们通过ssh或者xmanger连接到oracle后,如果我们想把我们在上面操作的脚本及脚本执行过程.结果保存下来的话,可以通过spool来实 ...
- Caffe-Windows下遇到过的问题、技巧、解决方案
转换数据,求均值: 转换数据 步骤大概是:建立一个train文件夹,里面放一个train.txt;建立一个test文件夹,里面放一个test.txt,然后分别运行以下两条bat命令: SET GLOG ...
- 「USACO」「LuoguP2731」 骑马修栅栏 Riding the Fences(欧拉路径
Description Farmer John每年有很多栅栏要修理.他总是骑着马穿过每一个栅栏并修复它破损的地方. John是一个与其他农民一样懒的人.他讨厌骑马,因此从来不两次经过一个栅栏.你必须编 ...
- Linux 系统开机启动项清理
一般情况下,常规用途的 Linux 发行版在开机启动时拉起各种相关服务进程,包括许多你可能无需使用的服务,例如蓝牙bluetooth.Avahi. 调制解调管理器ModemManager.ppp-dn ...
- py-day8-socket网络编程
本节内容 Socket介绍 Socket参数介绍 基本Socket实例 Socket实现多连接处理 通过Socket实现简单SSH 通过Socket实现文件传送 作业:开发一个支持多用户在线的FTP程 ...
- DELL R730服务器配置RAID及安装服务器系统 以及域的控制
https://wenku.baidu.com/view/ad45d85a9ec3d5bbfd0a74d9.html
- UVa 1642 Magical GCD (暴力+数论)
题意:给出一个长度在 100 000 以内的正整数序列,大小不超过 10^ 12.求一个连续子序列,使得在所有的连续子序列中, 它们的GCD值乘以它们的长度最大. 析:暴力枚举右端点,然后在枚举左端点 ...
- git切换分支保存修改的代码的方法(转载)
转自:http://www.tonitech.com/2344.html 最近在一个原有的项目上做一次非常大的改版,底层的数据库做了很大的变化,跟现在的版本无法兼容.现在的工作除了开发最新的版本之外还 ...
- 更新gitignore
更新: 2017/04/26 修正windows版本下的命令 git rm -r --cached . (Windows 下的版本) 更新: 2017/06/06 mac下的命令也 ...
- 洛谷 - P2887 - 防晒霜Sunscreen - 贪心
https://www.luogu.org/problemnew/show/P2887 感觉可以: 把防晒霜拆点限制流量为瓶数,奶牛拆点限制流量为1,当某个防晒霜与奶牛匹配时连一条边,求最大流.但是这 ...