UI自动化——selenium原理解析

一、经典面试题

做 web 测试用过 Selenium 吗?说一下 Selenium 的工作原理。

考察点分析

面试官主要目的:

  • 了解是否使用过 selenium 进行 web 自动化测试
  • 为什么 Selenium 支持多浏览器
  • 是否了解 Selenium 工作原理

二、解题思路

技术点

  • selenium 有哪几部分组成
  • 源码角度分析 selenium 工作原理
  • 使用了 WebDriver Wire Protocol 协议

selenium介绍

  • WebDriver:用于操作浏览器
  • Selenium IDE:用来录制回放测试用例的工具
  • Selenium Grid:用于分布式并发执行测试用例

selenium自动化测试

  • selenium用于web程序 UI自动化测试
  • selenium可以跨平台(windows/linux/mac)
  • selenium支持所有主流浏览器,包括:chrome、Firefox、IE、Edge、opera和Safari

selenium为什么能够支持多种浏览器

  • selenium WebDriver是典型的server-client模式
  • 浏览器厂商也提供了驱动浏览器操作的中间件(WebDriver),通过这个中间件可以直接驱动浏览器进行各种操作

selenium工作原理

selenium原理是:selenium之所以能够支持多种浏览器,是因为各大浏览器厂商会提供不同版本的驱动程序,来驱动浏览器模拟各种操作。selenium在给中间件发送请求时会遵循一个特定的(WebDriver Wire Protocol)协议进行通讯。