Selenium WebDriver + Grid2 + RSpec之旅(一)

                        ----准备篇

前言

在Web 2.0 应用中,在浏览器种类盛行的时代,我们在测试过程中不仅要模仿不同的用户行为,还要包括不同的系统,不同的浏览器中的操作。在这种情况下,我们需要新的方法与工具来解决我们遇到的难题。用Selenium WebDriver + Grid2来实现多种浏览器功能自动化测试和并发性测试。将测试人员从繁杂的手动测试中解放出来,专注于结果分析和问题解决。(同志们!你们解脱啦!)

测试框架介绍

我们的测试框架主要采用了以下技术:

Ruby

Ruby是一种功能强大的面向对象的脚本语言,她可以使您方便快捷地进行面向对象编程。当然了,Ruby在软件测试脚本中也占有很大的比重,您也可以使用Ruby轻松的进行测试脚本的开发。

Ruby的文本处理能力极强,同时,Ruby的语法简单,还有异常处理以及迭代器等构造,使编程变得简单明了。

Selenium WebDriver

Selenium 是针对 Web 应用的测试框架,支持多种浏览器和多种编程语。WebDriver 通过原生浏览器支持或者浏览器扩展直接控制浏览器。Selenium WebDriver 更好的支持了动态网页。它的目标是为现代的网页程序测试提供设计良好的面向对象的 API。

Selenium Grid2

Selenium Grid 允许用户将测试案例分布在几台机器上并行执行。用户可以在一个集中控制点控制不同的环境。在不同的浏览器/系统组合上面更为容易的运行测试案例。允许用户更多的利用虚拟资源减少了维护测试环境的成本。Selenium Grid2 很好的支持了 WebDriver。利用原有的 WebDriver 脚本和 Grid 技术就可以将不同的测试用例分布在不同的机器或虚机上,在特定的浏览器版本上运行,自动地启动关闭分析工具,统一地保存测试结果。Selenium Grid2 的机制如图 1,

启动一个中央节点(Hub),然后启动多个远程控制节点(RC),启动 RC时告知 Hub 的位置,这样这些 RC就可以注册到 Hub 上,测试程序与 Hub 通讯,当测试被并发地发给 Hub 时,Hub 会自动将这些测试命令分发给已经注册的 RC,RC接到命令后执行测试。

RSpec

RSpec 是一门专门用于描述Ruby程序的行为的Ruby域指定语言。RSpec让应用程序的作者能以流畅的语言来表达他们的设计意图。

RSpec 也是一种实现BDD的工具,倡导在编写测试的同时描述代码的行为,BDD即行为驱动开发(Behaviour-Driven Development),从TDD进化而来,算是TDD的一个分支,使用RSpec编写的测试代码更加灵活也更具有趣味性。

测试框架的安装

Ruby的安装

1、访问Ruby官方网站(https://www.ruby-lang.org/zh_cn/downloads/)下载最新稳定版本的安装包,傻瓜式安装即可

2、下载DevKit包,解压,进入该文件目录内,按照如下命令安装:

ruby dk.rb init

ruby dk.rb install

(这步很重要,很多webdriver在windows上安装都报错,安装了这个,webdriver再也不用担心安装失败了!)

3、验证是否安装成功,在windows的DOS窗口中执行 ruby -v ,如果出现如下截图表示安装成功

Selenium WebDriver 的安装

使用gem安装

1、打开windows 的DOS界面

2、在命令行中执行 gem install selenium-webdriver

3、验证是否安装成功,在windows的DOS窗口中执行gem list selenium-webdriver,如果出现如下截图,表示安装成功

(由于本人安装了多个版本,版本号不同请忽略)

4、由于selenium-webdriver默认内嵌firefox浏览器驱动,如果要使用IE,chrome浏览器的话,请到官网上下载对应的浏览器驱动,并保存在path路径下。

Selenium-Grid2的安装

Selenium-Grid2已经集成到selenium server安装包中

1、访问selenium官网(http://docs.seleniumhq.org/download/)下载最新版selenium server

2、将下载的selenium-server-standalone-2.37.0.jar放到指定目录内

RSpec的安装

使用gem安装

1、打开windows 的DOS界面

2、在命令行中执行 gem install rspec

3、验证是否安装成功,在windows的DOS窗口中执行gem list rspec,如果出现如下截图,表示安装成功

(由于本人安装了多个版本,版本号不同请忽略)

Selenium WebDriver + Grid2 + RSpec之旅(一)----准备篇的更多相关文章

  1. Selenium WebDriver + Grid2 + RSpec之旅(四) ----通过RSpec编写测试用例

    Selenium WebDriver + Grid2 + RSpec之旅(四) ----通过RSpec编写测试用例 自动化测试和手工测试一样,是要有测试用例,有检查点和测试结果的,接下来我们通过RSp ...

  2. Selenium WebDriver + Grid2 + RSpec之旅(六) ----多浏览器的并行执行

    Selenium WebDriver + Grid2 + RSpec之旅(六) ----多浏览器的并行执行 由于浏览器的发展,浏览器种类繁多.为了保证系统能在各种浏览器上叱咤风云,减少测试人员的测试工 ...

  3. Selenium WebDriver + Grid2 + RSpec之旅(五)---面向对象设计用例

    Selenium WebDriver + Grid2 + RSpec之旅(五) ----面向对象设计用例 前几节讲了怎么一步一步的从零开始到编写出一个简单的测试用例,这一节将要讲一下怎么让测试用例变得 ...

  4. Selenium WebDriver + Grid2 + RSpec之旅(三) ----入门小例子

    Selenium WebDriver + Grid2 + RSpec之旅(三) ----入门小例子 第一个例子都是比较简单的博客园登录界面,就像学习编程语言时候都是从Hello,World!开始. 1 ...

  5. Selenium WebDriver + Grid2 + RSpec之旅(二)----Grid2的配置

    Selenium WebDriver + Grid2 + RSpec之旅(二) ----Grid2的配置 为什么要使用Selenium-Grid 分布式运行大规模的TestCase 能够通过一个中央节 ...

  6. Selenium (2) —— Selenium WebDriver + Grid2(101 Tutorial)

    Selenium (2) -- Selenium WebDriver + Grid2(101 Tutorial) jvm版本: 1.8.0_65 selenium版本: v2.48.0 (Standa ...

  7. 【总结】selenium webdriver 远程连接firefox和IE 环境搭建

    参考链接:http://code.google.com/p/selenium/wiki/Grid2 本地环境为:win7,eclipse,jdk 1.7,本机ip为192.168.0.30 1.下载所 ...

  8. Selenium WebDriver Code

    Selenium WebDriver 用于模拟浏览器的功能,可以做网站测试用,也可以用来做crawler.我是用eclipse开发的,导入selenium-server-standalone-***. ...

  9. 使用httpclient 调用selenium webdriver

    结合上次研究的selenium webdriver potocol ,自己写http request调用remote driver代替selenium API selenium web driver ...

随机推荐

  1. 网站集A的子网站B上没有解决方案C发布的webpart

    在A的主站点,查看解决方案C在该网站集的feature,若未打开,则打开:若已经打开,可以先关闭再打开一次. 如果问题依然存在,可以查看子网站B上的feature是否打开,若未打开,则打开:若已经打开 ...

  2. 三步走起 提升 iOS 审核通过率 上篇

    <ignore_js_op> Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly 邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明 ...

  3. 2014-11-9------- 设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。

    一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...

  4. jQuery 遍历同胞(siblings)

    同胞拥有相同的父元素. 通过 jQuery,您能够在 DOM 树中遍历元素的同胞元素. 在 DOM 树中水平遍历 有许多有用的方法让我们在 DOM 树进行水平遍历: siblings() next() ...

  5. GridView 编辑、删除 、分页

    类似代码都差不多,记录一下,便于以后查看使用. 前台页面: <asp:GridView ID="gdvList" runat="server" AutoG ...

  6. ext 扩展控件—moneyField

    /** *数字控件 *带大写提示,和千分位 **/ Ext.define(appNameSpace+'.utils.MoneyField', { extend : 'Ext.form.field.Te ...

  7. MySQL配置文件路径及‘The total number of locks exceeds the lock table size’问题

    在删除mysql中的数据时,遇到报错: ERROR 1206 (HY000): The total number of locks exceeds the lock table size 查了查,发现 ...

  8. 虚拟机下linux上网

    一.概述 1. 常见的上网方式 有以下两种: 桥接 NAT(推荐) 有关虚拟机几种不同联网方式的讲述,可以参考VMware网络选项分析 通常的配置步骤: <1> 配置PC端 <2&g ...

  9. IOS 上传头像-b

    感谢大神分享 1.首先,后台给了我这样的接口 1-后台数据接口 2.首先加上代理方法 <UIActionSheetDelegate,UINavigationControllerDelegate, ...

  10. 《将博客搬至CSDN》 分类: 勉励自己 2014-09-05 14:29 43人阅读 评论(0) 收藏

    搬家啦,上博客园关注我哦http://www.cnblogs.com/AsuraRoute 版权声明:本文为博主原创文章,未经博主允许不得转载.