文档章节

Selenium简介、简史

xxjbs001
 xxjbs001
发布于 2015/04/06 18:41
字数 899
阅读 21
收藏 0
点赞 0
评论 0

Selenium简介


Selenium是一个WEB自动化测试工具,它的特点是:

  • 支持跨浏览器的自动化测试【ie、ff、chrome、safari、opera、phantonjs、htmlunit、android、iphone、ipad、winddows phone、BlackBerry】
  • 支持跨操作系统的自动化测试【windows、linux、MAC】
  • 支持多中编程语言编写脚本【java、C#、python、ruby、js、php、perl、haskell、Objective-C、R等语言】
  • 支持分布式测试分发和管理【利用Grid、RC】
  • 拥有一个支持录制的FF插件【支持转化为各客户端语言】
  • 它是个开源工具

同时它又是一个扩展性非常好的工具,可以通过开发测试驱动来添加其可以支持的浏览器种类。所以在这个互联网泛滥的时代,选择WEB自动化工具的话,那么我想selenium应该可以作为首选的一个。它可以很好的模拟终端用户的真实行为,让自动化测试不会失真;比如:如果一个web元素不在可视区内,或者元素被其它元素覆盖、遮挡住了;那么这个元素将是不可点击的,这就很好的还原了用户的真实场景;而这点并不是所有测试工具都会考虑到的。

此外,它还可以很优雅的处理JS弹窗、键盘模拟、Javascript执行等一系列的自动化测试辅助功能,自动化测试人员无需再去寻找额外测试程序类库来支持这些操作。而当我们在需要测试浏览兼容性的时候,我们可以很方便的通过修改一行代码【或一个配置】来达成目的。

所以,Selenium可以使用在如下的这些场景:

  • 频繁的回归测试
  • 开发人员的快速反馈
  • 重复性的测试行为

Selenium历史


Selenium是在2004年由一个叫Jason Huggins的聪明的年轻人开发的,当时身处ThoughtWorks的他,为了不想让自己的时间浪费在无聊的重复性工作中,所以开发一个JS的类库来驱动浏览器页面的行为;这个js类库就是selenium core,同时也是seleniumRC、Selenium IDE的核心组件。这就是Selenium1.0的产生史,关于Selenium1.0的实现原理详见这里

在2006年,在google的一位有胆识的年轻人Simon Stewart发起了一个叫WebDriver的项目;因为长期以来google一直是selenium的重度用户,但却总是被限制在有限的操控范围内,所以Simon希望能通过浏览器、操作系统的底层方法等一些手段来直接操作浏览器;这样就避免了在JavaScript的沙箱环境里存在的那些限制了,webdriver项目就此诞生!

时光一下就跳到2008年,也就是北京奥运会这年,当然这一年还发生了许多其他的事情;比如:这年也是我来北京的第一年^-^;但是这一年最重要的是selenium和webdriver结合了,从此永结良缘,福泽我们广大的测试工作者。这期间谁追的谁都不重要了,重要的是他们合并的原因正如webdriver的作者所说:

  • 部分原因是selenium补充了webdriver的不足
  • 部分原因是webdriver补充了selenium的不足
  • 部分原因是它们合体后能给用户提供一个更好的自动化测试框架

所以管它呢,现在大家有一个比较好用的selenium就行了!

原文地址:http://testdoc.org/docmaster/?pid=110



本文转载自:http://blog.csdn.net/five3/article/details/20660449

共有 人打赏支持
xxjbs001
粉丝 55
博文 298
码字总数 215621
作品 0
浦东
QA/测试工程师
selenium系列----->Actions命令实例整理------>open(url)命令

Junit环境下使用方法链接: Selenium2.0之WebDriver学习总结(3):http://blog.csdn.net/jillliang/article/details/8748990 Selenium IDE介绍(常用命令) :http://blog.sina.com.cn/s......

智能小松鼠
2015/02/17
0
0
java并发编程实战-机械工业出版社

简介 这里是列表文本想要充分发挥多处理器系统的强大计算能力,最简单的方式就是使用线程。 1. 并发简史 早期计算机没有操作系统,从头到尾只执行一个程序,可以访问所有资源。对计算机资源是...

L-木乃伊
2016/09/21
21
0
Python+Selenium搭建UI自动化测试框架

本文原文来自GitHub个人主页 > Python+Selenium搭建UI自动化测试框架 Python语言是非常强大的编程语言,很多时候也拿来当脚本语言用。 Selenium是web应用测试工具,支持Java、Python等多种语...

FunGa
2015/09/06
7.8K
0
Selenium系列----->Selenium 脚本编写环境的搭建

脚本开发环境的搭建-JUnit *手把手SELENIUMJAVA搭建总结汇总篇:http://wenku.baidu.com/link?url=9dt8PTJiBNqt17CjjwPWk-QCUP2w6fMDjCBrCO6e-hXCBQCXwnmyzFK9ODgsPqvkgv1PtN8sQpF4pl-og33......

智能小松鼠
2015/02/17
0
0
WEB 自动化测试工具 Selenium 简介及其应用

最近我们要对站点的指定 url 测试其页面请求完整性,并分析每个请求参数是否正常。如果不使用自动化测试工具,你也可以人肉点击、查看每个页面是否有请求遗漏和每个请求参数是否正常。当然也...

大数据之路
2014/05/23
0
0
selenium自动化基础知识--什么是自动化测试

selenium自动化基础知识 什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测...

颜丽
2017/10/30
0
0
selenium+testng+ant+jenkins 搭建

selenium+testng+ant+jenkins 手记 会不会搭建测试平台是一般测试工程师和高级测试工程师分水岭 ----tobecrazy 我们项目有现成的测试平台,使用的是selenium grid+testng+ant+jenkins+VM 但是...

helloOne
2016/03/17
57
0
Git使用详解

1.1 关于版本控制 1.2 Git 简史 1.3 Git 基础 1.4 命令行 1.5 安装 Git 1.6 初次运行 Git 前的配置 1.7 获取帮助 1.8 总结 2.1 Git 基础 - 获取 Git 仓库 2.2 Git 基础 - 记录每次更新到仓库...

Bony
2016/05/17
20
0
Nutch 组件扩展--nutch-ajax

Nutch AJAX page Fetch, Parse, Index Plugin 项目简介 基于Apache Nutch 2.3 和 Htmlunit, Selenium WebDriver 等组件扩展,实现对于 AJAX 加载类型页面的完整页面内容抓取,以及特定数据项...

xautlx
2015/02/26
2.6K
0
Watij - 面向 Web 的自动化测试工具

简介: 随着应用程序渐渐脱离独立的宿主模型并进入到云中,可靠性和可预测性的测试变得更加重要。在云环境中,有许多 因素是我们无法控制的,因此编写健壮的、经过测试的代码比以往更加迫切。...

IBMdW
2011/11/10
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周一乱弹 —— 如果是你喜欢的女同学找你借钱

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @guanglun :分享Michael Learns To Rock的单曲《Fairy Tale》 《Fairy Tale》- Michael Learns To Rock 手机党少年们想听歌,请使劲儿戳(这...

小小编辑
30分钟前
7
3
NNS域名系统之域名竞拍

0x00 前言 其实在官方文档中已经对域名竞拍的过程有详细的描述,感兴趣的可以移步http://doc.neons.name/zh_CN/latest/nns_protocol.html#id30 此处查阅。 我这里主要对轻钱包开发中会用到的...

暖冰
今天
0
0
32.filter表案例 nat表应用 (iptables)

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 10.15 iptables filter表案例: ~1. 写一个具体的iptables小案例,需求是把80端口、22端口、21 端口放行。但是,22端口我...

王鑫linux
今天
0
0
shell中的函数&shell中的数组&告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析

影夜Linux
今天
0
0
Linux网络基础、Linux防火墙

Linux网络基础 ip addr 命令 :查看网口信息 ifconfig命令:查看网口信息,要比ip addr更明了一些 centos 7默认没安装ifconfig命令,可以使用yum install -y net-tools命令来安装。 ifconfig...

李超小牛子
今天
1
0
[机器学习]回归--Decision Tree Regression

CART决策树又称分类回归树,当数据集的因变量为连续性数值时,该树算法就是一个回归树,可以用叶节点观察的均值作为预测值;当数据集的因变量为离散型数值时,该树算法就是一个分类树,可以很...

wangxuwei
昨天
1
0
Redis做分布式无锁CAS的问题

因为Redis本身是单线程的,具备原子性,所以可以用来做分布式无锁的操作,但会有一点小问题。 public interface OrderService { public String getOrderNo();} public class OrderRe...

算法之名
昨天
11
0
143. Reorder List - LeetCode

Question 143. Reorder List Solution 题目大意:给一个链表,将这个列表分成前后两部分,后半部分反转,再将这两分链表的节点交替连接成一个新的链表 思路 :先将链表分成前后两部分,将后部...

yysue
昨天
1
0
数据结构与算法1

第一个代码,描述一个被称为BankAccount的类,该类模拟了银行中的账户操作。程序建立了一个开户金额,显示金额,存款,取款并显示余额。 主要的知识点联系为类的含义,构造函数,公有和私有。...

沉迷于编程的小菜菜
昨天
1
0
从为什么别的队伍总比你的快说起

在机场候检排队的时候,大多数情况下,别的队伍都要比自己所在的队伍快,并常常懊悔当初怎么没去那个队。 其实,最快的队伍只能有一个,而排队之前并不知道那个队快。所以,如果有六个队伍你...

我是菜鸟我骄傲
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部