美文网首页
WebDriver简介

WebDriver简介

作者: Domibaba | 来源:发表于2023-08-14 12:40 被阅读0次

    WebDriver简介

    WebDriver是一个支持对用户代理进行控制的远程控制接口,它提供了平台无关和语言无关的线路协议(wire protocol),作为跨进程程序远程控制web浏览器行为的方式,它提供了一组接口来发现和操作web文档中的DOM元素,以及控制用户代理(浏览器)的行为。它主要的意图是允许web的开发者可以单独在一个进程中编写自动化用户代理(浏览器)的测试,也允许使用上述方式,在浏览器内的脚本中对浏览器进行控制。

    总而言之,WebDriverW3C纳入标准,定义了对浏览器(也就是上文提到的用户代理)操作的一系列规范。W3C中的WebDriver规范是从Selenium WebDriver浏览器自动化框架中继承过来的,因为后者实在是太流行了以致于最终变成标准。

    1、WebDriver协议的通信各方组成介绍

    • 近端(local end):表示协议的客户端,通常是特定语言基于WebDriver协议提供的上层API接口。WebDriver规范并没有对这些提供API接口的库做任何的限制。

    • 远端(remote end):表示协议的服务端,WebDriver规范主要是定义远端对WebDriver协议响应的行为。

      对于远端,WebDriver规范定义了两种类型的节点,并且WebDriver的远端必须提供遵循HTTP的协议,末端节点会将HTTP协议映射到不同的命令上:

      • 中间节点(itermediary node):中间节点扮演的是代理的角色,既要实现协议定义的远端功能也要实现协议定义的近端功能。这个比较容易理解,既然是代理,那相对于客户端来说它是服务端,因此要实现协议定义的远端功能;对于真正的服务端,它只是起到中转作用,相当于客户端,因此要实现协议的客户端。中间节点可能有多个(这个很很容易理解,网络传输节点有多个),因此并不是按照远端一步一步实现的,对于一个特定的中间节点,在它和近端之间的所有节点称作该节点的下行(下游?downstream),所有处于该节点和末端节点之间的节点称作该节点的上行(upstream)。

      • 末端节点(endpoint node):表示最终的远端节点,末端节点通常是通过用户代理(例如浏览器)获相似的程序实现。

    图示参考

    2、WebDriver规范定义必须支持的能力集

    WebDriver协议规定必须要支持的能力集如下(当然不同的浏览器或Driver实现可能还支持一些扩展的能力):

    能力项 能力项命名 值类型 具体描述
    浏览器名称 browserName string 标识用户代理。
    浏览器版本 browserVersion string 标识用户代理的版本号。
    平台名称 platformName string 标识末端节点所在的操作系统名称。
    接受不安全的TLS证书 acceptInsecureCerts boolean 表明是否在会话过程中接受不可信或自签名的TLS证书。
    页面加载策略 pageLoadStrategy string 定义当前会话的页面加载策略,有三个选项:noneeagernormal
    代理配置 proxy JSON Object 定义当前会话的代理配置。
    窗口尺寸/定位 setWindowRect boolean 表明远端是否支持所有的窗口调整和定位命令。
    会话超时 timeouts JSON Object 描述给定会话操作的超时
    严格的文件互操作性 strictFileInteractability boolean 描述当前会话严格的文件互操作性。
    未处理的提示行为 unhandledPromptBehavior string 描述当前会话的用户提示处理程序,默认是dismiss and notify state

    参考链接

    1. WebDriver官方介绍链接

    相关文章

      网友评论

          本文标题:WebDriver简介

          本文链接:https://www.haomeiwen.com/subject/imqcmdtx.html