Selenium不仅是一个工具, 而且是一套软件, 每种软件都有不同的方法来支持自动化测试。它由四个主要部分组成, 其中包括:
- Selenium综合开发环境(IDE)
- Selenium遥控器(现已弃用)
- 网络驱动器
- Selenium网格
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代理服务器, 该HTTP代理服务器使浏览器能够相信所测试的Web应用程序来自代理服务器提供的域。
SeleniumRC包含两个组件。
- 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驱动程序)
- Google Chrome浏览器驱动程序
- Internet Explorer驱动程序
- 歌剧驱动程序
- Safari驱动程序
- HTML单元驱动程序(特殊的无头驱动程序)
注意:Selenium版本2将Selenium RC和Selenium WebDriver的最佳功能合并到Selenium WebDriver中。最新版本的Selenium 3具有新增的功能和功能
4.Selenium网格
Selenium Grid还是Selenium Suite的重要组成部分, 它使我们可以在不同的计算机上并行针对不同的浏览器运行测试。简而言之, 我们可以在运行不同浏览器和操作系统的不同机器上同时运行测试。
Selenium Grid遵循集线器节点架构, 以并行执行测试脚本。集线器被认为是网络的主节点, 另一个将是节点。集线器控制网络上各个节点上测试脚本的执行。