当前位置: 首页 > 编程笔记 >

java selenium教程之selenium详细介绍

双恩
2023-03-14
本文向大家介绍java selenium教程之selenium详细介绍,包括了java selenium教程之selenium详细介绍的使用技巧和注意事项,需要的朋友参考一下

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 的脚本

 类似资料:
  • 本文向大家介绍Java基础教程之理解Annotation详细介绍,包括了Java基础教程之理解Annotation详细介绍的使用技巧和注意事项,需要的朋友参考一下 Java基础之理解Annotation 一、概念    Annontation是Java5开始引入的新特征。中文名称一般叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量

  • 本文向大家介绍详细介绍SpringCloud之Ribbon,包括了详细介绍SpringCloud之Ribbon的使用技巧和注意事项,需要的朋友参考一下 一:Ribbon是什么? Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Lo

  • 本文向大家介绍java并发之ArrayBlockingQueue详细介绍,包括了java并发之ArrayBlockingQueue详细介绍的使用技巧和注意事项,需要的朋友参考一下 java并发之ArrayBlockingQueue详细介绍  ArrayBlockingQueue是常用的线程集合,在线程池中也常常被当做任务队列来使用。使用频率特别高。他是维护的是一个循环队列(基于数组实现),循环结构

  • 本文向大家介绍centos7.0之Lnmp和Lamp详细介绍,包括了centos7.0之Lnmp和Lamp详细介绍的使用技巧和注意事项,需要的朋友参考一下 centos7.0之Lnmp和Lamp 首先配置防火墙 CentOS 7.0默认使用的是firewall作为防火墙 1.关闭firewall: 2.关闭SELINUX Lnmp安装 1.安装nginx 2.启动nginx 3.更改nginx端口

  • 本文向大家介绍Java 基础之事务详细介绍,包括了Java 基础之事务详细介绍的使用技巧和注意事项,需要的朋友参考一下 java 事务详解 一、什么是事务   事务是访问数据库的一个操作序列,数据库应用系统通过事务集来完成对数据库的存取。事务的正确执行使得数据库从一种状态转换成另一种状态。    事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(con

  • 本文向大家介绍详解SpringBoot整合MyBatis详细教程,包括了详解SpringBoot整合MyBatis详细教程的使用技巧和注意事项,需要的朋友参考一下 1. 导入依赖 首先新建一个springboot项目,勾选组件时勾选Spring Web、JDBC API、MySQL Driver 然后导入以下整合依赖 2. 连接数据库 数据库代码: 然后IDEA连接数据库 打开我们创建的数据库sp