WatiN自动化测试实践

上传人:206****923 文档编号:37506575 上传时间:2018-04-17 格式:DOC 页数:28 大小:568KB
返回 下载 相关 举报
WatiN自动化测试实践_第1页
第1页 / 共28页
WatiN自动化测试实践_第2页
第2页 / 共28页
WatiN自动化测试实践_第3页
第3页 / 共28页
WatiN自动化测试实践_第4页
第4页 / 共28页
WatiN自动化测试实践_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《WatiN自动化测试实践》由会员分享,可在线阅读,更多相关《WatiN自动化测试实践(28页珍藏版)》请在金锄头文库上搜索。

1、WatiN 自动化测试实践本书前面章节介绍了 watir 的使用,而在本章我们将介绍一款受到 watir 项目的启发, 从而在.NET 平台上开发的 Web 开源测试工具下项目-WatiN. 如果你已经阅读过本书中前 面有关于 Watir 的章节,那么将会对更好的理解本章的内容有所帮助。如未阅读也没关系, 本章的内容是个从零开始的过程,并不依赖其他章节。 本章将首先就 WatiN 的概况,如何安装以及基础知识进行讲解,然后对 WatiN 中的一 些高级应用进行知识面的扩展,再之后介绍如何使 WatiN 与.NET 平台的单元测试工具结 合来更好的管理和运行测试,最后通过一个具体的实例来把之前介

2、绍的内容串联起来,来 达到在实际工作中熟练运用 WatiN 进行自动化测试项目的实施的目的。3.1 WatiN 简介在学习 WatiN 的使用之前,我们先对 WatiN 的情况做一些简单的介绍,通过简介你会 知道 WatiN 可以做什么以及它的优势在哪里。3.1.1 WatiN 介绍WatiN 的全称为“Web Application Testing In .Net”,是由 Jeroen van Menen 在 2005 创建 并开发的一个开源项目。之初,他开发的目的是为了替代当时在公司使用的商业工具,之 后在应用中取得了巨大的成功,并且当时缺少一款免费且好用的基于.net 的 web 测试工

3、具, 所以最后他决定把这个项目开源。WatiN 项目创建之后得到了广泛的使用,目前已有超过 12 万次的下载量。由于 watin 是基于.net 开发的,所以如果公司开发项目的环境是.net 的话, 选择 watin 作为测试工具可以更好的与现有项目集成,缩短学习周期,是个不错的选择。 下面简单罗列了 Watin 的一些主要功能,已给读者更好的确定 watin 是否适合本公司的情 况作出参考。 支持 AJAX 站点测试 支持 web 页面截图 支持 frames 和 iframes 可以处理 alert,confirm 之类的弹出提示框 支持 HTML 对话框 可以很容易与现有的单元测试工具集

4、成 支持 IE6,7,8,9 以及 Firefox 2,3 浏览器 代码开源,可以二次开发适合自己的功能3.1.2 WatiN 与其它自动化测试工具的比较3.2 WatiN 自动化测试环境搭建古语有云:工欲善其事,必先利其器。为了更为简易,便捷的使用 WatiN 进行自动化 测试,搭建一个合理的测试环境可以使我们事半功倍。3.2.1WatiN 的安装配置WatiN 目前最新的版本是 2.1.0.1196,可以从地址 http:/ WatiN%202.x/2.1/下载最新版本的安装包。对于使用一个工具,首先了解它的目录结构是 非常重要的,尤其是对于开源的工具,里面会包含大量的的有关工具使用的知识

5、以及相关 的说明文件。那么我们把下载的源文件解压缩后,目录如图 3-1 所示:图 3-1 WatiN 源文件的目录结构源文件目录说明: Bin:包含.Net 2.0,3.5,4.0 几个版本的编译过的 WatiN 程序集,其中最重要就是 WatiN.Core.dll 这个文件,这个就是 WatiN 的核心文件,在创建自动化测试项目后,都要 在项目中引用该文件。 Examples:包含几个介绍 WatiN 使用的几个示例。这几个示例分别说明了 WatiN 的几个高 级应用或扩展,相关的知识会在后面的章节中一一进行讲解。 Mozilla :包含 WatiN 在使用 Firefox 进行测试执行时需

6、要的几个不同版本的 jssh 插件。 Source :包含 WatiN 的源代码。 WatiN.chm: WatiN 的帮助文档,可以帮助我们更好的了解 WatiN 的组成和使用。在编写测 试代码的过程中,它是一个非常好的工具文档。在我们了解了 WatiN 源文件的文件组成后,应该有点迫不及待的想体验一下 WatiN 了。 不过在此之前,我们还需要把 WatiN 的相关测试环境搭建起来。 我们需要首先安装 Vistual Studio 2008 或以上版本,需要说明的是,本章的所有代码或 截图都基于 Vistual Studio 2008,所以为了学习的方便,也建议大家安装这个版本,具体的 安

7、装过程这里就不再赘述。Vistual Studio 安装之后,为了使用 WatiN,我们只需要在创建 的项目中引用 WatiN.Core.dll 这个文件即可,创建的项目可以是控制台程序,桌面程序或 者测试项目。本章中的代码示例大都是在控制台程序中编写的,所以就以控制台程序为例 来说明引用 WatiN 的具体过程:创建控制台程序创建控制台程序 打开 Vistual Studio 2008,新建项目,在项目模版中选择“控制台应用程序”,名称命名为“WatiNTest”,点击确定。图 3-2 在 Visual Studio 2008 中创建控制台应用程序添加添加 WatiN 引用引用 WatiNT

8、est 项目创建完毕后,在“解决方案资源管理器”面板中,右键点击“引用” 文件夹,然后点击“添加引用”,出现“添加引用”的对话框。图 3-3 添加 WatiN 的引用 在“浏览”中,找到 WatiN 源文件中/bin/net3.5 目录,选择“WatiN.Core.dll”文件, 点击确定。成功添加 WatiN.Core.dll 文件的引用后,我们还需要在代码中引用相关的命名 空间。图 3-4 引用 WatiN.Core 命名空间到这里,我们就完成了 WatiN 测试环境的搭建。3.2.2 WatiN 开发环境及辅助工具3.2.1 小节介绍了如何安装配置 WatiN,大家对构建一个 WatiN

9、 的测试环境也有了初步的 认识。本节会更为细致的介绍在开展 WatiN 自动化测试过程中可能会用到的一些其它工具。 这些工具的使用可以在日常工作中给我们带来很大的便捷,下面我们根据自动化测试实施 的阶段的划分来进行介绍。WatiN 自动化测试设计阶段自动化测试设计阶段IE 开发人员工具 一款 IE 自带的 web 开发者工具,IE8 后已经和浏览器集成在一起了,直接“F12”就 可以打开该工具。该工具的其它功能不提,我们主要用到它的查找元素功能,用来查看元 素的属性及属性值。查看元素属性,只需要点击“单击选择元素”按钮,然后把鼠标的光 标移动到需要查看的元素上单击即可在工具界面中定位出元素的

10、HTML 代码。图 3-5 IE 开发者工具的界面FirebugFirefox 浏览器中著名的插件应用,同样是一款功能强大的 Web 开发者工具。它集 HTML 查看和编辑、Javascript 控制台、网络状况监视器于一体,是开发 JavaScript、CSS、HTML 和 Ajax 的得力助手。同样,我们也只常用到它的查找元素功能, 用法与 IE 开发人员工具类似。图 3-6 Firebug 工具的界面WatiN Test Recorder一款在 SourceForge 上开源的 WatiN 脚本录制工具,使用该工具可以实现类似于商业化自 动化测试工具的录制脚本功能,可以在内嵌的浏览器中进

11、行脚本录制操作,录制完毕后可 以输出 C#的测试脚本。最近该工具发布了最新的 3.0 版本,并改名为 Test Recorder,现在并 不仅仅可以输出 WatiN 的测试脚本,还可以输出 Watir,Selenium 等自动化测试工具的测试 脚本。 该项目链接: http:/ 自动化测试执行阶段自动化测试执行阶段Nunit 单元测试框架Nunit 是.NET 平台上应用非常广泛的单元测试工具,Gallio 单元测试框架3.3 WatiN 自动化测试基础搭建好 WatiN 的开发环境后,我们正式开始介绍如何使用 WatiN 来进行自动化测试, 首先我们来介绍 WatiN 的基本语法以及 API

12、 的使用。3.3.1WatiN 基本语法前面提到过,WatiN 是在.NET 平台上使用 C#开发,那么凡是.NET 平台之上的编程语 言都可以用来开发 WatiN 的自动化测试脚本,而在本章节中我们使用应用比较广泛的 C# 语言,所以在本章中的所有示例代码,都是使用 C#编写的。由于篇幅所限,本文不会再就 C#的基本语法和使用做进一步细致的说明,所以我们假定本书的读者都具备了一定的 C# 语言基础。就如学习任何一门新的编程语言,我们总是从输出“Hello World!”这句话开始一样。 在学习一款自动化测试工具,我们往往都是从 Google 的搜索开始。在本章中,我们也不准 备打破这一惯例,

13、依然从测试 Google 的搜索开始。先看看下面这段代码.using WatiN.Core;namespace GoogleTestSampleclass ProgramSTAThreadstatic void Main(string args)IE ie = new IE(); /打开空白的IE浏览器ie.GoTo(“http:/.hk“); /导航到Google网站ie.TextField(Find.ByName(“q“).TypeText(“WatiN“); /输入搜索条件ie.Button(Find.ByName(“btnK“).Click(); /点击搜索按钮这个简单例子演示了在控制

14、台程序中编写 WatiN 测试脚本,值得注意的是在程序入口 的 Main()方法前,我们加入STAThread这个属性标识。这是因为 IE 浏览器是非线程安 全的,我们必须在单线程单元(STA)模式下调用 IE 的 COM 才不会出错。所以在控制台 或者 GUI 程序中编写 WatiN 测试代码,要在程序的入口处加上STAThread.这段代码首先是初始化一个对象 ie ,这个对象就代表着打开的 IE 浏览器。然后我们调用 对象的 GoTo()方法导航到 Google 的网站。然后在 Google 网站的搜索框中输入“WatiN” , 最后点击搜索按钮进行搜索。对于代码中 IE, TextFi

15、eld, Button 等对象以及它们的方法不太明白不要紧,后面我们会对 它们代表的含义以及使用方法做进一步的说明,目前只要求大家对 WatiN 的测试代码有个 初步的印象。 3.3.2 WatiN API 基本使用3.4 WatiN 对象识别方法WatiN 的核心在于对 web 页面元素的定位以及处理,这也就是我们所说的对象识别。 这个过程就是先定位到我们需要测试的页面元素,然后通过调用与此元素对应的 WatiN 类 的方法来操纵页面元素。本章就来讲解如何定位页面中的元素,以及元素对象可使用的方 法。3.4.1 WatiN 的页面元素映射表WatiN 是通过 HTML Dom 来定位和处理页

16、面中的元素的,所以针对 Dom 中不同的对象, WatiN 也封装了对应的对象来操纵页面中的元素。下面列表列出了 web 页面中 Html 元素与对应的 WatiN 类的映射关系。Html 元素WatiN 类示例Linkvar link = browser.Link(linkId);Areavar area = browser.Area(Find.ByAlt(alttext);Buttonvar button = browser.Button(buttonId);Divvar div = browser.Div(divId);Formvar form = browser.Form(formId);Framevar frame = browser.Frame(frameId);FrameCollectionvar frames = br

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号