Selenium是用于通过程序控制Web浏览器的强大工具。它适用于所有浏览器, 可在所有主要操作系统上运行, 并且其脚本以各种语言(即Python, Java, C#等)编写, 我们将使用Python。 Selenium具有四个主要组件-Selenium IDE, Selenium RC, Selenium Web驱动程序, Selenium GRID。
![Selenium组件](https://www.lsbin.com/wp-content/uploads/2021/03/Components-of-Selenium.png)
Selenium的组件
Selenium已经在该行业中使用了很长一段时间, 并被全世界的自动化测试人员所使用。
让我们检查一下Selenium的四个主要组件–
- Selenium IDE
- Selenium RC
- Selenium Web驱动程序
- Selenium 网格
Selenium IDE
Selenium IDE(集成开发环境)是Selenium Suite中的主要工具。它是用于Selenium 测试的完整集成开发环境(IDE)。它实现为Firefox插件和Chrome扩展程序。它允许记录, 编辑和调试功能测试。它以前被称为Selenium Recorder。 Selenium-IDE最初由Shinya Kasatani创建, 并于2006年捐赠给Selenium项目。SeleniumIDE以前很少维护。 Selenium IDE在2018年开始积极维护。
脚本可以自动记录和手动编辑, 从而提供自动完成支持和快速移动命令的功能。脚本以Selenese(Selenium的一种特殊测试脚本语言)记录。 Selenese提供了用于在浏览器中执行操作(单击链接, 选择一个选项)以及从结果页面中检索数据的命令。
Selenium RC(遥控器)
Selenium Remote Control(RC)是用Java编写的服务器, 它通过HTTP接受浏览器的命令。 RC使得可以使用任何编程语言为Web应用程序编写自动化测试, 从而可以更好地将Selenium集成到现有的单元测试框架中。为了简化编写测试, Selenium项目当前提供了PHP, Python, Ruby, .NET, Perl和Java的客户端驱动程序。 Java驱动程序也可以与JavaScript一起使用(通过Rhino引擎)。需要一个selenium RC服务器实例来启动html测试用例–这意味着每次并行运行的端口都应该不同。但是, 对于Java / PHP测试用例, 仅一个Selenium RC实例需要连续运行。
Selenium Web驱动程序
Selenium WebDriver是Selenium RC的后继产品。 Selenium WebDriver接受命令(以Selenese发送或通过客户端API发送)并将其发送到浏览器。这是通过特定于浏览器的浏览器驱动程序实现的, 该驱动程序将命令发送到浏览器并检索结果。实际上, 大多数浏览器驱动程序都会启动和访问浏览器应用程序(例如Firefox, Google Chrome, Internet Explorer, Safari或Microsoft Edge);还有一个HtmlUnit浏览器驱动程序, 它使用无头浏览器HtmlUnit模拟一个浏览器。
Selenium WebDriver不需要特殊的服务器即可执行测试。而是, WebDriver直接启动浏览器实例并对其进行控制。但是, Selenium Grid可以与WebDriver一起使用, 以在远程系统上执行测试(请参见下文)。 WebDriver尽可能使用本机操作系统级别的功能, 而不是基于浏览器的JavaScript命令来驱动浏览器。这绕过了本机命令和JavaScript命令之间的细微差别(包括安全性限制)的问题。
Selenium Grid
Selenium Grid是一台服务器, 允许测试使用在远程计算机上运行的Web浏览器实例。使用Selenium Grid, 一台服务器充当中心。测试与中心联系以获得对浏览器实例的访问。该中心有一个服务器列表, 这些服务器提供对浏览器实例(WebDriver节点)的访问, 并允许测试使用这些实例。 Selenium Grid允许在多台计算机上并行运行测试, 并可以集中管理不同的浏览器版本和浏览器配置(而不是在每个单独的测试中)。
在远程浏览器实例上运行测试的功能对于将测试负载分散到多台计算机上以及在运行于不同平台或操作系统上的浏览器中运行测试很有用。后者在并非所有用于测试的浏览器都可以在同一平台上运行的情况下特别有用。
注意怪胎!巩固你的基础Python编程基础课程和学习基础知识。
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。