Selenium各种工具比较

Selenium 1.0

Selenium 1.0是第一个基于浏览器的开源自动化测试工具。它可以使用所有支持http库的编程语言,也可以运行在所有支持javascript的浏览器上。当然它 也有它的缺点。在运行selenium 1.0程序之前,我们得先启动selenium服务器端,也就是selenium RC。而selenium RC是由javascript实现的,每一个浏览器对于执行JavaScript都有很严格的安全限制,以防止用户被恶意脚本攻击,这导致在某些情况下用 selenium 1.0很麻烦。

selenium 1.0有以下3个问题亟待解决:

  1. 没有原生的鼠标和键盘事件
  2. XSS/HTTP同源数据问题
  3. popup dialog问题

WebDriver

WebDriver项目是由Simon Stewart(来自Google)创建的,是一个非常便捷的自动化测试工具。它采用HtmlUnit,可以直接在内存中运行。而且WebDriver 还可以调用操作系统的API,尤其当用户需要模拟鼠标和键盘进行真实的页面操作的时候,这项能力作用尤为明显。Webdriver也有它的缺点,使用它控 制浏览器的时候,需要依赖采用本机支持的独立客户端。WebDriver仅提供Java绑定,并不能支持Selenium 1 所能支持的那么多浏览器。

Selenium 1.0 vs WebDriver

  1. WebDriver 可以绕过JavaScript 黑盒。
  2. Selenium 1.0要求真实的浏览器环境,而WebDriver可以直接操作HtmlUnit驱动。针对某些浏览器比如说Firefox运行比较慢的情况,我们可以采用HtmlUnit驱动在系统内存中迅速的执行。
  3. WebDriver不支持并行测试,而Selenium Grid可以。
  4. WebDriver支持的浏览器有限,而selenium 1.0几乎支持浏览器,而且针对每一种浏览器都支持很多种语言。
  5. 一些selenium 1.0没有解决的问题,比如说“原生的鼠标和键盘事件”,WebDriver可以通过调用系统的API来实现。

Selenium 1.0 +WebDriver =Selenium 2.0

于是,为了综合了selenium 1和WebDriver的优点, Selenium 2(也被称为 Selenium WebDriver)面世。Selenium 2具有来自WebDriver的清晰面向对象API,并能以最佳的方式与浏览器进行交互。Selenium 2不使用JavaScript沙盒,支持多种浏览器和多语言绑定。具体的有:

  • Mozilla Firefox
  • Google Chrome
  • Microsoft Internet Explorer
  • Opera
  • Apple iPhone
  • Android browsers

Selenium 2支持的语言有Java、C#、Ruby和Python。Selenium 2 还提供基于HtmlUnit的无外设驱动,是用于测试Web应用程序的Java框架。HtmlUnit运行速度特别快,但它不是一个真正与真实浏览器相关联的驱动。

Selenium 工具

目前说的selenium,一般包括以下四个工具:

Selenium Core:Selenium 核心内容,是IDE和RC的引擎。内部由JavaScript函数构成,通过调用这些函数来实现对浏览器的各种操作。

Selenium IDE:一款Firefox 插件。具有录制、编辑以及回放脚本的功能,易于上手,对于初学者可以开发一些简单的测试脚本。

Selenium WebDriver(Selenium 2.0):由Selenium 和WebDriver合并而成。它支持WebDriver API和底层技术以及在WebDriver API下的Selenium 1.0的技术。Selenium 2.0仍然可以运行于Selenium 1.0的Selenium RC接口以支持向后兼容。

Selenium RC(Selenium 1.0):Selenium Remote Control。远程控制,也就是通过脚本操作浏览器。它允许测试人员使用一种程序语言根据需求扩张测试脚本的复杂度、延展度。主要包括三部分:launcher,http proxy,selenium core。

Selenium Grid:允许同时在不同的环境上运行多个测试任务。

时间: 2024-10-26 23:29:47

Selenium各种工具比较的相关文章

selenium自动化测试工具模拟登陆爬取当当网top500畅销书单

selenium自动化测试工具可谓是爬虫的利器,基本动态加载的网页都能抓取,当然随着大型网站的更新,也出现针对selenium的反爬,有些网站可以识别你是否用的是selenium访问,然后对你加以限制. 当当网目前还没有对这方面加以限制,所以今天就用这个练习熟悉一下selenium操作,我们可以试一下爬取一下当当网top500的畅销书单的相关信息,页面如下: 虽然这个页面不用登录就可以进来,但是我们可以随便试一下模拟登陆,直接在这个页面上面点击登录进入登录界面,然后会弹出一下窗口, 这是百分百会

Java+Selenium——AutoIt工具处理文件上传

参考:https://blog.csdn.net/u011541946/article/details/74359517 参考:https://blog.csdn.net/linxi9322/article/details/78789452 关于文件上传,这边介绍一个第三方工具,叫AutoIt,简单来说,这个是一个能支持桌面GUI自动化的工具,它支持脚本语言编写.这里,我们用AutoIt来做文件上传的演示.在Selenium脚本中如果需要AutoIt来协助这个文件上传功能,大概步骤是这样的: 1

selenium自动化测试工具的使用总结

1.设置无头浏览器模式 from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument('- -headless') chrome_options.add_argument('- -disable-gpu') class XX(object): self.driver = webdr

python爬虫积累(一)--------selenium+python+PhantomJS的使用

最近按公司要求,爬取相关网站时,发现没有找到js包的地址,我就采用selenium来爬取信息,相关实战链接:python爬虫实战(一)--------中国作物种质信息网 一.Selenium介绍 Selenium 是什么?一句话,自动化测试工具.它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Selenium 的插件,那么便可以方便地实现Web界面的测试.换句话说叫 Selenium 支持这些浏览器驱动.Selenium支持

selenium基础

1) .selenium 1 的基础讲解 Selenium RC 是如何运转的:包含的两个组件: 1.Selenium server 它负责启动和关闭浏览器,解释执行从测试程序传来的Selenium命令,就像一个HTTP代理一样 (这就是为什么它能访问没有FQ的谷歌浏览器的原因). 截取和验证浏览器与待测应用(??)之间的HTTP消息 这个代理也有一个好处: 就是每一个浏览器只能让用户在一个站点去搜索访问,不能在其他的站点去访问(这就是同源规则) ----没有同源规则.你可在任何站点读取你的银行

「UI 测试自动化selenium」汇总

<selenium 基础之java实现> selenium RC 环境配置 菜鸟学自动化测试(一)----selenium IDE 菜鸟学自动化测试(二)----selenium IDE 功能扩展 菜鸟学自动化测试(三)----selenium 命令 菜鸟学自动化测试(四)----selenium 命令之验证页面元素 菜鸟学自动化测试(五)-----selenium命令之定位页面元素 菜鸟学自动化测试(六)----selenium 命令之文字范本匹配 菜鸟学自动化测试(七)----seleni

Selenium浏览器自动化测试使用(1)

Selenium - 介绍 Selenium是一个开源的和便携式的自动化软件测试工具,用于测试Web应用程序有能力在不同的浏览器和操作系统运行.Selenium真的不是一个单一的工具,而是一套工具,帮助测试者更有效地基于Web的应用程序的自动化. 现在让我们了解selenium套件和使用这些工具.我们将着眼于以下工具功能: 工具 描述 Selenium IDE Selenium 集成开发环境(IDE)是一个Firefox插件,可以让测试人员跟着,需要测试的工作流程,以记录他们的行为. Selen

Selenium测试规划

开源工具经过近几年的发展,已经出现了一大批成熟的可应用到实际项目中的产品,其中,在WEB自动化测试领域,Selenium支持广泛的浏览器和脚本开发语言,高效的执行效率,获得广泛的应用. 本课程结合Selenium自动化测试工具,讲解自动化测试脚本设计.框架设计和自动化测试的实施方法. 课程大纲: 一.自动化测试基础 Selenium与QTP的对比 Selenium与其它开源自动化测试工具的对比 自动化测试工具基本原理 如何开展和实施自动化测试项目 自动化测试工程师知识体系 二.Selenium自

前端自动化测试工具doh学习总结(二)

一.robot简介 robot是dojo框架中用来进行前端自动化测试的工具,doh主要目的在于单元测试,而robot可以用来模仿用户操作来测试UI.总所周知,Selenium也是一款比较流行的前端自动化测试工具,与Selenium相比robot的优点在于robot触发的浏览器事件是真正的用户操作事件,而Selenium中的事件属于"合成事件".打个比方,用户在一个textbox元素上触发了mousedown事件,但是在触发mousedown事件之前,肯定会触发mouseover等事件.