- Selenium 教程
- Selenium——首页
- Selenium——概述
- Selenium——组件
- Selenium——自动化测试
- Selenium——环境搭建
- Selenium——远程控制 (Selenium Remote Control)
- 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——处理IFrames
- 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——页面对象模型 (Page Object Model)
- Selenium——页面工厂 (Page Factory)
- 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 主要用于自动化 Web 应用程序的测试。它是免费的,不需要任何许可费用。与手动测试相比,使用 Selenium 进行自动化测试更受青睐,因为使用 Selenium 进行自动化测试比手动测试具有更好的投资回报率。
不同类型的 Selenium 测试
Selenium 可用于创建不同类型的测试,如下所示:
- 功能测试——这些测试有助于检查被测应用程序或产品的各种新功能。
- 回归测试——这些测试有助于检查代码更改是否破坏了应用程序的现有功能。
- 冒烟测试——这些测试有助于验证新版本是否足够稳定,可以对其进行测试。
- 集成测试——这些测试有助于验证所有模块的集成是否作为一个单元一起工作。
- 单元测试——这些测试由开发人员创建以测试他们的代码。
Selenium 自动化测试工具
Selenium 包含一组工具,通常称为 Selenium 组件。这些工具列在下面:
- Selenium IDE——它作为 Chrome 和 Firefox 浏览器的附加组件提供。
- Selenium Remote Control——它是一个用 Java 开发的服务器,允许使用多种语言(如 Java、Perl、Python 等)编写自动化测试。
- Selenium WebDriver——它是一个可以与 TestNG、JUnit 等其他框架集成的工具,并且可以与多种编程语言一起使用。
- Selenium Grid——它是一个有助于在各种平台和浏览器上实现并行执行的工具。
Selenium 3.x 和 4.x 之间的区别
Selenium 的最新版本是 4.x 版本。从 Selenium 4 版本开始,整个架构完全兼容 W3C(万维网联盟),这意味着 Selenium 4 遵循 W3C 提供的所有标准和指南。
Selenium 3.x 和 Selenium 4.x 之间的基本区别在于,在 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 WebDriver 4.0 版本的简化架构图如下所示:
为什么使用 Selenium 进行自动化测试?
- 使用 Selenium 编写的自动化测试可以用多种编程语言编写,例如 Java、C#、Python、JavaScript 等。
- Selenium WebDriver 支持 Chrome、Firefox、Safari、IE 等浏览器。
- Selenium WebDriver 可以在多个平台上运行,例如 Windows、Mac、Linux、Android 等。
- 可以使用 HTMLUnit Driver 实现无头执行。
- Selenium WebDriver 不需要服务器来启动测试执行,它直接与浏览器通信。
- Selenium 是开源的,无需任何许可费用。
- Selenium 可以扩展到各种公开 DOM 的技术。
- Selenium 拥有庞大的社区支持来解决问题。
使用 Selenium 的缺点
- Selenium 只支持基于 Web 的应用程序。
- Selenium 不应用于自动化 QR 码、验证码和条形码场景的测试。
- Selenium 没有内置的对象存储库或恢复方案。
- Selenium 没有默认的测试报告生成。
- Selenium WebDriver 需要编程和技术知识才能开发自动化测试。
- Selenium WebDriver 需要时间才能与新的浏览器更好地兼容和稳定。
- Selenium WebDriver 难以设置,因为没有供应商支持。
使用不同的语言运行 Selenium 自动化测试
Selenium 可以使用多种编程语言(如 Java、Python、Ruby、JavaScript 等)在多个浏览器、平台和设备上测试 Web 应用程序。根据我们使用的语言,配置 Selenium 测试所需的先决条件也会发生变化。以下链接将帮助您在不同的语言中设置和运行 Selenium 自动化测试:
- Selenium 与 Java 教程
- Selenium 与 Python 教程
- Selenium 与 C# 教程
- Selenium 与 JavaScript 教程
- Selenium 与 Kotlin 教程
本教程对 Selenium 自动化测试进行了全面的讲解。我们首先介绍了 Selenium 是什么,不同类型的 Selenium 测试,Selenium 自动化测试工具,Selenium 3.x 和 Selenium 4.x 之间的区别,为什么使用 Selenium 进行自动化测试,Selenium 的缺点以及如何在不同的语言中运行 Selenium 自动化测试。
这使您掌握了 Selenium 自动化测试的深入知识。明智的做法是不断练习您所学的内容,并探索与 Selenium 相关的其他内容,以加深您的理解并拓宽您的视野。