什么是Selenium WebDriver?
Selenium WebDriver是一个允许自动化测试的框架。它允许跨不同浏览器进行测试。它可以在多个操作系统上的多个浏览器上执行多个测试。WebDriver使得在Linux上编写测试脚本并在Windows上运行成为可能。WebDriver支持多种编程语言,例如Java、Python、Ruby、.Net、PHP来创建测试脚本。
Selenium WebDriver源于——
在Selenium2中,考虑了WebDriver的集成,该集成旨在解决Selenium RC的一些局限性。
Selenium引入了以下新特性——
它可以测试动态网站,其中页面的内容会因鼠标点击而改变。
通过WebDriver,移动自动化也是可行的。
WebDriver的另一个优势是它可以在HTMLUnit浏览器上使用(HTMLUnit浏览器是无头浏览器,这意味着它们对用户不可见,简单来说,它们没有GUI),因此在HTMLUnit浏览器上进行测试速度更快,因为这些浏览器节省了加载页面元素所需的时间。这导致测试用例的执行时间更短。
浏览器厂商将提供他们自己的WebDriver实现,因此与浏览器紧密耦合,从而提供更好的测试体验。现代浏览器,如Edge、Safari,都引入了其厂商提供的WebDriver。
让我们看看Selenium WebDriver是如何工作的——
WebDriver使用每个浏览器的原生自动化支持直接调用浏览器。它为此通信使用浏览器驱动程序。
WebDriver为文档对象模型 (DOM) 交互和浏览器控制贡献了其面向对象的API。
当执行任何自动化脚本时,对于每个Selenium命令,都会创建一个HTTP请求并将其发送到浏览器的驱动程序。浏览器驱动程序使用HTTP服务器来获取HTTP请求。此HTTP服务器确定实现Selenium命令所需的步骤。在浏览器上运行的执行状态将发送回HTTP服务器,HTTP服务器将状态发送回自动化脚本。