Selenium WebDriver 架构:组件、功能和限制
已发表: 2020-12-17测试系统是一项具有挑战性的任务,没有什么能像工具那样自动化。 自动化测试人员想到的一种工具是 Selenium。 如果您渴望学习使用Selenium WebDriver的自动化测试技能,那么您来对地方了。 让我们开始吧。
目录
什么是硒?
Selenium 是一个开源的自动化测试工具。 该工具仅测试基于 Web 的应用程序,并与多种浏览器和操作系统兼容。
Selenium 主要有三个版本:
- 硒 RC
- 硒 IDE
- 硒网格
所有这些版本都是在 2007 年发布的。
Selenium 网络驱动程序
直到 2011 年,Selenium RC 才被广泛使用。 2011 年年中,Selenium 发布了一个新版本,WebDriver 2.0。 这不是对 RC 的升级,而是完全不同的工具。 不同之处在于 Selenium WebDriver 2.0 有自己的命令。 最新的Selenium WebDriver版本是 3.14。
Selenium WebDriver 能够制作动态脚本。
Selenium WebDriver Architecture 有五个组件:
- 语言绑定或 Selenium 客户端库:这些是 Jar 文件,这是用于编写 Selenium 框架的语言。 Selenium 的脚本是用 Java、C#、Ruby、Python 和 Perl 编写的。
- Selenium 应用程序编程接口 (API): API 提供了任何软件语言都遵循的一组规则和规范。 还需要与其他软件程序进行通信。 简而言之,API 充当软件程序和交流通信渠道之间的接口。
- Remote WebDriver:是WebDriver接口的实现类。 测试脚本开发人员使用远程计算机上的类通过 WebDriver 服务器执行测试脚本。
- JavaScript Object Notation (JSON) 有线协议: JSON 是一种轻量级的数据可交换格式,用于促进数据的交换。 它在网络上的客户端和服务器之间传输数据。 JSON 文件具有 .json 扩展名。 JSON 有线协议以 JSON 格式发送数据。 然后,服务器解析数据并执行。 执行后,服务器给出响应,并以 JSON 格式发送回客户端。
- WebDriver: WebDriver 是自动化 Web 应用程序并验证它们是否按预期工作的工具。
Selenium WebDriver 架构
我们现在将关注Selenium WebDriver 架构。 Selenium WebDriver API 促进了浏览器和浏览器驱动程序之间的交互。 该架构包括以下四层:
- Selenium 客户端库
- JSON 有线协议
- 浏览器驱动程序
- 浏览器
Selenium WebDriver 如何在内部工作?
Selenium WebDriver的代码是在 Eclipse 集成开发环境 (IDE) 中编写的。 它使用任何一种 Selenium 客户端库,例如 Java。

脚本准备好后,单击运行以执行程序。 基于上述脚本,Chrome 浏览器将启动并导航到 SeleniumHQ 网站。
对 Selenium WebDriver 的内部架构使用以下通用步骤:
1. 单击运行。
Selenium 客户端库与 Selenium API 通信。
2. Selenium API 将语言命令从关卡绑定发送到浏览器驱动程序。
通信是通过 JSON 有线协议完成的。
3. Selenium API 将请求发送到浏览器驱动程序。
浏览器驱动程序使用 HTTP 服务器来获取 HTTP 请求。
4. HTTP 服务器过滤掉所有需要执行的命令。
Selenium 脚本中的命令在浏览器上执行。
5. HTTP 服务器将响应发送给自动化测试脚本。
Selenium WebDriver 的技术规范
- 操作系统 (OS) – Windows、Solaris、Linux 和 Mac OS
- 支持的浏览器 – Internet Explorer、Google Chrome 12.0.712.0 及更高版本、Safari、Opera 11.5 及更高版本、Mozilla Firefox、Internet Explorer、HtmlUnit 2.9、Android 和 iOS
Selenium WebDriver 的最佳功能
- 多浏览器支持——支持几乎所有浏览器。
- 多语言支持——支持大多数常用的编程语言。
- 速度——与 Selenium Suite 的其他工具相比,Selenium WebDriver 更快。
- 简单命令——常用命令在 Selenium WebDriver 中很容易使用和实现。 例如,要在 Selenium WebDriver 中启动浏览器,请执行以下命令:
- WebDriver driver = new FirefoxDriver(); (火狐浏览器)
- WebDriver driver = new ChromeDriver(); (铬浏览器)
- WebDriver driver = new InternetExplorerDriver(); (Internet Explorer 浏览器)
- 方法和类——Selenium WebDriver 有多种解决方案来解决自动化测试中的潜在挑战。
阅读: Selenium 项目的想法和主题

Selenium WebDriver 的限制
- Selenium WebDriver不会自动支持新的浏览器
由于 WebDriver 在操作系统级别上运行,因此每个浏览器都以不同的方式与操作系统进行通信。 因此,对于新的浏览器,与操作系统的通信可能会有所不同,从而导致兼容性问题。 您必须为您的Selenium WebDriver团队提供一些时间来使新浏览器与Selenium WebDriver兼容。
- Selenium WebDriver没有内置命令来自动生成“测试结果”文件
您必须依赖集成开发环境 (IDE) 的输出窗口。 您也可以使用您喜欢的语言自行设计,并将其存储为 HTML 文件或文本。
另请阅读:印度的硒开发人员薪水
报名参加世界顶尖大学的软件工程课程。 获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。
最后的想法
- Selenium WebDriver是一个在不同浏览器上测试 Web 应用程序的工具。
- 它使用不同的编程语言。
- Selenium WebDriver是 Selenium RC 的升级版,因为它的架构更简单。
- Selenium WebDriver有一个简洁的 API。
如果您有兴趣了解有关全栈软件开发的更多信息,请查看 upGrad 和 IIIT-B 的全栈软件开发执行 PG 计划,该计划专为在职专业人士设计,提供 500 多个小时的严格培训、9 个以上的项目,和任务、IIIT-B 校友身份、实用的实践顶点项目和顶级公司的工作协助。
