selenium的webDriver工作原理

Posted 永远不要矫情

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium的webDriver工作原理相关的知识,希望对你有一定的参考价值。

1.背景

我们使用打车例子,来理解webDriver的工作原理。当我们打车时,有三个角色:

  1. 乘客:告诉司机去哪里,大概怎么走
  2. 出租车司机:按照乘客的要求来操控出租车
  3. 出租车:按照司机的操控来完成真正的行驶,把乘客送到目的地
    在这里插入图片描述

webDriver的工作原理也类似:

  1. 工程师编写的测试代码:自动化测试代码发送请求给浏览器的驱动
  2. 浏览器的驱动:解析代码后发送给浏览器
  3. 浏览器:执行浏览器驱动发送来的指令,并最终完成工程师想要的操作。

2.webDriver和浏览器的通信过程

通信过程如下:

  1. 对于每一条Selenium脚本,一个http请求会被创建并发送给浏览器的驱动
  2. 浏览器驱动中包含了一个http server,用于接收这些http请求
  3. http server接收到这些请求后根据请求来具体操控对应的浏览器
  4. 浏览器执行具体的测试步骤
  5. 浏览器将步骤执行结果返回给http server
  6. http server又将结果返回给selenium的脚本,如果是错误的http代码就会打印在控制台
    在这里插入图片描述

3.webDriver的协议

当前有一个问题:驱动只有一个,但我们客户端的语言却有很多中,比如Java,python,为什么同一个驱动既可以接收java的请求又可以接收python的呢?

答案在于webDriver使用的协议为:JSON Wire protocol,通信的数据格式是JSON。主要是在http协议之上再封装了一层公共的协议,可以轻松解析各种语言

以上是关于selenium的webDriver工作原理的主要内容,如果未能解决你的问题,请参考以下文章

曲鸟全栈UI自动化教学:Selenium工作原理及Webdriver对浏览器的配置和操作

关于selenium自动化中,Webdriver的原理以及工作流程

深入了解webdriver工作原理

selenium2工作原理

WebDriver工作原理

selenium工作的大概原理