`
zyslovely
  • 浏览: 231229 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

selenium学习(一)

阅读更多
一.Selenium是什么?

  Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,本系列现在主要包括以下4款:

   1.Selenium Core:支持DHTML的测试案例(效果类似数据驱动测试),它是Selenium  IDE和Selenium  RC的引擎。

   2.Selenium IDE:FireFox的一个插件,支持脚本录制。

   3.Selenium RC:Selenium Remote Control。后续的系列文章我会主要针对Selenium RC展开介绍。

   4.Selenium Grid:允许同时并行地、在不同的环境上运行多个测试任务,极大地加快Web应用的功能测试。

  二.选择合适的Selenium工具

  既然Selenium工具有4款这么多,那到底如何选择呢??我从"Selenium官网"这里找了一个表:

  Selenium IDE Selenium Remote Control Selenium Core Selenium Core HTA
浏览器支持 仅Firefox 很多 所有 仅IE
需要远程安装 否 否 是 否
支持 HTTPS/SSL 是 是* 是 是
支持跨域 是 是* 否 是
需要Java 否 是 否 否
将测试结果保存到磁盘 是 是 否 是
多语言支持 仅Selenese 很多 仅Selenese 仅Selenese


  这里没有介绍Selenium Grid,但介绍了另外一个Selenium Core HTA,Selenium Core HTA其实是Selenium Core的额外模式,你只要Selenium Core配置稍加修改,即为HTA模式,Selenium Core HTA可以在IE最高安全等级(特权)下工作,这意味着它仅能在IE下工作,由于限制较大,下面将排除对Selenium Core HTA的讨论。

  1.浏览器支持:

   (1).Selenium IDE仅可以在Firefox中工作。

   (2).Selenium Remote Control支持很多浏览器,包括最常用的:firefox,ie,safari等N款浏览器。

   (3).Selenium Core支持的浏览器是最广的,这点和它的实现有关。作为IDE和RC的引擎,Selenium Core几乎可以在任何浏览器中工作。

  2.需要远程安装:是否需要在被测网站的服务端安装?

   这里只有Selenium Core需要,这是出于同源策略的原因。这也是Selenium Core一个很大的限制,试问,如果你要测试Google.com,还得在google的服务器上装一个Selenium Core,那是多搞笑的一件事。

   而Selenium IDE和Selenium Core HTA不会被同源策略所限制,因为他们对浏览器扩展了。

   Selenium RC提供一个代码服务器来保证Selenium JS文件看似来自相同的远程服务器,从而符合同源策略;代理服务器欺骗浏览器,让它认为这里的确有像http://www.google.com/selenium/这样的目录。

  3.支持HTTPS/SSL:

   这里不说了,都支持。Selenium RC在“是”后面加*因为它是在最近版本支持的,仅此而已。

  4.需要Java:准确的说是需要JRE

   这项只有Selenium RC需要,上面2中所说的“代理服务器”是一个Java程序,需在跑测试案例前启动。

  5.将测试结果保存到磁盘

   只有Selenium Core不能将任何测试结果写到磁盘上(因为它是用javascript写的,它不允许向磁盘写数据),其解决方案是当然你可以将测试结果发送到另外一台服务器保存。这也是Selenium Core的一大限制。

  6.多语言支持

   (1).Selenium IDE仅支持Selenium语言。

   (2).Selenium RC支持很多语言,如:C#,Java,Python,Ruby等。

   (3).Selenium Core也是仅支持Selenium语言。

  Selenium语言的测试案例如下:



  它的优点是:简单,用(Command,Target,Value)三种元素组成一个行为,并且有辅助录制脚本工具(如:Firefox IDE,Selenium Core等),不懂程序的测试人员都可以轻松地编写测试案例。

  它的缺点是:Selenese有一些严格的限制:它没有条件(没有"if"表达式),并且它没有循环(没有"For"表达式)。这会使编写复杂的测试变得困难甚至不可能。

   OK,现在我们来研究下到底该使用哪款工具开展测试!

   (1).Selenium IDE支持并且只支持Firefox浏览器,支持的浏览器太少,而依附于Firefox也不便于日后开展自动化测试,但是,它的录制快捷好用!并且有代码转换功能,可以把Selenium语言测试案例转为C#,Java等语言的测试案例,我建议使用Selenium IDE + FireBug进行测试案例的编写,然后转为其他语言的测试案例后,再调用Selenium RC运行测试案例。

   (2).Selenium Core,它的优点是编写测试案例简单,并且支持绝大多数的浏览器,但缺点也同样明显,Selenium Core需要远程安装,Selenese语言也限制了复杂案例的可能性,并且没有良好的外部扩展,这是些都会是致命的问题。因为一个款测试工具不可能100%满足你测试需求的,当它不能满足你测试需求时候,它必须有一个扩展机制可以让你可以使用其他的方式满足你需求,否则这款测试软件即使功能强大,也请三思慎用,否则当投入大量资源后才发现某些问题不能解决,那时候已经晚了,这是我的切身体会。

   (3).Selenium RC是我推荐使用的工具,它支持很多浏览器,可以使用C#,Java等语言编写测试案例,易于维护,同时提供了很好的扩展性,所以后续的文档我会以Selenium RC作为默认的测试工具。

分享到:
评论

相关推荐

    selenium+webdriver学习文档

    这是一个学习文档,旨在帮助读者学习使用 Selenium+WebDriver 进行自动化测试。Selenium 是一个开源的自动化测试工具,WebDriver 是 Selenium 的一个组件,用于模拟浏览器的行为。 描述:从基础到精通的学习 ...

    python +selenium webdriver 学习借鉴

    Python + Selenium WebDriver 学习借鉴 Python 是一种广泛使用的编程语言,Selenium 是一个自动化测试工具,WebDriver 是 Selenium 的一个组件,用于自动化浏览器操作。在本文档中,我们将学习如何使用 Python 和 ...

    selenium相关学习资料

    总之,这份Selenium学习资料将帮助你从基础到进阶,全面掌握自动化测试技能,无论你是测试工程师还是开发人员,都能从中受益,提升你的Web应用测试能力。通过深入学习和实践,你将能够自如地运用Selenium进行各种...

    selenium_webdriver学习

    本资源"《selenium_webdriver学习》"显然是一份针对初学者的教程,旨在帮助他们快速理解和掌握Selenium WebDriver的基本使用。 首先,让我们深入了解一下Selenium WebDriver的核心概念。WebDriver是Selenium的最新...

    selenium学习文档

    ### Selenium 学习文档知识点详解 #### 一、Selenium 的起源与发展 Selenium 的诞生源于对昂贵且专有的测试工具的需求替代。在 Selenium 出现之前,Mercury Quality Center 是市场上最受欢迎的功能测试工具之一。...

    python+selenium自动化入门.ppt

    Selenium是一款强大的开源测试工具,专用于Web应用程序的自动化测试。它可以在浏览器中运行测试,模拟真实用户的行为,支持Firefox、IE、Mozilla等多种浏览器,并且兼容JAVA、C#、Ruby、Python、PHP、Perl等多种编程...

    Selenium

    2. **学习 XPath**:XPath 是一种用于查找 XML 文档中信息的语言。由于在许多情况下需要使用 XPath 来定位页面元素,因此掌握 XPath 基础知识非常重要。可以参考教程:...

    selenium学习资料

    **Selenium学习资料详解** Selenium 是一个广泛应用于Web应用程序自动化测试的开源工具,它支持多种编程语言,如Java、Python、C#等,并且能够与各种浏览器无缝集成,包括Chrome、Firefox、Edge等。本资料...

    Selenium python之学习笔记

    Selenium是一个用于Web应用程序测试的工具,它允许开发者使用自动化脚本来模拟真实用户操作,进行功能测试、回归测试和负载测试等。Python是一种广泛使用的编程语言,因其简洁的语法和强大的功能而受到众多开发者的...

    selenium2初学者快速入门

    Selenium是一个用于Web应用的功能自动化测试的开源工具套件,它的核心组件包括Selenium IDE、Selenium RC 和 WebDriver。Selenium2是Selenium项目的最新版本,它结合了Selenium RC和WebDriver的优点,提供了更为强大...

    selenium2 python自动化测试 PDF学习

    Selenium,作为一个非常流行的自动化测试框架,支持多种浏览器和操作系统,可以用于自动化Web应用程序的测试。在Python环境中,Selenium与Python结合,可以快速实现Web自动化测试。以下知识点将围绕“Selenium2 ...

    Selenium学习笔记

    Selenium 是一个强大的 Web 应用程序自动化测试框架,它提供了多种工具和组件来支持不同类型的测试需求。本文主要关注 Selenium 的三个组成部分:Selenium Core、Selenium IDE 和 Selenium Remote Control (RC)。 ...

    selenium-selenium-4.5.0.zip源码

    Selenium 是一个强大的开源自动化测试框架,用于网页应用。它支持多种编程语言,如 Java、Python、C#、Ruby 等,使测试工程师能够编写脚本来模拟用户在浏览器中的各种交互行为。Selenium 4.5.0 版本是该框架的一个...

    selenium整套入门学习资料-ppt及代码源码 -及涉及工具

    总的来说,Selenium是一个强大而灵活的自动化测试工具,对于Java开发人员来说,学习Selenium不仅可以提升测试技能,还有助于理解Web应用程序的工作原理。本套资料全面覆盖了Selenium的入门到进阶知识,无论你是新手...

    Selenium学习笔记源代码

    **Selenium学习笔记源代码** Selenium是一款强大的自动化测试工具,尤其在Web应用程序的测试领域,它被广泛应用。本学习笔记源代码旨在帮助开发者和测试工程师深入理解和掌握Selenium的基本用法,通过实际操作和...

    selenium初学者指南

    作为初学者,你需要首先理解Selenium的基本概念和架构,然后选择一种编程语言(推荐Python,因为其语法简洁,易于上手),学习如何安装和配置Selenium库。接着,通过编写简单的测试用例,例如打开网页、查找元素、...

    selenium zTree 分析学习

    【Selenium zTree 分析学习】 在自动化测试领域,Selenium 是一款广泛使用的开源工具,它支持多种浏览器,包括Firefox、Chrome和IE,用于模拟用户交互行为,进行Web应用程序的功能测试。ZTree 是一个JavaScript实现...

Global site tag (gtag.js) - Google Analytics