Selenium WebDriver教程介绍

本文概述

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

下图将使你对Selenium组件和测试自动化工具有一个清晰的了解。

Selenium WebDriver

Selenium WebDriver最初作为Selenium v​​2.0的一部分引入。 Selenium的初始版本, 即Selenium v​​1, 仅由IDE, RC和Grid组成。但是, 随着Selenium v​​3的发布, 不建议使用RC, 而将其迁移到旧版软件包中。

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

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

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

C#教程:https://www.srcmini02.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的体系结构表示。

Selenium WebDriver架构

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

  • Selenium语言绑定
  • JSON Wire通讯协定
  • 浏览器驱动程序
  • 真正的浏览器

Selenium语言绑定/ Selenium客户库

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

JSON Wire通讯协定

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

JSON Wire Protocol提供了一种传输机制, 可以在服务器和客户端之间传输数据。 JSON Wire Protocol充当各种REST Web服务的行业标准。要了解有关Web服务的更多信息, 请访问https://www.srcmini02.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。
Selenium WebDriver功能
  • 多种语言支持:WebDriver还支持大多数常用的编程语言, 例如Java, C#, JavaScript, PHP, Ruby, Pearl和Python。因此, 用户可以根据自己的能力选择一种受支持的编程语言, 然后开始构建测试脚本。
  • 速度:与Selenium Suite的其他工具相比, WebDriver的执行速度更快。与RC不同, 它不需要任何中间服务器即可与浏览器进行通信。而是该工具直接与浏览器通信。
Selenium WebDriver功能
  • 简单命令:Selenium WebDriver中使用的大多数命令都易于实现。例如, 要在WebDriver中启动浏览器, 可以使用以下命令:
    WebDriver驱动程序=新的FirefoxDriver(); (Firefox浏览器)
    WebDriver驱动程序=新的C​​hromeDriver(); (Chrome浏览器)
    WebDriver驱动程序=新的InternetExplorerDriver(); (Internet Explorer浏览器)
  • WebDriver-方法和类:WebDriver提供了多种解决方案来应对自动化测试中的一些潜在挑战。
    WebDriver还允许测试人员通过动态查找器处理复杂类型的Web元素, 例如复选框, 下拉列表和警报。
Selenium WebDriver功能

Selenium WebDriver教程索引


Selenium WebDriver教程

  • Selenium WebDriver教程
  • WebDriver与RC
  • WebDriver安装
  • WebDriver第一个测试用例
  • WebDriver命令
  • 在Chrome上运行测试
  • 在Firefox上运行测试
  • 在IE上执行测试
  • 在Safari上运行测试
  • 定位策略
  • 按ID定位策略
  • 按名称查找策略
  • 按类别名称查找策略
  • 按标签名称查找策略
  • 通过链接文本查找策略
  • 通过部分链接文本查找策略
  • 通过CSS定位策略
  • 通过XPath定位策略
  • 处理下拉菜单
  • WebDriver拖放
  • WebDriver处理警报
  • 滚动网页
  • WebDriver-浏览器命令
  • WebDriver-导航命令
  • WebDriver-WebElement命令
  • 处理单选按钮
  • 处理复选框
  • Selenium断言
  • Selenium网格

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?