Selenium WebDriver教程介绍

本文概述

  • Selenium WebDriver-体系结构
  • Selenium WebDriver-功能
  • Selenium WebDriver教程索引
Selenium WebDriver是Selenium工具套件中最重要的组件。最新版本” Selenium 2.0″ 已与WebDriver API集成在一起, 从而提供了更简单, 更简洁的编程界面。
【Selenium WebDriver教程介绍】下图将使你对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.srcmini.com/java-tutorial
C#教程:https://www.srcmini.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.srcmini.com/json-tutorial
JSON Wire Protocol提供了一种传输机制, 可以在服务器和客户端之间传输数据。 JSON Wire Protocol充当各种REST Web服务的行业标准。要了解有关Web服务的更多信息, 请访问https://www.srcmini.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网格

    推荐阅读