- Selenium 教程
- Selenium - 首页
- Selenium - 概述
- Selenium - 组件
- Selenium - 自动化测试
- Selenium - 环境搭建
- Selenium - 远程控制
- Selenium IDE 教程
- Selenium - IDE 简介
- Selenium - 特性
- Selenium - 限制
- Selenium - 安装
- Selenium - 创建测试
- Selenium - 创建脚本
- Selenium - 控制流
- Selenium - 存储变量
- Selenium - 警报和弹出窗口
- Selenium - Selenese 命令
- Selenium - Actions 命令
- Selenium - Accessors 命令
- Selenium - Assertions 命令
- Selenium - Assert/Verify 方法
- Selenium - 定位策略
- Selenium - 脚本调试
- Selenium - 验证点
- Selenium - 模式匹配
- Selenium - JSON 数据文件
- Selenium - 浏览器执行
- Selenium - 用户扩展
- Selenium - 代码导出
- Selenium - 代码输出
- Selenium - JavaScript 函数
- Selenium - 插件
- Selenium WebDriver 教程
- Selenium - 简介
- Selenium WebDriver vs RC
- Selenium - 安装
- Selenium - 第一个测试脚本
- Selenium - 驱动程序会话
- Selenium - 浏览器选项
- Selenium - Chrome 选项
- Selenium - Edge 选项
- Selenium - Firefox 选项
- Selenium - Safari 选项
- Selenium - 双击
- Selenium - 右击
- Python 中的 HTML 报告
- 处理编辑框
- Selenium - 单个元素
- Selenium - 多个元素
- Selenium Web 元素
- Selenium - 文件上传
- Selenium - 定位器策略
- Selenium - 相对定位器
- Selenium - 查找器
- Selenium - 查找所有链接
- Selenium - 用户交互
- Selenium - WebElement 命令
- Selenium - 浏览器交互
- Selenium - 浏览器命令
- Selenium - 浏览器导航
- Selenium - 警报和弹出窗口
- Selenium - 处理表单
- Selenium - 窗口和标签页
- Selenium - 处理链接
- Selenium - 输入框
- Selenium - 单选按钮
- Selenium - 复选框
- Selenium - 下拉框
- Selenium - 处理 iframe
- Selenium - 处理 Cookie
- Selenium - 日期时间选择器
- Selenium - 动态 Web 表格
- Selenium - Actions 类
- Selenium - Action 类
- Selenium - 键盘事件
- Selenium - 键向上/向下
- Selenium - 复制和粘贴
- Selenium - 处理特殊键
- Selenium - 鼠标事件
- Selenium - 拖放
- Selenium - 笔事件
- Selenium - 滚动操作
- Selenium - 等待策略
- Selenium - 显式/隐式等待
- Selenium - 支持特性
- Selenium - 多选
- Selenium - 等待支持
- Selenium - 选择支持
- Selenium - 颜色支持
- Selenium - ThreadGuard
- Selenium - 错误和日志记录
- Selenium - 异常处理
- Selenium - 杂项
- Selenium - 处理 Ajax 调用
- Selenium - JSON 数据文件
- Selenium - CSV 数据文件
- Selenium - Excel 数据文件
- Selenium - 跨浏览器测试
- Selenium - 多浏览器测试
- Selenium - 多窗口测试
- Selenium - JavaScript 执行器
- Selenium - 无头执行
- Selenium - 捕获屏幕截图
- Selenium - 捕获视频
- Selenium - 页面对象模型
- Selenium - 页面工厂
- Selenium - 记录和回放
- Selenium - 框架
- Selenium - 浏览上下文
- Selenium - DevTools
- Selenium Grid 教程
- Selenium - 概述
- Selenium - 架构
- Selenium - 组件
- Selenium - 配置
- Selenium - 创建测试脚本
- Selenium - 测试执行
- Selenium - 端点
- Selenium - 自定义节点
- Selenium 报告工具
- Selenium - 报告工具
- Selenium - TestNG
- Selenium - JUnit
- Selenium - Allure
- Selenium & 其他技术
- Selenium - Java 教程
- Selenium - Python 教程
- Selenium - C# 教程
- Selenium - Javascript 教程
- Selenium - Kotlin 教程
- Selenium - Ruby 教程
- Selenium - Maven & Jenkins
- Selenium - 数据库测试
- Selenium - LogExpert 日志记录
- Selenium - Log4j 日志记录
- Selenium - Robot Framework
- Selenium - AutoIT
- Selenium - Flash 测试
- Selenium - Apache Ant
- Selenium - Github 教程
- Selenium - SoapUI
- Selenium - Cucumber
- Selenium - IntelliJ
- Selenium - XPath
- Selenium 杂项概念
- Selenium - IE 驱动程序
- Selenium - 自动化框架
- Selenium - 关键字驱动框架
- Selenium - 数据驱动框架
- Selenium - 混合驱动框架
- Selenium - SSL 证书错误
- Selenium - 替代方案
- Selenium 有用资源
- Selenium - 问答
- Selenium - 快速指南
- Selenium - 有用资源
- Selenium - 自动化实践
- Selenium - 讨论
Selenium - 组件
Selenium 组件通常被称为 Selenium 工具套件。总共有四个工具,统称为 Selenium 组件。让我们讨论 Selenium 的各个组件 -
Selenium IDE
Selenium RC
Selenium Webdriver
Selenium Grid
Selenium IDE
Selenium 集成开发环境是 Selenium 套件的重要组成部分。它最初开发为 Firefox 插件,但现在在 Firefox 和 Chrome 浏览器中都可用。Selenium IDE 的一些特性如下所示 -
在 Selenium IDE 中可以完成功能测试的录制、调试、执行和编辑。
Selenium IDE 中的脚本是用 Selenese 开发的,Selenese 是 Selenium 中的一种脚本语言。
Selenium IDE 命令帮助我们执行诸如点击按钮或链接、在编辑框中输入内容、从 Web 元素中获取文本等任务。
Selenium IDE 测试可以转换为 Java、C#、Python、TestNG 等格式。它的默认格式为 .html。
Selenium IDE 测试可以导出并在 Selenium Webdriver 和 Selenium RC 中使用。
Selenium IDE 不需要技术或编程知识。因此,它只能用于测试简单的场景,而不能用于涵盖任何复杂的用例。
Selenium IDE 没有提供用于数据驱动测试的测试参数化功能。
如果 Selenium IDE 用于复杂的测试项目,则对象和其他可重用组件的维护将很困难。
Selenium 远程控制
Selenium 远程控制是用 Java 实现的服务器。它可以使用 HTTP 接受浏览器的命令。Selenium RC 具有 Selenium RC 服务器和 Selenium RC 客户端。Selenium RC 已过时,已被 Selenium 弃用。
Selenium RC 的一些特性如下所示 -
Selenium RC 中的自动化测试可以用任何编程语言开发,例如 Java、Python、C# 等。
Selenium RC 可用于编写自动化测试以测试 Web 应用程序。
Selenium RC 包含一个代理服务器,该服务器允许浏览器工作,就像被测应用程序在代理服务器的域中可用一样。
要启动测试执行,我们必须创建 Selenium RC 服务器的实例。
Selenium WebDriver
Selenium WebDriver(从 Selenium 2 版开始)是 Selenium RC 的继任者,它直接向浏览器发送命令并检索结果,因此它比 Selenium RC 更快。它接收命令并将它们传递给浏览器。这是借助浏览器驱动程序完成的,浏览器驱动程序将命令发送到浏览器并获取结果。
Selenium 2 版将 Selenium RC 和 Selenium Webdriver 的有用功能合并到 Selenium Webdriver 中。后来 Selenium 3 为 Selenium Webdriver 添加了更多功能。
Selenium Webdriver 的一些特性如下所示 -
自动化测试可以用多种编程语言编写,例如 Java、C#、Python、JavaScript 等。
Selenium webdriver 支持 Chrome、Firefox、Safari、IE 等浏览器。
Selenium webdriver 在多个平台上运行,例如 Windows、Mac、Linux、Android 等。
借助 HTMLUnit Driver 可以实现无头执行。
Selenium webdriver 不需要服务器来启动测试执行,它直接与浏览器通信。
Selenium webdriver 是开源的,没有任何许可费用。
Selenium Webdriver 没有 IDE,因此创建测试脚本非常耗时。
Selenium Webdriver 仅支持基于 Web 的应用程序。
Selenium Webdriver 不支持自动化 QR、验证码和条形码场景。
Selenium Webdriver 没有对象存储库/恢复场景等功能。
Selenium Webdriver 没有默认的测试报告生成。
Selenium Webdriver 需要编程和技术知识来开发自动化测试。
Selenium Webdriver 需要时间才能与新浏览器更好地兼容和稳定。
Selenium Webdriver 难以设置,因为没有供应商支持。
Selenium Webdriver 可以扩展到公开 DOM 的各种技术。
Selenium Webdriver 拥有庞大的社区支持,可以在出现问题时提供帮助。
Selenium Grid
Selenium Grid 主要用于并行测试。它遵循集线器(它是中心部分,其余部分被视为节点)和节点架构。Selenium Grid 使我们能够在多台机器上同时执行各种测试。Selenium Grid 主要用于测试执行,而不是设计。
Selenium Grid 的一些特性如下所示 -
存在一个集线器机器,它使用 Selenium Grid 指导多台机器上的执行。此外,还有多台节点机器,在那里进行实际执行。
Selenium Grid 支持在多个浏览器和平台上进行测试。
通过允许测试并行执行来减少执行时间。
目前最新的 Selenium 版本是 4。从 Selenium 4 版本开始,整个架构完全兼容 W3C - 万维网联盟,这意味着 Selenium 4 遵循 W3C 提供的所有标准和指南。我们可以从以下链接获取有关 W3C 的更多信息:
https://tutorialspoint.com/world-wide-web-consortium-w3c.
Selenium 3 和 Selenium 4 之间最基本的区别在于,在 Selenium 3 中,客户端和服务器之间的通信是通过 JSON Wire 协议完成的,但是从 Selenium 4 开始,服务器和客户端之间是直接通信的,遵循 W3C 指南。
在 Selenium 4 之前,客户端和服务器之间的通信是通过 HTTP 上的 JSON Wire 协议进行的。但是,从 Selenium 4 开始,JSON Wire 协议不再存在,客户端和服务器之间使用 W3C 协议进行直接通信。
此外,Selenium 4 提供了一些额外的定位器(除了常规的定位器,如 id、class、xpath 等),称为相对定位器,借助于方法 - above、below、near、toRightOf、toLeftOf 以及多个相对定位器的链接。Selenium 4 还提供了对 ChromeDevTools 的访问,这有助于调试、网络流量分析和其他有助于自动化的功能。
因此,在本教程中,我们讨论了 Selenium 的各个组件。