Selenium 是一个 Web 应用的自动化框架。主要应用于 Web 应用程序的自动化测试。

通过它,测试工程师可以写出自动化程序,模拟人在浏览器里操作 Web 界面。 比如点击界面按钮,在文本框中输入文字等操作。

除此以外,它还支持所有基于 Web 的管理任务自动化。

Selenium 的特点

  1. 开源免费:基于这点,能够吸引大部分公司愿意使用它来作为自动化测试的框架
  2. 多浏览器支持:支持 Chrome、Firefox、IE、Edge、Safari 等浏览器
  3. 多平台支持:支持 Linux、Windows、Mac 系统平台
  4. 多语言支持:支持 Java、Python、Ruby、JavaScript、C++ 等开发语言
  5. 对 Web 页面有良好的支持
  6. 简单、灵活:使用时调用的 API 简单,只需要使用开发语言导入调用即可
  7. 支持分布式测试:使用 Selenium Grid
  8. 支持录制、回放与脚本生成:使用 Selenium IDE

Selenium 的历史版本

Selenium 经历了3个版本,Selenium 1.XSelenium 2.X 以及目前的 Selenium 3.X

其中 Selenium 1.X 与 Selenium 2.X 最大的区别在于 WebDriver。 WebDriver 曾经是 Selenium 的竞争对手,能弥补 Selenium 1.X 存在的不足。

而 Selenium 2.X 则是 Selenium 与 WebDriver 两个项目的合并,也就是说,Selenium 2.X = Selenium 1.XWebDriver

直到现在,使用最为广泛的是 Selenium 3.X,它最大的变化在于:

  1. 去掉了 Selenium RC
  2. Firefox 浏览器拥有了独立的驱动——geckodriver
  3. Edge 浏览器与 Safari 浏览器原生驱动的支持

Selenium 的工作原理

pythonselenium框架实战 selenium框架介绍_pythonselenium框架实战

从上图可以看出:

自动化脚本需要调用客户端库,在 Python 环境中安装 Selenium 库 非常简单,使用 pip install selenium 即可。

脚本程序的自动化请求,都是通过客户端库里的 API 发送给浏览器驱动 -- WebDriver。再由 WebDriver 来实际执行浏览器的操作。

比如,模拟用户点击界面按钮, 自动化脚本作为客户端,调用客户端库内 click() 的方法,将 点击元素的请求给到指定的浏览器驱动 WebDriver, 再由 WebDriver 将这个请求转发给浏览器。

总结

pythonselenium框架实战 selenium框架介绍_自动化_02