自动化功能测试领域, Selenium 是最知名的自动化测试框架之一,具备丰富的测试功能,可以直接驱动浏览器来模拟用户对 Web 应用的操作(例如,打开浏览器、获取网页内容、单击网页中控件等),从而满足不同类型网站的测试需求。
Selenium 由 Selenium IDE 、 Selenium - Grid 和 Selenium WebDriver 组成。
Selenium IDE 是一个用于创建测试脚本的工具,它能够记录用户的操作,并把它们导出到一个可重用的脚本中用于重复执行。 Selenium IDE 一般以插件的形式发布在 Chrome 和 FireFox 等浏览器中。
Selenium - Grid 是一种自动化测试辅助工具,它通过使用多台机器并行地运行测试来加速测试的执行过程。也就是说, Selenium - Grid 可以支持多执行环境(涉及不同的主机或者不同的浏览器)下的测试执行。
Selenium WebDriver 是 Selenium 的核心工具,提供了一套编程框架用于创建和执行测试用例。 WebDriver 针对各个浏览器进行开发,取代了嵌人到被测 Web 应用中的 JavaScript ,即每个浏览器都有单独的驱动程序,可以直接调用浏览器和本地方法,这种与浏览器紧密集成的方式避免了浏览器对 JavaScript 的安全限制。 WebDriver 还可以通过调用操作系统的本地方法与浏览器进行交互,例如,调用操作系统的本地方法模拟用户在界面上的数据输人操作。
同时, WebDriver 能够支持大多数常用的编程语言,包括Java、C#、JavaScript、PHP、Ruby、Pearl等,支持通过这些语言创建的测试脚本实现与浏览器的交互和数据传输。
基于 WebDriver 的测试脚本体现为面对 Web 应用的操作序列,序列由一组对界面控件元素的基本操作所构成。因此,为了编写基于 WebDriver 的测试脚本,最关键的是要正确地定位到 Web 应用界面上的控件元素,随后就可以使用 WebDriver 提供的 API 来操控这些控件元素。