📜  Selenium WebDriver教程

📅  最后修改于: 2020-11-06 02:05:17             🧑  作者: Mango

Selenium WebDriver

Selenium WebDriver是Selenium工具套件中最重要的组件。最新版本“ Selenium 2.0”与WebDriver API集成在一起,该API提供了更简单,更简洁的编程界面。

下图将使您对Selenium组件和“测试自动化工具”有所了解。

Selenium WebDriver最初作为Selenium v2.0的一部分引入。 Selenium的初始版本(即Selenium v1)仅由IDE,RC和Grid组成。但是,随着Selenium v3的发布,不推荐使用RC,而将其迁移到旧版软件包中。

在WebDriver中,可以使用任何受支持的编程语言来开发测试脚本,并且可以在大多数现代Web浏览器中直接运行它们。 WebDriver支持的语言包括C#,Java,Perl,PHP, Python和Ruby。

在学习Selenium WebDriver的概念之前,您应该熟悉任何一种受支持的编程语言。当前,Selenium Web驱动程序在Java和C#中最受欢迎。在本教程中,我们将Selenium与Java结合使用。您可以参考下面给出的链接,以学习Java和C#的基础知识和高级概念:

Java教程:https://www.javatpoint.com/java-tutorial

C#教程:https://www.javatpoint.com/c-sharp-tutorial

与Selenium RC相比,Selenium WebDriver的执行速度要快得多,因为它可以直接调用Web浏览器。另一方面,RC需要RC服务器与浏览器进行交互。

WebDriver具有Firefox驱动程序(Gecko驱动程序)的内置实现。对于其他浏览器,您需要插入其浏览器特定的驱动程序以进行通信并运行测试。最常用的WebDriver包括:

  • Google Chrome浏览器驱动程序
  • Internet Explorer驱动程序
  • 歌剧驱动程序
  • Safari驱动程序
  • HTML单元驱动程序(特殊的无头驱动程序)

Selenium WebDriver-体系结构

Selenium WebDriver API提供了语言和浏览器之间的通信工具。

下图显示了Selenium WebDriver的体系结构表示。

WebDriver体系结构有四个基本组件:

  • selenium语言绑定
  • JSON有线协议
  • 浏览器驱动程序
  • 真正的浏览器

Selenium语言绑定/ Selenium客户库

Selenium开发人员已构建语言绑定/ Selenium Client Libraries,以支持多种语言。例如,如果要在Java中使用浏览器驱动程序,请使用Java绑定。可以从Selenium的官方网站(https://www.seleniumhq.org/download/#client-drivers)下载所有受支持的语言绑定。

JSON有线协议

JSON(JavaScript对象表示法)是用于在网络上交换数据的开放标准。它支持对象和数组之类的数据结构。因此,很容易从JSON写入和读取数据。要了解有关JSON的更多信息,请访问https://www.javatpoint.com/json-tutorial

JSON Wire Protocol提供了一种在服务器与客户端之间传输数据的传输机制。 JSON Wire Protocol充当各种REST Web服务的行业标准。要了解有关Web服务的更多信息,请访问https://www.javatpoint.com/web-services-tutorial

浏览器驱动程序

Selenium使用特定于每个浏览器的驱动程序,以便与浏览器建立安全连接,而不会透露浏览器功能的内部逻辑。浏览器驱动程序还特定于用于自动化的语言,例如Java,C#等。

当我们使用WebDriver执行测试脚本时,将在内部执行以下操作。

  • 对于每个Selenium命令,都会生成HTTP请求并将其发送到浏览器驱动程序。
  • 驱动程序通过HTTP服务器接收HTTP请求。
  • HTTP Server决定所有步骤以执行在浏览器上执行的指令。
  • 执行状态发送回HTTP Server,随后又发送回自动化脚本。

浏览器

Selenium WebDriver支持的浏览器:

  • IE浏览器
  • 火狐浏览器
  • 谷歌浏览器
  • 苹果浏览器

Selenium WebDriver-功能

Selenium WebDriver的一些最重要的功能是:

  • 多种浏览器支持:Selenium WebDriver支持多种网络浏览器,例如Firefox,Chrome,Internet Explorer,Opera等。它还支持某些非常规或罕见的浏览器,例如HTMLUnit。

  • 多种语言支持:WebDriver还支持大多数常用的编程语言,例如Java,C#,JavaScript,PHP,Ruby,Pearl和Python。因此,用户可以根据自己的能力选择一种受支持的编程语言,然后开始构建测试脚本。
  • 速度:与Selenium Suite的其他工具相比,WebDriver的执行速度更快。与RC不同,它不需要任何中间服务器即可与浏览器进行通信。而是该工具直接与浏览器通信。

  • 简单命令:Selenium WebDriver中使用的大多数命令都易于实现。例如,要在WebDriver中启动浏览器,可以使用以下命令: WebDriver driver = new FirefoxDriver(); (Firefox浏览器) WebDriver驱动程序=新的ChromeDriver(); (Chrome浏览器) WebDriver驱动程序=新的InternetExplorerDriver(); (Internet Explorer浏览器)
  • WebDriver-方法和类:WebDriver提供了多种解决方案来应对自动化测试中的一些潜在挑战。 WebDriver还允许测试人员通过动态查找器处理复杂类型的Web元素,例如复选框,下拉列表和警报。

Selenium WebDriver教程索引