Selenium 测试介绍
本文会从以下下几个方面介绍Selenium,相信大家阅读后会对Selenium有一个全新的认识。
为什么是Selenium
初探Selenium
Selenium组成
Selenium工具介绍
Selenium核心
Selenium IDE(Selenium开发环境)
Selenium RC(Selenium 远程控制)
Selenium Grid
Selenium WebDriver
Selenium 3
环境与技术
支持浏览器
支持的程序设计语言
支持的操作系统
支持测试框架
结论
如何开始学习Selenium
最好的学习方式是通过一系列免费的Selenium课程资料进行学习,读书、在家里通过例子练习、带着你的疑问去阅读各个章节,你也可以通过回答各个章节作者的疑问来增强对知识的理解等,这些都是可以快速帮你了解测试工具的方法。
Selenium介绍
Selenium不仅仅是一个工具,比其他工具有一个特点是其独立性,我们会详细研究每一个工具的组成部分,而且在每一部分都会举一些实际的例子供大家参考,我们开始吧
- 为什么是Selenium
当前自动化是一个流行趋势,有些手工测试场景往往是重复的,这些重复的手工测试场景就导致了自动化的需求
让我们一起看看自动化的几点好处:
支持重复执行测试用例
大型测试矩阵的辅助工具
支持并发操作
减少人为错误从而提高精度
节省时间和金钱
这些好处会给我们带来高回报和市场的快速运转
整个测试行业都在讨论和公认的自动化测试优点:
它是开源的
它拥有庞大的用户群和帮助社区。
它具有多浏览器和平台兼容性。
它拥有活跃的开发库
它支持多种语言实现。
- 初探Selenium
Selenium是最受欢迎的自动测试套件之一,它是基于Web的应用程序和支持各种浏览器平台的功能方面的自动化测试,再加上它是开源的,逐渐成为了测试专业人员中最被接受的工具之一。
Selenium 支持多浏览器、多种技术和多平台

- Selenium组成
Selenium不仅仅是一个工具或程序,而是一个包含多个测试工具的软件包,因此它被称为套件。每一个工具都能满足不同的测试和测试环境的要求
套件包由以下工具组成:
• Selenium集成开发环境(IDE)
• Selenium远程控制(RC)
• Selenium WebDriver
• Selenium Grid
Selenium RC称为Selenium 1,Selenium RC和WebDriver结合在一起,俗称Selenium 2

- 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 测试介绍的更多相关文章
- python selenium自动化测试之路(1)--分层测试概念、selenium工具介绍
1.分层自动化测试概念 传统的自动化市场更关注产品UI层的自动化测试,而分层的自动化测试倡导产品开发的不同阶段都需要自动化测试 大多公司与研发团队其实是忽略了单元测试与集成测试阶段的自动化测试工作,所 ...
- Selenium测试规划
开源工具经过近几年的发展,已经出现了一大批成熟的可应用到实际项目中的产品,其中,在WEB自动化测试领域,Selenium支持广泛的浏览器和脚本开发语言,高效的执行效率,获得广泛的应用. 本课程结合Se ...
- python:selenium测试登录在chrome中闪退
问题描述:使用selenium.webdriver时测试网页,进行自动登录测试总是在登录成功时闪退.使用指定驱动器位置的方式chrome也会闪退 1.正常使用chrome驱动打开一个网页,正常访问 f ...
- Web测试介绍2一 安全测试
安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程. 主要安全需求包括: (i) 认证 Authent ...
- selenium测试框架使用xml作为对象库
之前已经写过一篇: selenium测试框架篇,页面对象和元素对象的管理 上次使用的excel作为Locator对象管理,由于excel处理不够方便,有以下缺点: 不能实现分page 加载Locato ...
- VS2010+Selenium测试脚本设计
VS2010+Selenium测试脚本设计 http://www.docin.com/p-755903506.html
- Jenkins 十二: 集成 selenium 测试
我的selenium采用的是python版本. 其实 selenium java版本也类似. 1. 在jenkins里面新建selenium 测试项目. 源码管理采用 “Subversion”,输入 ...
- Selenium测试专项一班隆重开班
Selenium测试专项一班隆重开班 应广大测试技术人员要求,以及企业技术需求.Selenium提前一周开课了,只针对合作的每家企业提供1-2个参训名额.预计培训60人次.但报名人数却远远超出我们预期 ...
- Selenium测试专项二班隆重开班
Selenium测试专项二班隆重开班 应广大测试技术人员要求,以及企业技术需求.Selenium提前一周开课了,只针对合作的每家企业提供1-2个参训名额.预计培训60人次.但报名人数却远远超出我们预期 ...
- Selenium测试专项三班隆重开班
Selenium测试专项三班隆重开班 应广大测试技术人员要求,以及企业技术需求.Selenium提前一周开课了,只针对合作的每家企业提供1-2个参训名额.预计培训60人次.但报名人数却远远超出我们预期 ...
随机推荐
- shell脚本,主要是对输入参数检验
usage(){ echo "\nUSAGE:\n" echo "PmActivityReport.sh\t-type\t<latency|activity&g ...
- 超轻巧modbus调试助手使用说明
一.使用说明 1.1 数据格式 和其他的modbus采集工具一样,本组件也支持各种数据格式,其实就是高字节低字节的顺序. 一般是2字节表示一个数据,后面又有4字节表示一个数据,目前好像还有8字节表示一 ...
- 视频监控推流助手/极低延迟/支持N路批量多线程推流/264和265推流/监控转网页
一.前言说明 搞视频监控开发除了基本的拉流以外,还有个需求是推流,需要将拉到的流重新推流到流媒体服务器,让流媒体服务做转发和负载均衡,这样其他地方只需要问流媒体服务器要视频流即可.为什么拉了又重新推呢 ...
- [转]基于vue-router的matched实现面包屑功能
原文链接:基于vue-router的matched实现面包屑功能
- 即时通讯技术文集(第29期):IM开发技术合集(Part2) [共18篇]
为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第29 期. [- 1 -] 谈谈移动端 IM 开发中登录请求的优化 [链接] http://w ...
- spark (三) hadoop上传文件并运行spark
目录 1. 上传文件到hdfs 2. 运行wordCount 2.1 spark-shell运行 2.2 spark-submit运行example(stand-alone) 2.3 spark-su ...
- (四).NET6.0程序部署到Docker上
1.确保安装Docker 2.把需要部署到Docker上面的项目,咱们先添加Docker的支持,启动项目右键 -> 添加 -> Docker支持,选择 Linux 然后会自动生成Docke ...
- w3cschool-Apache Kafka 教程
参考https://www.w3cschool.cn/apache_kafka/ Apache Kafka 基础 2021-07-27 16:23 更新 对于大数据,我们要考虑的问题有很多,首先海量数 ...
- JVM虚拟机---常用JVM配置参数
常用JVM配置参数 常用JVM配置参数主要有:Trace跟踪参数.堆的分配参数.栈的分配参数. 一.Trace跟踪参数 跟踪参数用于跟踪监控JVM,对于开发人员来讲用于JVM调优以及故障排查的. 1. ...
- docker没有vi不能执行yum报Device or resource busy
最近在使用docker的过程中发现一个问题,就是想用vim编辑器编辑一个文件,发现连vi都没有. 于是想到一个办法用docker cp来解决问题: 首先执行docker ps -a查看容器的id 然后 ...