Seleinum工具介绍
什么是Selenium:基于web应用程序测试的工具,但并不止于此他还支持基于web的管理任务自动化
Selenium的特点:
1.开源,免费
2.多浏览的支持:FireFox,Chrome,IE,opera
3.多平台支持 Mac,Linux,windows
4.多语言支持:JAVA,Python,C#,javascript,Ruby
5.对web界面有良好的支持
6.简单(API简单),灵活(开发语言驱动)
7.支持分布式测试用例执行
Selenium 家族
Selenium IDE
他是嵌入到FireFox浏览器的一个插件实现简单的录制与回放操作,可以快速创建BUG脚本,在测试过程中发现bug可以通过 Selenium IDE将复现的步骤录制下来,可以帮助开发人员快速定位BUG。
Selenium Grid
是一种自动化测试辅助工具Grid可以通过利用现有的计算机基础设施,能加快 web app的功能测试点 Grid特点为并线执行, 通过一个主机统一控制用例在不同的环境下执行,不同的浏览器下运行,灵活添加变动机制
Selenium RC
是selenum家族的核心,Selenium支持多种不同语言编写自动化测试脚本通过Selenium Rc 的服务器作为代理服务器去访问 应用从而达到测试的目的。
Selenium RC 使用分 Client Libraries 和 Selenium Server,Client Libraries 库主要主要用于编写测试脚本,用来控制 Selenium Server 的库。Selenium Server
负责控制浏览器行为,总的来说,Selenium Server 主要包括三个部分:Launcher,Http Proxy,Core,其中Selenium Core 是被Selenium Server 嵌入到浏览器页面中的,其实Selenium Core 就是一堆JS函数的集合,就是通过这些JS桉树, 我们下可以实现程序对浏览器进行操作,Launcher用预启动浏览器,把Seleinum Core加载到浏览器页面中,并把浏览器的 代理设置为 Selenium Server的Http Proxy
Selenium2.0
Selenium2.0=Selenium1.2+WebDriver
Selenium2.0主推的就是WrbDriver,可以将它看作为Swlenium1.0中的Selenium RC替代品,Selenium2.0中为了保持向 下兼容并没有完全抛弃Selenium RC如果选择用Selenium 开发一个测试项目可以直接选用WebDriver
WebDriver和Selenium RC的区别
Selenium RC是在浏览器中运行的javascript应用,使用浏览器内置的javascript翻译器来翻译和执行selenese命令 (selenese是Selenium命令集合)
WebDriver是通过原生浏览器支持或者浏览器扩展来直接控制浏览器,WebDriver针对各个浏览器二开发,取代了嵌入到被 测试web应用程序中的javascript与浏览器紧密的集成,因此支持创建更高级的测试,避免了javascript安全模型导致的限制 WebDeiver可利用系统级的调用,模拟用户输入。
Selenium与WebDriver合并:WebDriver解决了Selenium存在的问题(例如能绕过JavaScript沙箱,有出色的API) Selenium解决了WebDriver存在的问题(例如支持广泛的浏览器)