1、Selenium 工具组件
1.1 Selenium2,也称为selenium webdriver。webdriver原来是另一个自动化测试工具,后与Selenium 合并了。webdriver直接调用浏览器本身对自动化支持的接口来驱动浏览器的操作。故名思义,它将有不同的driver来驱动不同系统上不同的浏览器。
1.2 Selenium1,也称为seleniumRC或者Remote Control。就是selenium的原本项目。RC是在浏览器启动后,使用js来驱动浏览器的操作。为什么叫RC呢?因为RC的设计是可以支持控制远程服务器上的selenium server来操作远程端的浏览器。
1.3 seleniumIDE,以插件的形式安装在firefox,用于录制。
1.4 selenium-grid,这个是对使用RC进行测试时,需要执行大量用例或分布式执行的时候,提供的框架,就是建立多个服务器的hub与node的关系而已。
简单说,selenium项目原本的工具是IDE、RC、grid。而webdriver确实功能强大,“他们”讨论讨论,就把它被并入selenium了。
2.Webdriver 详细说明
Webdriver (Selenium2)是一种用于Web应用程序的自动测试工具,它提供了一套友好的API。Webdriver完全就是一套类库,不依赖于任何测试框架,除了必要的浏览器驱动,不需要启动其他进程或安装其他程序,也不必像Selenium 1那样需要先启动服务。
Selenium 2针对各个浏览器而开发的,它取代了嵌入到被测Web应用中的 JavaScript。与浏览器的紧密集成,支持创建更高级的测试,避免了JavaScript安全模型的限制。除了来自浏览器厂商的支持,Selenium 2 还利用操作系统级的调用模拟用户输入。WebDriver 支持
- Firefox (FirefoxDriver) 下载
- IE(InternetExplorerDriver)下载,下载2
- Opera(OperaDriver)
- Chrome (ChromeDriver)下载,下载2
- 以及safari(SafariDriver)
它还支持Android(Selendroid)和iPhone(Appium)的移动应用测试。此外,Selenium 2还包括基于HtmlUnit的无界面实现,称为HtmlUnitDriver,RemoteWebDriver的远程访问实现 ,和基于webkit的无界面浏览器phantomjs。Selenium 2 API可以通过
- Java
- C#
- PHP
- Python
- Perl
- Ruby
等编程语言访问,支持开发人员使用他们常用的编程语言来创建测试。
3、Selenium工具包
目前selenium的包已升级到3.x。常用的包如下:
Selenium Standalone Server 作为远程的服务,运行RC和webdriver。从3.x版本开始,RC不能直接运行,需要通过WebDriverBackedSelenium的接口。
Selenium client & webdriver :编写RC、webdriver代码需要的包。主要支持:java、c#、ruby、python、js。
Google chrome driver:支持google chrome的driver。有win、mac、linux版本。
htmlUnitDriver:不使用具体的浏览器,而是在内存中运行。
Mozilla GeckoDriver:支持火狐浏览器的driver。有win、mac、linux版本
更多的包参考
目录
Selenium系列之--04 不同浏览器获取Xpath的方法