`
yeluowuhen
  • 浏览: 156180 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

(z)selenium 1.0和selenium 2.0的区别

 
阅读更多

        Selenium 1.0中可以使用多种语言编程,当然前提是支持http库。在运行selenium1.0程序之前,我们得先启动selenium server端(selenium remote control),我们简称RC。RC主要包括三个部分:launcher,http proxy,selenium core。其中selenium core是被selenium server嵌入到浏览器页面中的,selenium core内部是一堆javascript函数构成,通过调用这些函数来实现对浏览器的各种操作。 

        Selenium 1.0是第一个基于浏览器的开源自动化测试工具,由于其是由javascript实现的,所以只要是支持javascript的浏览器都可以很好的支持 它。但是和其他工具一样,selenium也不是完美的,正所谓成也萧何败也萧何,正是由于它的这一特点,导致了他的缺点。每一个浏览器对于执行 javascript都有很严格的安全限制,以防止用户被恶意脚本攻击。这也导致了selenium在某些场景下的测试工作变得很困难,比如IE下面的 upload操作就不允许执行往输入框中填写文件的路径。主要有以下几点问题亟待解决: 1.没有原生的鼠标和键盘事件 2.XSS/HTTP同源数据问题 3.popup dialog问题  

         Webdriver项目是由Simon Stewart创建的,它是一个非常便捷的自动化测试工具。Webdriver对不同浏览器的处理方式和selenium有着明显的不 同,selenium是不管什么浏览器都是javascript来处理,而webdriver是选择浏览器最容易接受的语言来处理。比如,在IE 中,C++最合适,在firefox中,javascript最合适等等。通过灵活选择最合适的语言来处理多浏览器,我们可以很好的回避某些浏览器对 javascript的安全限制。而且webdriver不仅仅具有这些能力,它还能够调用操作系统API,尤其是当用户需要模拟鼠标和键盘进行真是的页 面操作的时候,这项能力的作用尤为明显。 

         把上面两款工具放到一起比较,优缺点就比较明显了。Selenium要求真实的浏览器环境,而webdriver可以直接操作HTML unit驱动,大家都知道selenium启动firefox非常慢,而webdriver可以通过HTML unit在系统内存中迅速的执行,但是这两者都不方便调试。Webdriver不支持并行测试,而selenium GRID可以搞定这个。Webdriver要求针对浏览器选择最合适的语言来编写脚本,而众所周知,程序员总是希望使用自己擅长的语言来编写脚本,公司也 不可能派多个脚本人员在一个项目中仅仅是为了多浏览器支持。因此,我们需要一款工具,它能够把两者的优点集合起来,这就是我们下面介绍的selenium 2.0,即selenium 1.0+webdriver。  

          selenium 2.0最显著的特点就是不用再启动server端了,我们可以看看下图:   

它支持以下几种浏览器驱动:AndroidDriver,ChromeDriver, EventFiringWebDriver,  FirefoxDriver,  HtmlUnitDriver, 

InternetExplorerDriver,  IPhoneDriver,  IPhoneSimulatorDriver,  RemoteWebDriver。

          Selenium 2.0 与以往版本的区别

Selenium 2.0(又名 Selenium WebDriver)的主要新功能是集成了 WebDriver。WebDriver 曾经是 Selenium 1(又名 Selenium RC)的竞争对手。Selenium RC 在浏览器中运行 JavaScript 应用,而 WebDriver 通过原生浏览器支持或者浏览器扩展直接控制浏览器。
从 Selenium 项目简史中可以了解到,Selenium 和 WebDriver 的开发人员都认为两个工具各有优势,二者合并将创造更强大的 Web 测试框架。 Selenium 1 是一款流行和完善的测试框架,支持众多浏览器(因其 JavaScript 实现),允许用户通过许多编程语言(从 Java/C# 到 PHP、Erlang...),而 WebDriver 则弥补了 Selenium 1 的缺点,跳出了 JavaScript 的沙箱,提供快速、轻量级的浏览器模拟器。之所以合并,原因如下:

1、WebDriver 解决了 Selenium 存在的缺点(比如,绕过 JS 沙箱);

2、Selenium 解决了 WebDriver 存在的问题(例如支持广泛的浏览器);

3、Selenium 的主要贡献者们都觉得合并项目是为用户提供最优秀框架的最佳途径。

Selenium 2.0 还包括 Selenium Server,通过 Selenium Grid 支持分布式测试。新的 Selenium Grid 支持使用原来的 Selenium RC API 和 WebDriver API 测试。Selenium IDE 1.1.0 也将支持 WebDriver API,包括将录制生成的测试用例导出为 WebDriver 所支持的各种编程语言(Ruby、Python、C# 和 Java)。

WebDriver 针对各个浏览器而开发,取代了 Selenium RC 中嵌入到被测 Web 应用中的 JavaScript,与浏览器的紧密集成可以支持创建更高级的测试,且避免了 JavaScript 安全模型导致的限制。除了来自浏览器厂商的支持,WebDriver 还利用操作系统级的调用模拟用户输入。WebDriver 支持 Firefox (FirefoxDriver)、IE (InternetExplorerDriver)、Opera (OperaDriver) 和 Chrome (ChromeDriver)。它还支持 Android (AndroidDriver) 和 iPhone (IPhoneDriver) 的移动应用测试。此外,还包括一个基于 HtmlUnit 的无界面实现,即 HtmlUnitDriver。WebDriver API 可以通过 Python、Ruby、Java 和 C# 访问,支持开发人员使用他们偏爱的编程语言来创建测试。

可参照http://www.aosabook.org/en/selenium.html

几个可以参照的资源:

 

 

分享到:
评论

相关推荐

    selenium1,0与2.0的区别

    主要是针对以selenium1.0与2.0在实际使用当中的区别进行整理

    selenium1.0版本升级

    本文将详细介绍如何从Selenium 1.0升级至Selenium 2.0,并结合Robot Framework及其Selenium 2 Library进行实践。 #### 一、升级前准备 在开始升级之前,确保以下环境配置正确: - **操作系统**:Windows - **...

    Selenium1.0

    在Selenium1.0这本书中,作者David Burns以自己作为Selenium核心开发者和测试人员的经验,逐步引导读者了解和掌握Selenium框架的使用方法。David Burns在书籍中介绍了如何利用Selenium进行Web应用测试的各个方面,...

    Selenium 1.0 Testing Tools - Beginners Guide - 2010

    WebDriver则是Selenium 2.0的核心组件,它是对Selenium RC的替代品,提供了更强大的API和更好的浏览器支持。但在这本2010年的书籍中,仍然重点介绍了Selenium RC的使用方法。 在编写测试时,作者强调了理解测试背后...

    Selenium2.0+Webdriver学习【1】

    #### 一、Selenium2.0与Selenium1.0的区别 Selenium是一款广泛使用的Web自动化测试工具,旨在帮助软件开发者和测试工程师轻松地编写自动化测试脚本来验证Web应用的功能。随着互联网的发展以及Web应用的日益复杂,...

    SeleniumAutoTestFramework(Selenium 2.0 自动化教程)

    Selenium1.0不能处理一下事件: 1)本机键盘和鼠标事件 ... 3)弹出框,对话框(基本身份认证,自签名的证书和文件上传/下载) ...Selenium2.0 = Selenium1.0 + WebDriver(也就是说Selenium2.0合并了这两个项目)

    Selenium深入浅出1.0

    ### Selenium深入浅出1.0 知识点详解 #### Selenium概述 Selenium是一个强大的自动化测试框架,主要用于Web应用的功能性测试。它支持多种编程语言(如Java、Python、C#等),并且能够运行在不同的操作系统上。...

    Selenium-server-2.0

    7. **API的改进**:Selenium 2.0的API更加稳定,增加了更多的函数和方法,使测试脚本编写更加方便。 8. **兼容性提升**:支持Firefox 4及以上版本,意味着能够应对不断更新的浏览器技术,保持与现代网页应用的同步...

    Selenium2.0之WebDriver学习总结(1)

    Selenium2.0的架构融合了Selenium1.0和WebDriver,两者互补,提升了自动化测试的效率和灵活性。对于浏览器的支持,WebDriver需要各个浏览器厂商进行相应的开发工作,而Selenium则确保在真实浏览器环境中运行测试。...

    Selenium2.0中文帮助文档

    Selenium2.0兼容了Selenium1.0的部分API,因此,这部分内容帮助老用户从Selenium1.0平滑过渡到Selenium2.0,并利用已经熟悉的API来编写测试脚本。 整个文档的宗旨在于帮助用户在最短的时间内掌握Selenium2.0的使用...

    selenium server standalone 2.0

    selenium server standalone 2.0,自动化测试jar包之一

    selenium-dotnet-2.0b2.zip

    【标题】"selenium-dotnet-2.0b2.zip" 涉及的主要知识点是 Selenium WebDriver 和 .NET 框架的结合使用,这是自动化Web浏览器测试的一个强大工具。 【描述】描述中的 "selenium-dotnet-2.0b2.zip" 提示这是一个早期...

    selenium2.0

    想用seleniumserver的同学请下载,很好

    Packtpub.Selenium.1.0.Testing.Tools.Beginners.Guide.Nov.2010.rar

    《Packtpub Selenium 1.0 Testing Tools Beginners Guide Nov 2010》是一本针对初学者的Selenium测试工具指南,旨在帮助读者理解和掌握自动化Web应用测试的基础知识。Selenium是一个广泛使用的开源自动化测试框架,...

    selenium_ide-3.0.2.0-an+fx-windows.xpi

    selenium_ide-3.0.2.0安装包,该安装包用于selenium自动化测试,Firefox可以在附加组件中搜索即可查询到,但是chrome需要使用安装包进行安装

    selenium+python实战V1.0-培训版

    本文为selenium+python培训PPT,包含框架、测试报告、自动发送邮件等。 包含:环境部署、Selenium自动化工具介绍、UnitTest框架介绍、Python语法介绍 、Selenuim+Python实战以及常见问题。配套电子教程后续会陆续奉...

    [转载]Selenium2.0之WebDriver学习总结(1).docx

    在Selenium测试自动化领域,Selenium2.0(也称为Selenium WebDriver)是一个重要的里程碑,它解决了Selenium1.0(通常称为Selenium RC)的一些关键局限性。Selenium1.0虽然允许开发者使用多种编程语言进行测试,但...

    seleniumpython自动化测试实战PPT.pptx

    Selenium 家谱中,Selenium 1.0 和 Selenium 2.0 是两个主要版本,其中 Selenium 2.0 = Selenium 1.0 + WebDriver。 在环境搭建方面,PPT 介绍了 Windows 和 Linux 平台上的 Selenium 安装过程,包括安装 Python、...

Global site tag (gtag.js) - Google Analytics