注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天涯倦客的博客

祝福你朋友永远快乐!

 
 
 

日志

 
 

Watin系列之四 Watin与VSTS单元测试工具结合  

2011-03-22 14:39:37|  分类: 软件测试 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

概述

Watin是做一个UI自动化测试工具进行开发的而非单元测试工具。但并不意味着单元测试中不可以使用Watin。有时候作为纯粹单元测试的补充,适当的UI测试也是必要的。在VSTS单元测试工具和Watin结合使用具有很多。

1)  VSTS测试工具提供了良好的运行和结果查看工具以及其它强大的功能

2)  MSunit具有丰富的断言语句进行结果判断

3)  可以在单元测试代码中穿插VSTS web测试代码,以丰富WatinUI测试

4) Watin进行UI测试可以使单元测试更直观易懂。

 

 VSTS中使用Watin的大体步骤

1)      VSTS中创建测试项目,然后创建单元测试

2)      测试项目中引用WatiN.core,创建StaticBrowserInstanceHelper

3)      编写测试代码,加入断言

4)      运行测试,查看测试结果

   如何创建测试项目,如何创建单元测试这里就不赘述了,下面从第2步骤讲起。

 

 为何使用StaticBrowserInstanceHelper

  在第二步骤中创建了StaticBrowserInstanceHelper类(该类代码在附件中)。创建这个类没有别的目的,就是解决一个在VSTS中运行watin会出现的一个问题。按照平常思路,我们直接创建单元测试,在其中编写测试代码,如下:

       //定义静态IE对象

       privatestaticIEie;

       //单元测试初始化

       [ClassInitialize]

       publicstaticvoidtestInit(TestContexttestContext)

       {

           ie =newIE("http://baidu.com");

       }

[TestMethod]

[TestMethod]

………

使用上述编写代码思路是对的,但是会出现一个问题(Watin本身的问题),运行第一个测试方法可以通过,其他测试方法均为失败。大家可以自己试一下,确实是这样。所以Watin开发人员给出了解决方案是编写一个StaticBrowserInstanceHelper类用于解决这个问题。你在编写初始化代码时,就可以这样写

 

      staticStaticBrowserInstanceHelper<IE> ieStaticInstanceHelper;

       [ClassInitialize]

       publicstaticvoidtestInit(TestContexttestContext)

       {

           ieStaticInstanceHelper =newStaticBrowserInstanceHelper<IE>();

           ieStaticInstanceHelper.Browser =newIE("http://baidu.com");

       }

       publicIEIE

       {

           get{return(IE)ieStaticInstanceHelper.Browser; }

           set{ ieStaticInstanceHelper.Browser =value; }

       }

       [ClassCleanup]

       publicstaticvoidMyClassCleanup()

       {

           ieStaticInstanceHelper.Browser.Close();

           ieStaticInstanceHelper =null;

}

[TestMethod]

[TestMethod]

 

编写测试代码,加入断言

 单元测试初始化准备代码编写之后,就可以编写测试方法了。以百度页面为例来演示测试代码编写。

  验证页面是否存在指定文本文字

       [TestMethod]

       publicvoidtestOne()

       {   //页面是否包含“百科”文字

           Assert.IsTrue(IE.ContainsText("百科"));

}

 验证页面中指定元素的Value是否正确

       [TestMethod]

       publicvoidtestThree()

       {

           Assert.AreEqual("MP3", IE.Link(Find.ByUrl("http://mp3.baidu.com/")).Text);

}

 

运行测试,查看测试结果

在测试列表编辑器中运行单元测试

 Watin系列之四 Watin与VSTS单元测试工具结合 - 海里的贝壳 - apple的博客

勾选需要测试的测试方法后,右键菜单中选择“运行选择的测试”进行测试。然后开始运行测试。测试运行结果后,会在“测试结果”面板中列出测试结果,如下

双击每项测试结果可以查看测试详细信息。

 Watin系列之四 Watin与VSTS单元测试工具结合 - 海里的贝壳 - apple的博客

至此,在VSTS测试中使用Watin的整个过程就是这样。限于篇幅限制,只能对大体的过程做些简单的介绍。

 


  评论这张
 
阅读(722)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017