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人次.但报名人数却远远超出我们预期 ...
随机推荐
- 设置VirtualBox共享文件夹的方法
1.创建共享文件夹进入linux终端,通过如下指令创建共享文件夹.在此处的/mnt/share是Linux下的共享文件夹. sudo mkdir /mnt/share2.在VirtualBox的设置中 ...
- Knife4j文档请求异常 app.23f8b31d.js:1 SyntaxError: Unexpected token I in JSON at position 6820
发现代码里example包含了特殊字符[] 去掉[]即可 @ApiModelProperty(value = "状态", example = "INIT, RUNNING ...
- 使用Halcon软件和圆形标定板进行相机标定的步骤和教程
直接给出使用Halcon软件和圆形标定板进行相机标定的教学视频链接: 55-相机标定4-DLT,张正友标定法,Halcon标定算子
- IM扫码登录技术专题(三):通俗易懂,IM扫码登录功能详细原理一篇就够
本文引用了作者"大古同学"的"二维码扫码登录是什么原理"一文的主要内容,为了更好的理解和阅读,即时通讯网收录时有修订和改动,感谢原作者的分享. 1.引言 自从微 ...
- 飞书lark机器人 自动化发版
飞书lark机器人 自动化发版 #1 介绍 开发飞书机器人接收消息并调用构建接口, 实现自动化发版 发送指令 -> 机器人接收指令 -> 调用jenkins-job远程构建与部署 jenk ...
- 概率图模型&机器学习 -- 精确推断方法 -- 变量消去(Variable Elimination)和信念传播(Belief Propagation)
参考资料 西瓜书 An introduction to hidden Markov model -- Rabiner, Juang [机器学习][白板推导系列][合集 1-33]_哔哩哔哩_bilib ...
- 微服务实战系列(二)-注册中心Springcloud Eureka客户端-copy
1. 场景描述 前几天介绍了下springcloud的Eureka注册中心(springcloud-注册中心快速构建),今天结合springboot-web介绍下eureka客户端服务注册. 2. 解 ...
- w3cschool-Python3 爬虫抓取、深度/机器学习类
https://www.w3cschool.cn/python3/python3-enbl2pw9.html (1) requests安装 在cmd中,使用如下指令安装requests: pip in ...
- KafKa动态分组ID
背景说明:做这个的原因主要是因为懒,KafKa监听没有独立项目出去,由于KafKa没有组内广播模式,这就造成了一个问题:项目多处启动的时候,就只有一个地方能接收信息.这个时候就要手懂修改分组ID了. ...
- 测试 【子牙-writing】 大模型
参考:姜子牙大模型系列 | 写作模型ziya-writing开源!开箱即用,快来认领专属你的写作小助手吧 封神榜:https://github.com/IDEA-CCNL/Fengshenbang-L ...