01 Selenium简介

Selenium能做什么?

Selenium是基于HTML代码的前端网页自动化工具。能自动点击、等待、输入、获取网页元素信息、生成测试报告等功能。如果网站基于Rest协议,则无法获得网页源码。或者网页是纯JavaScript或者Flash动画,则无法定位元素,这些情况都不能使用Selenium进行自动化。

什么时候使用Selenium?

以下10点满足3点即可使用selenium。

  1. SRS明确且稳定,不会频繁变动。
  2. 自动化使用频繁,比如自动化每日构建daily测试。
  3. 回归测试工作量巨大。
  4. 软件界面稳定,变动少。
  5. 多平台同步测试。
  6. 软件维护周期长。
  7. 项目进度压力小,不赶着上线。
  8. 网站开发得较为规范。
  9. 测试平台太多。
  10. 测试人员编程能力较强。

Selenium

Selenium 1.0

Selenium 1.0 = Selenium IDE +Selenium Grid + Selenium RC

  1. Selenium IDE:
    是火狐浏览器的一个插件(从商店搜索下载),可以录制你在浏览器上的操作,自动转化成各种语言的脚本(C、Java、Python、Ruby等)。在写自动化前通常使用此工具录制,转化出来的原始脚本作为开发基线,所以这个工具非常实用,大大提高生产效率。
    01 Selenium简介
    01 Selenium简介
    2.Selenium Grid:
    一款自动化辅助工具,能方便的实现多台机器和异构环境下运行脚本。为并发提供方便。
    3.Selenium RC:
    selenium RC = Client Library+ Selenium Server
    selenium server = launcher + http Proxy + Core
    RC,即remote control,负责控制浏览器。内部有一个Javascript的核心、http组件,以及浏览器函数库。本质上说,Selenium 1.0 是通过Javascript来控制浏览器,实现自动化的。这样会带来很大问题。浏览器种类很多,每种浏览器版本也很多。光靠一个版本的Selenium RC不可能兼容这么多版本的浏览器。实际使用中出现各种兼容性问题。

Selenium 2.0

Selenium 2.0 = Selenium 1.0 + Webdriver
为了彻底解决版本兼容问题,从2.0开始采用Webdriver方式,即一个版本的浏览器对应一个驱动,selenium通过调用驱动完美地操作浏览器。为了向下兼容,依然保留RC。

Selenium 3.0

Selenium 3.0 = Selenium 2.0- RC
从3开始全面移除RC,将某些Client Library函数取消或优化,例如switch_to_frame等等。