浏览器自动化-Selenium概述

测试自动化对于提升软件团队测试过程的长期效率具备特殊的优点。测试自动化支持:ios

  • 频繁回归测试
  • 快速反馈给开发人员
  • 几乎无限次的测试用例迭代
  • 支持敏捷和极限开发方法
  • 测试用例的规范文档
  • 定制的缺陷报告
  • 经过手动测试发现缺陷

自动化仍是不自动化?web

有时候手动测试可能更合适。例如,若是应用程序的用户界面在不久的未来会发生至关大的变化,那么任何自动化均可能须要重写。另外,有时候根本没有足够的时间来构建测试自动化。就短时间而言,手动测试可能更有效。编程

介绍Selenium浏览器

Selenium是一套不一样的软件工具,整套工具产生了丰富的测试功能,专门针对全部类型的Web应用程序的测试需求。容许用于查找UI元素的许多选项,并将预期的测试结果与实际的应用程序行为进行比较。Selenium的主要功能之一是支持在多个浏览器平台上执行测试。app

Selenium项目简史框架

Selenium在2004年由Jason Huggins在ThoughtWorks的一个内部应用程序测试中诞生。编程语言

他开发了一个Javascript库,能够驱动与页面的交互,容许他自动从新运行多个浏览器的测试。该库最终成为Selenium Core,它是Selenium Remote Control(RC)和Selenium IDE全部功能的基础。工具

2006年,一位名叫西蒙·斯图尔特(Simon Stewart)的杰出工程师开始了一个名为WebDriver的项目。Simon想要一个测试工具,经过浏览器和操做系统的“native”方法直接与浏览器对话,从而避免了沙箱化Javascript环境的限制。WebDriver项目的开始是为了解决Selenium的痛点。测试

200986日,WebDriver和Selenium社区的联合电子邮件中,WebDriver的建立者Simon Stewart详细解释了WebDriver和Selenium合并的最好解释。spa

“为何项目合并?部分缘由是WebDriver解决了硒中的一些缺陷(例如,可以绕过JS沙盒,并且咱们有一个很是漂亮的API),部分缘由是硒解决了WebDriver中的一些缺点(好比支持更普遍的浏览器)和一方面是由于主要的硒贡献者,我以为这是向用户提供最好的框架的最好方式。“
 
Selenium工具套件(Selenium由多个软件工具组成):
  • Selenium 2(又名Selenium WebDriver

它支持WebDriver API和底层技术,以及WebDriver API下的Selenium 1技术,以便在移植测试时得到最大的灵活性。另外,Selenium 2仍然运行Selenium 1的Selenium RC接口以实现向后兼容。

  • Selenium1(又名SeleniumRCRemote Control

在WebDriver / Selenium合并以前,Selenium RC是Selenium 2的主要工程,如今Selenium 1已被弃用,并无获得积极的支持(主要是维护模式)。

  • Selenium IDE

Selenium IDE(集成开发环境)是构建测试脚本的原型工具它是一个Firefox插件,为开发自动化测试提供了一个易于使用的界面。Selenium IDE具备录制功能,能够在用户执行操做时记录用户操做,而后将其做为可重用脚本以某一编程语言导出。

  • Selenium - Grid
Selenium-Grid容许Selenium RC解决方案针对大型测试套件和必须在多个环境中运行的测试套件进行扩展。 Selenium Grid容许您并行运行测试,也就是说,能够在不一样的远程机器上同时运行不一样的测试 这有两个好处。 首先,若是你有一个大的测试套件,或者一个运行速度慢的测试套件,你能够经过使用Selenium Grid将你的测试套件划分为同时使用不一样的机器同时运行不一样的测试。 并且,若是必须在多个环境中运行测试套件,可让不一样的远程机器同时支持并运行测试。 在每种状况下,Selenium Grid经过使用并行处理大大缩短了运行套件所花费的时间。
 
选择Selenium工具
 
许多人开始使用Selenium IDE。若是还不熟悉编程或脚本语言,则可使用Selenium IDE熟悉Selenium命令。使用IDE,能够快速建立简单的测试,有时在几秒钟内。可是,并不建议使用Selenium IDE进行全部测试自动化。为了有效地使用Selenium,须要使用Selenium 2或Selenium 1以及其中一种支持的编程语言来构建和运行测试。Selenium开发人员正在计划将Selenium-WebDriver API做为Selenium将来的发展方向。对于那些首次使用Selenium的人来讲,从头开始构建一个新的测试套件,您可能会想要使用Selenium 2,由于这是Selenium的一部分,将来将继续获得支持。
 
支持的浏览器和平台
在Selenium 2.0中,支持的浏览器根据您使用的是Selenium-WebDriver仍是Selenium-RC而有所不一样。
Selenium的webdriver
Selenium-WebDriver支持如下浏览器以及这些浏览器兼容的操做系统。
  • Google Chrome
  • Internet Explorer 7, 8, 9, 10, and 11 on appropriate combinations of Vista, Windows 7, Windows 8, and Windows 8.1. As of April 15 2014, IE 6 is no longer supported. The driver supports running 32-bit and 64-bit versions of the browser where applicable
  • Firefox: latest ESR, previous ESR, current release, one previous release
  • Safari
  • Opera
  • HtmlUnit
  • phantomjs
  • Android (with Selendroid or appium)
  • iOS (with ios-driver or appium)

灵活性和可扩展性

有许多方法能够将功能添加到Selenium测试脚本和Selenium的框架中,以定制测试自动化。

相关文章
相关标签/搜索