本人博客文章网址:https://www.peretang.com/basic-knowledge-of-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需要有真实的浏览器存在
参考