Selenium中的WebDriver是什么?


它是一个web自动化框架,允许我们在各种浏览器上执行测试。它可以在多个操作系统上的多个浏览器上执行多个测试。WebDriver使得在Linux上编写测试脚本并在Windows上运行成为可能。WebDriver支持多种编程语言,例如Java、Python、Ruby、.Net、PHP来创建测试脚本。

在Selenium2中,引入了WebDriver集成,旨在解决Selenium RC的一些限制。

  • 引入的新功能:

它可以测试动态网站,其中页面的内容会因鼠标点击而改变。

通过WebDriver,移动自动化也是可行的。

WebDriver的另一个优点是它可以在HTMLUnit浏览器上使用(HTMLUnit浏览器是无头浏览器,这意味着它们对用户是不可见的,简单来说,它们没有GUI),因此在HTMLUnit浏览器上进行测试速度更快,因为这些浏览器节省了加载页面元素所需的时间。这导致测试用例的执行时间更短。

浏览器厂商将提供他们自己的WebDriver实现,因此与浏览器紧密耦合,从而提供更好的测试体验。现代浏览器如Edge、Safari都引入了其厂商提供的WebDriver。

  • WebDriver是如何工作的:
  • WebDriver使用每个浏览器的原生自动化支持直接调用浏览器。它为此通信使用浏览器驱动程序。

    WebDriver为文档对象模型 (DOM) 交互和浏览器控制贡献了其面向对象的API。

    当执行任何自动化脚本时,对于每个Selenium命令,都会创建一个HTTP请求并发送到浏览器驱动程序。浏览器驱动程序使用HTTP服务器来获取HTTP请求。此HTTP服务器确定实现Selenium命令所需的步骤。在浏览器上运行的执行状态将发送回HTTP服务器,然后HTTP服务器将状态发送回自动化脚本。


WebDriver的用途

  • 自动化测试:

    它通过使用Selenium命令模拟用户在web应用程序上的操作来自动化web应用程序测试。它通过处理鼠标和键盘事件来模拟真实操作。WebDriver使用操作系统的原生功能直接与操作系统通信。它为此通信使用浏览器驱动程序。

  • 性能测试:

    通过使用Selenium Grid,我们可以使用Selenium来测试我们的服务器或应用程序可以处理的最大负载。简而言之,Selenium在这里可以用于负载测试、压力测试。

  • 回归测试:

    最繁琐的任务,但仍然非常重要且必要,回归测试。Selenium可以用于执行回归测试平台。由于Selenium需要最少的人工干预,它提高了回归测试的速度,并更快地执行整个测试平台。这减少了bug和错误的空间。

  • 移动测试:

    随着世界转向移动,我们可以使用Selenium来测试基于移动的应用程序。

  • 验收测试:

    在大型组织中,团队庞大,角色明确定义。需要一个工具来检查每次构建后的应用程序。此测试并不详尽,但会检查基本的应用程序功能,例如登录等等。

除了测试之外,Selenium并不局限于测试,它还可以用于:

  • 应用程序监控:

    检查应用程序是否正在运行。此活动对于理解和捕获由于某些错误而关闭的应用程序至关重要。

更新于:2019年8月7日

4K+ 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告