讲述 Selenium WebDriver 原理之前,我们先来看下 w3c WebDriver 协议,这里以 ChromeDriver 为例。

WebDriver

术语解释:

  • W3C WebDriver 是一个浏览器协议,又称 WebDriver 协议 / WebDriver 规范 / WebDriver API
  • Driver 是 WebDriver API 的特定实现,比如 Chrome 浏览器的 ChromeDriver。
  • ChromeDriver 是一个可以独立运行的服务器程序,它实现了 WebDriver 协议。
  • Selenium WebDriver 是一个基于 WebDriver 协议的 Web 自动化框架。

启动 ChromeDriver

在命令行窗口执行以下命令启动 ChromeDriver。

# 为了方便,建议先切换到 exe 文件所在目录
chromedriver_80.exe -port=12345

ChromeDriver 启动成功后,将得到一个服务器访问地址 http://localhost:12345。打开任务管理器,我们可以看到 chromedriver_80.exe 进程。

访问 ChromeDriver

1、调用 New Session 接口,创建一个 Session,返回 sessionId=be92a2485bcdb5ca0d3bc44bd0b00a8d。与此同时将打开一个 Chrome 浏览器窗口。

endpoint\_webdriver=http://localhost:12345

思考题:如果再次调用该接口会发生什么呢?

2、调用 Navigate To 接口,访问百度网站,等价于 Java 客户端的 driver.get("https://www.baidu.com")

执行结果:

其他接口类似,不再一一举例。这些步骤是不是和使用 Java/Python 编写测试步骤时似曾相识?总结起来就是两步:

  • 第一步:通过 WebDriver 驱动启动一个服务端(每个驱动操作与之对应的浏览器,如 Chrome 驱动操作 Chrome 浏览器)。
  • 第二步:客户端调用服务端 HTTP 接口,服务端收到请求后解析请求,执行对应的浏览器操作。

浏览器驱动大部分是各浏览器厂商根据 WebDriver 规范实现的,所以 Selenium 不再需要直接操作浏览器,而是通过 HTTP 接口向驱动发出符合 WebDriver 规范的指令。

Selenium WebDriver

了解了 WebDriver 协议后,我们回过头来看 Selenium WebDriver 的工作原理就简单很多了。

selenium原理相关推荐

  1. selenium + python自动化测试unittest框架学习(一)selenium原理及应用

    unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻. ...

  2. 新鲜角度看问题:从Python角度解析Selenium原理

    Selenium工作流程 Selenium工作原理 客户端和服务端之间实际是通过http协议进行通信,服务端的接口文档可参考: https://github.com/SeleniumHQ/seleni ...

  3. 2、selenium原理和启动浏览器(Chromoption类)

    戳:web自动化环境安装(selenium安装.卸载和Chromedriver下载.安装) selenium原理和启动浏览器 一. selenium 1.selenium简介 2.selenium原理 ...

  4. Selenium原理以及Python从零实现

    Selenium简介 Selenium是一个用于Web应用程序自动化测试工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11), ...

  5. Selenium原理及安装教程

    Selenium原理及安装教程 selenium原理 Selenium分为三大块: 我们编写的自动化程序:发送请求给浏览器驱动 浏览器驱动:解析来自自动化程序的代码并发送给浏览器 浏览器:执行程序的指 ...

  6. selenium原理以及要掌握的方法

    @[selenium原理以及要掌握的方法 1.selenium概述 Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样(模拟人手工操 ...

  7. selenium原理python_selenium + python自动化测试unittest框架学习(一)selenium原理及应用...

    unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻. ...

  8. Selenium原理及元素定位方法(JAVA)

    Selenium原理 1.Selenium 1.0(Selenium RC): 早期的Selenium使用的是Javascript注入技术与浏览器打交道,需要Selenium RC启动一个Server ...

  9. selenium原理python_从python角度解析selenium原理

    1.selenium工作流程 2.selenium工作原理(1)客户端和服务端之间实际是通过http协议进行通信,服务端的接口文档可参考: https://github.com/SeleniumHQ/ ...

  10. Selenium原理探秘

    Selenium是ThoughtWorks公司研发的一个强大的基于浏览器的开源自动化测试工具,它通常用来编写web应用的自动化测试.早期也即Selenium1.x时期主要使用Selenium RC(S ...

最新文章

  1. 扩增子分析解读1质控,实验设计,双端序列合并
  2. emoji mysql 转 unicode_unicode和emoji编码
  3. 【RPC服务器不可用】解决方法
  4. onenote快捷键_onenote链接系列:4种链接笔记的地址
  5. 蓝桥杯 算法训练试题 数据交换 Java
  6. [剑指offer]面试题1:赋值运算符函数
  7. vue-cli的webpack模版,相关配置文件dev-server.js与webpack.config.js配置解析
  8. 计算机视觉论文-2021-07-09
  9. Google Cloud
  10. Zabbix之Python发送邮件
  11. 关于未来交通,这些大咖在未来论坛上的讨论火花四溅
  12. 解决nginx访问php文件变成下载
  13. 免费网络管理软件大全
  14. 阿尔法平台C语言编程题答案
  15. 51单片机学习 光敏电阻传感器实验
  16. 设置eMMC和DDR的工作频率
  17. 软件项目确立的几个步骤
  18. python bmp转jpg_python将bmp转换为jpg格式并删除原图的具体操作
  19. Android App集成支付宝
  20. 芯准TSN系统的测试与验证(1)——测试环境配置

热门文章

  1. 【2022年战略管理公开课计划】向华为学习 业务领先的战略规划SP(BLM)和战略解码BP(BEM)
  2. 基于51单片机中文汉字LCD12864滚动显示屏仿真(源码+仿真+全套资料)
  3. sublime3dsmax - Sublime Text Send To 3ds Max 解决中文路径问题
  4. usb, micro-usb card 损坏, 数据恢复
  5. bp神经网络模型拓扑结构,bp神经网络模型结构图
  6. Linux下更新BIOS的方法
  7. Qt5调用VBS脚本
  8. i40e驱动安装方法
  9. SQL Server 2008 R2 安装及登录
  10. npm安装项目所有依赖包