欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java selenium教程之selenium详细介绍

程序员文章站 2024-03-13 13:18:51
selenium 是目前用的最广泛的web ui 自动化测试框架。 本系列文章,将深入简出来讲解selenium 的用法 阅读目录 selenium 的命名 sele...

selenium 是目前用的最广泛的web ui 自动化测试框架。 本系列文章,将深入简出来讲解selenium 的用法

阅读目录

selenium 的命名

selenium 的意思是 硒   (有点qtp 杀手的意思)

qtp mercury 是水银     硒可以对抗水银

qtp 目前的价格是  三个单机版 十万人民币左右, 越来越少的人用qtp了

什么是selenium

一套软件工具,用来支持不同的自动化测试方法

开源软件:可以根据需要来增加重构工具的某些功能

跨平台:linux , windows mac

核心功能就是可以在多个浏览器上进行自动化测试

支持多种编程语言

目前已经被google , 百度, 腾讯等公司广泛使用

能够实现类似商业工具的大部分功能,并且还实现了商业工具不能支持的功能

建议大家整体学习整套工具, 将来好选择适合自己测试目的的测试工具。

selenium 的发展历史

2004年在thoughtworks 公司, 一个叫做jason huggins为了减少手工测试的工作, 自己写了一套javascript的库, 这套库可以进行页面交互, 并且可以重复的在不同浏览器上进行重复的测试操作。

这套库后来变为了selenium core. 为selenium remote control (rc) 和selenium ide 提供了坚实的核心基础能力

selenium 的作用是划时代的,因为他允许你使用多种语言来控制浏览器。

浏览器的对js的安全限制也对selenium的发展带来了困扰,并且web程序也越来越大,特性也越来越多,都对selenium的发展来说带来了不少困难

2006年google 的工程师simon stewart开启了一个叫做webdriver的项目, 此项目可以直接让测试工具使用浏览器和操作系统本身提供的方法, 借此来绕过js环境的沙盒效应, webdriver项目目标就是为了解决selenium的痛处

2008年北京奥运年会, selenium 和 webdriver 这两个项目进行了合并, selenium 2.0 出现了,也就是大家说的webdriver

selenium 的工具套件

selenium 2 (aka. selenium webdriver)提供了极佳的测试工具特性, 例如:关联的面向对象api

selenium 1 (aka. selenium rc or remote control) 支持更多的浏览器,支持更多的编程语言(java, javascript, ruby php)

selenium ide (集成开发环境) 是firefox 的插件, 有图形界面来录制和回放脚本。 此插件只是用来做原型工具,不用希望你使用这个工具来运行所有的测试脚本

selenium-grid 可以并行的在多个测试环境之下测试脚本,实现脚本的并发测试执行。 缩短大量测试脚本集合的执行时间

选择你的selenium 工具

如果没有编程经验,建议选择selenium ide 来熟悉selenium 的命令。 使用ide以快速来创建简单的测试脚本

我们不建议你选择selenium ide 来执行自动化测试,

建议先熟悉: selenium ide

再进一步熟练使用selenium-webdriver api

webdriver 支持的浏览器

ie6-10

firefox大部分版本

chrome

safari

opera

andrioid 系统上的自带浏览器

ios系统上自带浏览器

htmlunit的*面实现

selenium 1和 webdriver 的区别

webdriver 是selenium 1 的升级版本, 也可以理解为两个不同的产品

webdriver 相比selenium 1 来说可以更好地绕过js的限制,api也更易于使用.

selenium 1 比webdriver 支持更多的浏览器

webdriver 可以实现向下兼容selenium 1 的脚本