Selenium工具套件

Selenium工具套件

Selenium不仅仅是一个工具,而是一套软件,每个软件都有不同的方法来支持自动化测试。 它由四个主要组成部分组成,包括:

  • Selenium集成开发环境(IDE)
  • Selenium远程控制器(现已弃用)
  • webdriver
  • Selenium Grid

1. Selenium集成开发环境(IDE)

Selenium IDE实现为Firefox扩展,在测试脚本上提供记录和回放功能。 它允许测试人员以HTML,Java,Ruby,RSpec,Python, C# ,JUnit和TestNG等多种语言导出录制的脚本。 可以在Selenium RC或Webdriver中使用这些导出的脚本。

Selenium IDE的范围有限,生成的测试脚本不是非常健壮和可移植。

2. Selenium远程控制器

Selenium RC(由selenium正式弃用)允许测试人员使用任何支持的编程语言编写自动化Web应用程序UI测试。 它还涉及一个HTTP代理服务器,它使浏览器能够相信正在测试的Web应用程序来自代理服务器提供的域。

Selenium RC有两个组件。

  • Selenium RC Server(充当Web请求的HTTP代理)。
  • Selenium RC Client(包含编程语言代码的库)。

下图给出了Selenium RC的架构表示。

Selenium RC在连续集成系统下测试复杂的基于AJAX的Web用户界面非常有效。

3. Selenium WebDriver

Selenium WebDriver(Selenium 2)是Selenium RC的继承者,也是Selenium Suite最重要的组件。 SeleniumWebDriver提供了一个编程接口来创建和执行测试用例。 编写测试脚本是为了识别网页上的Web元素,然后对这些元素执行所需的操作。

与Selenium RC相比,Selenium WebDriver执行速度更快,因为它可以直接调用Web浏览器。 另一方面,RC需要RC服务器与Web浏览器进行交互。

因为,WebDriver直接调用不同浏览器的方法,因此每个浏览器都有单独的驱动程序。 一些最广泛使用的Web驱动程序包括:

  • Mozilla Firefox驱动程序(Gecko驱动程序)
  • 谷歌Chrome驱动程序
  • Internet Explorer驱动程序
  • Opera驱动程序
  • Safari驱动程序
  • HTML单元驱动程序(一个特殊的无头驱动程序)

注意:Selenium版本2将Selenium RC和Selenium WebDriver的最佳功能合并到Selenium WebDriver中,最新发布的Selenium 3具有新增功能和功能。

4. Selenium Grid

Selenium Grid也是Selenium Suite的一个重要组件,它允许在不同的机器上并行运行不同浏览器的测试。 简单来说,可以在运行不同浏览器和操作系统的不同机器上同时运行测试。

Selenium Grid遵循Hub-Node架构来实现测试脚本的并行执行。Hub被视为网络的主设备,另一个将是节点。 Hub控制在网络的各个节点上执行测试脚本。