本文会从以下下几个方面介绍Selenium,相信大家阅读后会对Selenium有一个全新的认识。

 为什么是Selenium

 初探Selenium

 Selenium组成

 Selenium工具介绍

Selenium核心

Selenium IDE(Selenium开发环境)

Selenium RC(Selenium 远程控制)

Selenium Grid

Selenium WebDriver

Selenium 3

 环境与技术

支持浏览器

支持的程序设计语言

支持的操作系统

支持测试框架

 结论

如何开始学习Selenium

最好的学习方式是通过一系列免费的Selenium课程资料进行学习,读书、在家里通过例子练习、带着你的疑问去阅读各个章节,你也可以通过回答各个章节作者的疑问来增强对知识的理解等,这些都是可以快速帮你了解测试工具的方法。

Selenium介绍

Selenium不仅仅是一个工具,比其他工具有一个特点是其独立性,我们会详细研究每一个工具的组成部分,而且在每一部分都会举一些实际的例子供大家参考,我们开始吧

  1. 为什么是Selenium

    当前自动化是一个流行趋势,有些手工测试场景往往是重复的,这些重复的手工测试场景就导致了自动化的需求

让我们一起看看自动化的几点好处:

 支持重复执行测试用例

 大型测试矩阵的辅助工具

 支持并发操作

 减少人为错误从而提高精度

 节省时间和金钱

这些好处会给我们带来高回报和市场的快速运转

整个测试行业都在讨论和公认的自动化测试优点:

 它是开源的

 它拥有庞大的用户群和帮助社区。

 它具有多浏览器和平台兼容性。

 它拥有活跃的开发库

 它支持多种语言实现。

  1. 初探Selenium

    Selenium是最受欢迎的自动测试套件之一,它是基于Web的应用程序和支持各种浏览器平台的功能方面的自动化测试,再加上它是开源的,逐渐成为了测试专业人员中最被接受的工具之一。

Selenium 支持多浏览器、多种技术和多平台

  1. Selenium组成

    Selenium不仅仅是一个工具或程序,而是一个包含多个测试工具的软件包,因此它被称为套件。每一个工具都能满足不同的测试和测试环境的要求

    套件包由以下工具组成:

    • Selenium集成开发环境(IDE)

    • Selenium远程控制(RC)

    • Selenium WebDriver

    • Selenium Grid

    Selenium RC称为Selenium 1,Selenium RC和WebDriver结合在一起,俗称Selenium 2

  1. Selenium工具介绍

    Selenium核心

    Selenium是由来自ThoughtWorks的工程师杰森•哈金斯不断努力的成果,他负责内部时间和费用应用程序的测试,他意识到需要一个自动化测试工具,以便在不影响质量和准确性的情况下摆脱重复的手动任务。

所以,他在2004年初建立了一个名为“ JavaScriptTestRunner ” 的JavaScript程序,它可以自动控制浏览器的操作,这些操作看起来与用户与浏览器通信的操作非常相似。

从此以后,杰森开始向广大受众演示该工具。最后,大家将该工具分类为开源类别,并将其作为其他基于Web的应用程序的可重用测试框架发展。

该工具后来被称为“ Selenium Core ”

Selenium IDE

Selenium IDE由Shinya Kasatani开发。在研究Selenium Core时,他意识到JavaScript代码可以扩展为一个集成开发环境(IDE),可以嵌入到Mozilla Firefox浏览器中。它可以在Firefox实例上记录和回放用户操作。后来,Selenium IDE在2006年成为了Selenium Package的一部分,并且为社区带来了巨大的价值和潜力。

Selenium IDE是Selenium Package中所有工具中最简单,最简单的。它的记录和回放功能使得学习起来非常简单,只需要熟悉任何编程语言。虽然有了几个优点,但是Selenium IDE附带了一些缺点,因此不适合在更高级的测试脚本中使用。

Selenium IDE的优点和缺点:

实际上,IDE的缺点实际上并不是Selenium的缺点。相反,它们只是限制IDE可以实现的功能。使用Selenium RC或WebDriver可以克服这些限制。

Selenium RC

Selenium RC是一个用Java编写的工具,允许用户使用他/她选择的任何编程语言构建测试脚本。因此,Selenium RC克服了 Selenium IDE或Core带来的各种缺点。

工作流程描述

• 用户使用所需的编程语言创建测试脚本。

• 对于每种编程语言,都有一个指定的客户端库。

• 客户端库将测试命令发送给selenium服务器。

• Selenium服务器解密并将测试命令转换为JavaScript命令并将它们发送到浏览器。

• 浏览器使用Selenium Core执行命令,并将结果发送回Selenium服务器

• Selenium服务器将测试结果提供给客户端库

在创建Selenium RC脚本之前,有一些先决条件:

• 编程语言:Java,C#,Python等

• 综合开发环境:Eclipse,Netbeans等

• 测试框架(可选):JUnit,TestNG等

Selenium RC的优点和缺点:

有关Selenium RC的优缺点,请参阅下图

Selenium Grid

selenium RC的出现,使测试者的工作变的非常简便,但是要满足在多个平台和浏览器上同时执行相同或不同测试脚本,实现分布式测试执行,所以Selenium Grid应用而生

Selenium Grid由Pat Lightbody引入,以满足同时在多个平台上执行测试套件的需求

Selenium WebDriver

Selenium WebDriver由ThoughtWorks的另一位工程师Simon Stewart在2006年创造的.WebDriver也是一个基于网络的测试工具,它与Selenium RC有细微差别。由于该工具的使用与客户端没有关系,直接与浏览器接触,不需要JavaScript。这导致了Selenium RC和WebDriver之间的兼容性分析。因此,开发了一种名为Selenium 2的功能更强大的自动化测试工具。

WebDriver是干净的,纯粹是面向对象的框架。它利用浏览器与自动化的本机兼容性,而无需使用任何外围设备实体。随着需求的增加,它已经获得了很大的知名度和用户群

Selenium WebDriver的优点和缺点

Selenium 3

Selenium 3是Selenium 2的高级版本。它是一个专注于移动和Web应用程序自动化的工具。WebDriver API已经扩展到满足移动应用程序测试的需求,该工具预计很快将在市场上推出。

随着Selenium套件中每个新工具的出现和增加,环境和技术变得更加兼容。以下是Selenium Tools支持的环境和技术的详尽列表。

5.环境与技术

支持的浏览器

支持的编程语言

支持的操作系统

支持的测试框架

6.结论

在本章中,我们尝试让您熟悉Selenium套件,描述其各种组件,用法以及它们之间的优势

以下是本文的关键。

• Selenium是一套多种自动化测试工具,每种工具都可满足不同的测试需求。

• 所有这些工具都属于开源类别,并且仅支持基于Web的测试。

• Selenium套件由4个基本组件组成; Selenium IDE,Selenium RC,WebDriver和Selenium Grid。

• 用户应该明智地选择合适的Selenium工具来满足他/她的需求。

• Selenium IDE作为Firefox插件发布,更易于安装和使用。用户不需要拥有编程知识。Selenium IDE是小白的理想工具。

• Selenium RC是一个允许用户使用所需编程语言创建测试脚本的服务器。它还允许在大量浏览器中执行测试脚本。

• Selenium Grid通过在不同平台和浏览器上同时执行测试脚本来实现Selenium RC的附加功能,从而实现主从架构。

• WebDriver是一个完全不同的工具,与Selenium RC相比具有各种优势。Selenium RC和WebDriver的融合也称为Selenium 2.WebDriver直接与Web浏览器通信,使本机兼容并进行自动化。

• Selenium 3更侧重于进行移动测试。

Selenium 测试介绍的更多相关文章

  1. python selenium自动化测试之路(1)--分层测试概念、selenium工具介绍

    1.分层自动化测试概念 传统的自动化市场更关注产品UI层的自动化测试,而分层的自动化测试倡导产品开发的不同阶段都需要自动化测试 大多公司与研发团队其实是忽略了单元测试与集成测试阶段的自动化测试工作,所 ...

  2. Selenium测试规划

    开源工具经过近几年的发展,已经出现了一大批成熟的可应用到实际项目中的产品,其中,在WEB自动化测试领域,Selenium支持广泛的浏览器和脚本开发语言,高效的执行效率,获得广泛的应用. 本课程结合Se ...

  3. python:selenium测试登录在chrome中闪退

    问题描述:使用selenium.webdriver时测试网页,进行自动登录测试总是在登录成功时闪退.使用指定驱动器位置的方式chrome也会闪退 1.正常使用chrome驱动打开一个网页,正常访问 f ...

  4. Web测试介绍2一 安全测试

            安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程. 主要安全需求包括: (i) 认证 Authent ...

  5. selenium测试框架使用xml作为对象库

    之前已经写过一篇: selenium测试框架篇,页面对象和元素对象的管理 上次使用的excel作为Locator对象管理,由于excel处理不够方便,有以下缺点: 不能实现分page 加载Locato ...

  6. VS2010+Selenium测试脚本设计

    VS2010+Selenium测试脚本设计 http://www.docin.com/p-755903506.html

  7. Jenkins 十二: 集成 selenium 测试

    我的selenium采用的是python版本. 其实 selenium java版本也类似. 1. 在jenkins里面新建selenium 测试项目. 源码管理采用 “Subversion”,输入 ...

  8. Selenium测试专项一班隆重开班

    Selenium测试专项一班隆重开班 应广大测试技术人员要求,以及企业技术需求.Selenium提前一周开课了,只针对合作的每家企业提供1-2个参训名额.预计培训60人次.但报名人数却远远超出我们预期 ...

  9. Selenium测试专项二班隆重开班

    Selenium测试专项二班隆重开班 应广大测试技术人员要求,以及企业技术需求.Selenium提前一周开课了,只针对合作的每家企业提供1-2个参训名额.预计培训60人次.但报名人数却远远超出我们预期 ...

  10. Selenium测试专项三班隆重开班

    Selenium测试专项三班隆重开班 应广大测试技术人员要求,以及企业技术需求.Selenium提前一周开课了,只针对合作的每家企业提供1-2个参训名额.预计培训60人次.但报名人数却远远超出我们预期 ...

随机推荐

  1. 常用bat代码

    清除空文件夹 | 清理空文件夹 | 删除空文件夹 @echo off for /f "tokens=*" %%i in ('dir/s/b/ad^|sort /r') do rd ...

  2. Qt6.2发布(含项目代码升级到Qt6吐血经验总结)

    一.前言 升级到Qt6吐血经验总结 https://gitee.com/feiyangqingyun/qtkaifajingyan#二升级到qt6 我很高兴地宣布 Qt 6.2 的发布.Qt 6.2 ...

  3. [转]spring-framework-x.x.x.RELEASE-dist下载教程

    原文链接: spring-framework-x.x.x.RELEASE-dist下载教程

  4. Redis 源码简洁剖析 14 - Redis 持久化

    Redis 持久化方式 RDB 优势 劣势 AOF 优势 劣势 Redis < 7.0 参考链接 Redis 源码简洁剖析系列 Redis 持久化方式 主要参考 Redis 官方文档:Redis ...

  5. .Net程序员机会来了,微软官方新推出一个面向Windows开发者本地运行AI模型的开源工具

    想要开发AI产品的.Net程序员机会来了,这个项目应该好好研究. 虽然说大模型基本都有提供网络API,但肯定没有直接使用本地模型速度快. 最近微软官方新推出AI Dev Gallery开源项目,可以帮 ...

  6. 【量化读书笔记】【打开量化投资的黑箱】CH.05. 交易成本模型

    交易是有成本的,除非有足够的理由,否则便不应该进行交易. 交易的原因 增加盈利的期望值 降低亏损的期望值 对交易成本的估计 过低,会导致交易过于频繁,损失扩大. 过高,导致交易次数少,持仓时间过长. ...

  7. 新一代python版本与依赖管理工具 uv

    uv python版本与依赖管理 选择原因 1. 新的好玩.rust开发的执行速度快 2. 确实方便 3. 轻,软件就十几二十兆,占磁盘小 4. uv.lock可以锁版本 场景应用 场景一 从 ana ...

  8. Linux 压缩命令集合

    01. tar格式 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!) 02. gz格式 解压1:gunzi ...

  9. CDS标准视图:维护活动类型 I_MaintenanceActivityType

    视图名称:维护活动类型 I_MaintenanceActivityType 视图类型:基础 视图代码: 点击查看代码 @ObjectModel.supportedCapabilities: [ #AN ...

  10. Kotlin:【空安全概述】可空性、null类型、null安全