Selenium基础知识

basic-knowledge-of-selenium

Selenium基础知识


什么是Selenium

  Selenium是一个自动化测试工具

  是一组不同的工具

  其支持在多个浏览器平台上执行测试

  

为什么需要Selenium

  1. 使原本手动的测试变成自动化

  2. 更容易完成频繁的回归测试

  3. 更快速的反馈给开发人员与测试人员

  4. 几乎无限次迭代的测试执行

  5. 更有纪律的测试用例

  6. 自动生成缺陷报告

  7. 补充手动测试的遗漏

 

Selenium组件介绍

Selenium RC

  以前最主要的项目, 目前已被弃用不再更新

  其原理为使用一个RemoteControlServer作代理, 由其去操控真正的浏览器

Selenium WebDriver

  由Selenium Rc与WebDriver的结合, 包括一个面向对象的API, 支持WebDriver API, 可使用其API直接调用浏览器上的API获取结果及对浏览器底层操作, 并可最大灵活的移植测试, 并可向Selenium RC兼容

  WebDriver是一个用来进行复杂重复的Web自动化测试工具, 本是Selenium的竞争对手, 本意为提供更容易使用与更容易维护的API

Selenium IDE

  用于构建测试脚本的设计工具, 其是一个FireFox浏览器的插件, 提供了一个易用的界面来开发自动化测试用例, 并拥有记录的功能, 可记录下用户的操作步骤, 并将其转化导出为不同编程语言的测试脚本

Selenium Grid

  允许并行地运行测试, 即不同的测试可以在不同的远程机器上同是执行, 由于其使用了并行, 所以大大改进了执行测试所需的时间

 

SeleniumRC与SeleniumWebDriver

Selenium RC的缺点

  不能处理键盘和鼠标事件

  不能处理同源策略XSS/HTTP(S)

  不能处理弹出框, 对话框, 基本身份验证, 自签名证书, 文件上传/下载

Selenium WebDriver的缺点

  不支持并行, 但是可以使用Selenium Grid解决这个问题

  对浏览器的支持不全

  对不同浏览器的操作API不一致

两者的不同点

  SeleniumWebDriver需要有API和浏览器的支持, SeleniumRC有统一的API, 但需要额外的代理操作服务器

  SeleniumWebDriver可以通过HTMLunitDriver来模拟浏览器, 实现快速测试, SeleniumRC需要有真实的浏览器存在

 

参考

  SeleniumHQ

发表评论