【51CTO.com快译】Selenium是用于Web应用程序测试的最广泛的自动化框架之一。它可以通过自动执行浏览器测试,以简化我们花费在质量检查上的人工测试工作。Selenium WebDriver是Selenium套件中的一个关键组件。本文将和您讨论什么是Selenium WebDriver、它的架构组成、如何搭建自动化测试、以及一个简单示例。
什么是Selenium?
作为一个开源的自动化测试框架,Selenium可以在不同的浏览器和平台上执行应用测试。其主要特征包括:
Selenium支持包括:Java、Python、C#、JavaScript、Ruby、PHP和Perl在内的多种编程语言。
Selenium测试可以在诸如:Firefox、Chrome、Internet Explorer、Safari、以及Opera等多种浏览器上执行。
Selenium与平台无关,也就是说,如果您在Windows系统上编写的Selenium测试,完全可以被轻松地执行在Linux或macOS上。
Selenium具有广泛的社区,可以随时获得各种技术支持。
并行测试是Selenium的主要功能之一。
Selenium的组成
如前所述,由于Selenium是一个框架,而不是单个软件,因此它是由不同组件所组成的套件。如下图所示,Selenium套件具有四个主要部分:
Selenium IDE
Selenium IDE(集成开发环境)是一种简单易学的框架。它可以作为Mozilla Firefox和Google Chrome的浏览器插件。您无需具备任何编程语言方面的经验,即可使用该IDE。通过它提供的记录和回放方法,您可以记录测试的步骤,并导入自己的首选编程语言,进而使用Selenium WebDriver来开展各项测试。因此,为了创建测试原型,您可以从Selenium官方网站-- https://www.selenium.dev/selenium-ide/,下载Selenium IDE。
Selenium RC
Selenium RC是一种服务器,它让用户能够用任何被支持的语言,来创建测试脚本。与Selenium IDE不同,它没有记录和回放功能,但支持并行和远程的方式被执行。作为Selenium1.0,它自身的诸多限制与缺陷,直接催生了Selenium WebDriver。
Selenium WebDriver
Selenium WebDriver克服了Selenium RC的局限性。与Selenium RC不同的是,Selenium WebDriver不需要依赖JavaScript,即可通过直接通信来控制浏览器。与IDE和RC相比,它具有更快的执行时间,有时也被称为Selenium 2.0。鉴于其强大的功能,Selenium WebDriver被广泛地使用在创建自动测试用例的场景中。
Selenium Grid
通过与Selenium RC的配合使用,Selenium Grid能够方便用户在不同的浏览器和计算机上执行并行测试。也就是说,用户可以在多个环境中同时运行并行测试,进而节省了大量的时间。Selenium Grid启用了集线器节点的概念,实现了每个节点都能够从位于中心处的集线器上接收命令。
Selenium WebDriver与Selenium RC不同之处
Selenium WebDriver和Selenium RC之间的区别主要体现在如下方面:
架构上的差异
与Selenium RC相比,Selenium WebDriver的架构更简单。WebDriver通过操作系统来控制浏览器。也就是说,在使用WebDriver时,您只需要将编程语言与浏览器的驱动程序绑定即可。而Selenium RC则要求在运行测试之前,先运行Selenium的远程控制服务器。
Selenium RC实际上充当的是S