selenium 由几个工具组成,每个工具都有格子的特点和应用场景
selenium IDE
selenium IDE 是嵌入到Firefox浏览器中的一个插件,实现简单的浏览器操作的录制与回放功能。什么时候使用它呢?
快速的创建bug重现脚本,在测试过程中,发现了bug之后可以通过IDE将重现的步骤录制下来,更容易bug重现。
selenium Grid
selenium Grid是一种自动化的测试辅助工具,Grid通过利用现有的计算机基础设施,加快Web-app的功能测试。利用Grid,可以方便地同时在多台机器上和异构环境中运行多个测试用例。其特点:
1.并行运行
2.通过一个主机统一控制用例在不同环境,不同浏览器下运行。
3.灵活添加变动测试机
selenium RC
selenium RC是selenium家族的核心工具,selenium RC 支持多种不同的语言编写自动化测试脚本,通过selenium RC 的服务器作为代理服务器去访问应用从而到测试的目的。
selenium RC 使用分Client Libraries 和selenium Server,Client Libraries 库主要用于编写脚本,用来控制 selenium Server的库。
selenium sever负责控制浏览器行为,总的来说,selenium server主要包括3部分:Launcher,Http Proxy,Core 。
1.selenium Core是被Selenium server 嵌入到浏览器页面中。其实Selenium Core就是一堆JS函数的集合,就是通过这些JS函数, 才可以实现用程序对浏览器进行操作。
2.Launcher用于启动浏览器,把selenium Core 加载到浏览器页面中,并把浏览器代理设置为Selenium server 的Http Proxy。
Selenium2.0
selenium2.0 是在selenium1.0 的基础上添加了Web Driver。
即:
selenium2.0 = selenium1.0+Web Driver
强调一下:在selenium2.0中主推的是Web Driver,Web Driver是selenium RC的替代品,因为selenium为了向下兼容性,所以selenium RC并没有彻底抛弃,如果使用selenium 开发一个新自动化测试项目,推荐使用Web Driver。
Web Driver 和selenium RC 的却别,selenium RC在浏览器中运行Javascript应用,使用浏览器内置的Javascript翻译器来翻译和执行selenese命令(selenese是selenium命令集合)
Web Driver通过原生浏览器支持或者浏览器扩展直接控制浏览器。Web Driver针对各个浏览器而开发,取代了嵌入到被测Web应用中的Javascript。与浏览器的紧密集成支持创建高级的测试,避免了Javascript安全模型导致的限制。除了来之浏览器厂商的支持 ,Web Driver还利用操作系统级的调用模拟用户输入。所以是RC是过时的技术。
selenium3.0的变化
selenium3.0 去掉了selenium RC。
selenium3.0只支持Java8版本以上。如果使用java+selenium,那么java jdk 必须升级到java8了。其他语言可以忽略这一点。或者可以使用selenium Grid。
selenium3.0 中的Firefox 驱动独立出来了,在selenium3.0之前,只要在不同的编程环境中安装好selenium 就可以驱动Firefox浏览器运行自动换测试脚本,因为不同的环境下selenium库已经包含的了Firefox浏览器驱动。然而现在Firefox浏览器驱动与selenium库分离,单独下载。
geckodirver 驱动要求Friefox浏览器必须48版本以上。
Safari 使用苹果公司的浏览器,它很早就是实现了多平台支持,同样可以在windows下运行,它的驱动比较有意思,它是集成到selenium Server 中的。如果想让自动化测试运行到Safari浏览器上的话, 必须使用Selenium Server。
借鉴于:http://www.cnblogs.com/fnng/p/3653793.html