java selenium教程之selenium详细介绍
Selenium是目前用的最广泛的WebUI自动化测试框架。本系列文章,将深入简出来讲解selenium的用法
阅读目录
selenium的命名
selenium的意思是硒 (有点QTP杀手的意思)
QTPmercury是水银 硒可以对抗水银
QTP目前的价格是 三个单机版十万人民币左右,越来越少的人用QTP了
什么是selenium
一套软件工具,用来支持不同的自动化测试方法
开源软件:可以根据需要来增加重构工具的某些功能
跨平台:linux,windowsmac
核心功能就是可以在多个浏览器上进行自动化测试
支持多种编程语言
目前已经被google,百度,腾讯等公司广泛使用
能够实现类似商业工具的大部分功能,并且还实现了商业工具不能支持的功能
建议大家整体学习整套工具,将来好选择适合自己测试目的的测试工具。
Selenium的发展历史
2004年在ThoughtWorks公司,一个叫做JasonHuggins为了减少手工测试的工作,自己写了一套Javascript的库,这套库可以进行页面交互,并且可以重复的在不同浏览器上进行重复的测试操作。
这套库后来变为了SeleniumCore.为SeleniumRemoteControl(RC)和SeleniumIDE提供了坚实的核心基础能力
Selenium的作用是划时代的,因为他允许你使用多种语言来控制浏览器。
浏览器的对JS的安全限制也对Selenium的发展带来了困扰,并且Web程序也越来越大,特性也越来越多,都对selenium的发展来说带来了不少困难
2006年Google的工程师SimonStewart开启了一个叫做WebDriver的项目,此项目可以直接让测试工具使用浏览器和操作系统本身提供的方法,借此来绕过JS环境的沙盒效应,WebDriver项目目标就是为了解决Selenium的痛处
2008年北京奥运年会,Selenium和WebDriver这两个项目进行了合并,Selenium2.0出现了,也就是大家说的WebDriver
Selenium的工具套件
selenium2(aka.SeleniumWebdriver)提供了极佳的测试工具特性,例如:关联的面向对象API
Selenium1(aka.SeleniumRCorRemoteControl)支持更多的浏览器,支持更多的编程语言(Java,JavaScript,RubyPHP)
SeleniumIDE(集成开发环境)是Firefox的插件,有图形界面来录制和回放脚本。此插件只是用来做原型工具,不用希望你使用这个工具来运行所有的测试脚本
Selenium-grid可以并行的在多个测试环境之下测试脚本,实现脚本的并发测试执行。缩短大量测试脚本集合的执行时间
选择你的Selenium工具
如果没有编程经验,建议选择SeleniumIDE来熟悉Selenium的命令。使用IDE以快速来创建简单的测试脚本
我们不建议你选择SeleniumIDE来执行自动化测试,
建议先熟悉:SeleniumIDE
再进一步熟练使用Selenium-WebDriverAPI
WebDriver支持的浏览器
IE6-10
FireFox大部分版本
Chrome
Safari
Opera
Andrioid系统上的自带浏览器
IOS系统上自带浏览器
HtmlUnit的无界面实现
Selenium1和WebDriver的区别
WebDriver是Selenium1的升级版本,也可以理解为两个不同的产品
WebDriver相比Selenium1来说可以更好地绕过JS的限制,API也更易于使用.
Selenium1比WebDriver支持更多的浏览器
WebDriver可以实现向下兼容Selenium1的脚本