Selenium WebDriver简介

概述

Selenium的最大变化是包含了WebDriver API。使用Selenium服务器本地或在远程计算机上以用户身份本地驱动浏览器,标志着浏览器自动化方面的飞跃。

Selenium WebDriver与RC的作用相同,并且包含了原始的1.x绑定。它指的是语言绑定和各个浏览器控制代码的实现。这通常被称为WebDriver 或有时被称为Selenium 2

Selenium 1.0 + WebDriver = Selenium 2.0

  • WebDriver采用更简单,更简洁的编程接口设计,同时解决了Selenium-RC API中的一些限制。
  • 与Selenium 1.0相比,WebDriver是一个紧凑的面向对象的API。
  • 它更有效地驱动浏览器并克服了影响我们功能测试覆盖范围的Selenium 1的局限性,例如文件上载或下载,弹出窗口和对话框障碍。
  • WebDriver克服了Selenium RC的 单主机起源策略的限制。

如下图所示,Selenium组件和测试自动化工具的一些组件关系,让您有一个全面的了解。

https://www.yiibai.com/uploads/images/2018/10/22/163641_66048.png

 

 

Selenium WebDriver组成

使用WebDriver构建测试套件需要您理解并有效地使用许多不同的组件。

​​​​​​​WebDriver 术语

  • API:应用程序编程接口。这是用于操作WebDriver的一组“命令”。
  • Library:包含API和实现它们所需的代码模块。Library跟特定的种语言绑定,例如Java的.jar文件,.NET的.dll文件等。
  • Driver:负责控制实际的浏览器。大多数驱动程序由浏览器供应商自己创建的。驱动程序通常是使浏览器本身在系统上运行的可执行模块,而不是在执行测试套件的系统上运行。(尽管这些可能是相同的系统。)注意:有些人将驱动程序称为代理。
  • Framework(框架):用作WebDriver套件支持的附加库。这些框架可能是测试框架,如JUnit或NUnit。它们也可能是支持自然语言功能的框架,如Cucumber或Robotium。框架也可以编写并用于操作或者安装被测系统,数据预制,测试数据库等等。

WebDriver各部件作用及分部

直接通信:

            WebDriver至少可以通过驱动程序与浏览器进行通信。通信是两种方式:WebDriver通过驱动程序将命令传递给浏览器,并通过相同的路径返回信息。 
https://seleniumhq.github.io/docs/images/basic_comms.png

 

这种驱动程序与浏览器有特定的对应关系:例如适用于Google Chrome / Chromium的ChromeDriver,适用于Mozilla Firefox的GeckoDriver等。驱动程序与浏览器运行在同一系统上。这可能是,也可能不是,测试本身正在执行的系统。

 

远程通信:

     RemoteWebDriver在与驱动程序和浏览器相同的系统上运行。 


https://seleniumhq.github.io/docs/images/remote_comms.png

            远程通信也可以使用Selenium Server或Selenium Grid进行,两者都与主机系统上的驱动程序通信 
https://seleniumhq.github.io/docs/images/remote_comms_server.png

 

​​​​​​​Framework框架的位置

WebDriver只做一件事情:通过上述任何方法与浏览器进行通信。WebDriver和测试信息没有关系:它不知道如何比较事物,断言传递或失败,亦不知道关于报告或Given/When/Then语法的事情。

测试用例信息是各种框架发挥作用的地方。首先需要一个语言绑定相匹配的测试框架,例如NUnit for .NET,JUnit for Java,RSpec for Ruby等。

测试框架负责运行和执行WebDriver以及测试中的相关步骤。因此,您可以将其视为类似于以下图像。 

像Cucumber之类的自然语言框架/工具可以作为下图中的测试框架框的一部分存在,或者它们可以将测试框架完全包装在它们自己的实现中

https://seleniumhq.github.io/docs/images/test_framework.png

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值