专注于自动化测试,性能测试.......

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

上一篇 / 下一篇  2010-09-10 17:20:30 / 天气: 阴雨 / 心情: 平静 / 个人分类:WatiN

  概述51Testing软件测试网p)j1Eu/? IbD

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

'o|@jF[? i0

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

F8OTW2F#?+I{0

2)  MSunit具有丰富的断言语句进行结果判断51Testing软件测试网g9gq8O0n)Q$l}

3)  可以在单元测试代码中穿插VSTS web测试代码,以丰富WatinUI测试51Testing软件测试网%t_Mn'V!~'[/t ~:Ea

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

d9a$r1?7k0o7@3a0

 

^K a N T-YT"Y0

 VSTS中使用Watin的大体步骤

mi)jaP0

1)      VSTS中创建测试项目,然后创建单元测试51Testing软件测试网6~7eU3W*XPV

2)      测试项目中引用WatiN.core,创建StaticBrowserInstanceHelper51Testing软件测试网-[^$?%K,k;W~J7S

3)      编写测试代码,加入断言51Testing软件测试网d"Ju%K6M K-k/C-T0j

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

0N+E D9dE0

   如何创建测试项目,如何创建单元测试这里就不赘述了,下面从第2步骤讲起。51Testing软件测试网g$e r:n2P

 51Testing软件测试网 T(F$~&ugbQ

 为何使用StaticBrowserInstanceHelper

#Dm9n@9\.D`2AEDc0

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

Lc qM5F6f0

       //定义静态IE对象51Testing软件测试网lwIV$g+g

       privatestaticIEie;51Testing软件测试网T n`*t1{c(_H v

       //单元测试初始化

C*LO!A Q p(A+p0

       [ClassInitialize]51Testing软件测试网(Baw)i/\{[9iw-z

       publicstaticvoidtestInit(TestContexttestContext)

"S MBX#X3Js0

       {51Testing软件测试网 DrTEpi

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

sg8Y6ZvQ0

       }

&\*Mp7p8}*Lh;XO3C0

[TestMethod]

-P ux^t;F4B!{/N9pT0

[TestMethod]51Testing软件测试网c}[+od F`r

………51Testing软件测试网X7@+nF g!vX

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

{B W9{ N9ib0

 

$P l4?osO:|0

      staticStaticBrowserInstanceHelper<IE> ieStaticInstanceHelper;51Testing软件测试网h&_:C O X

       [ClassInitialize]51Testing软件测试网"u#L\+N k4kMJ i

       publicstaticvoidtestInit(TestContexttestContext)

tJg$PP'S0

       {

"J5sJ6X3c\&D0

           ieStaticInstanceHelper =newStaticBrowserInstanceHelper<IE>();

@"S;f2[8UB0

           ieStaticInstanceHelper.Browser =newIE("http://baidu.com");51Testing软件测试网7q4D-g^T

       }51Testing软件测试网2ky^2V[/o%A4Fb'Q

       publicIEIE51Testing软件测试网!qJ+k$D#f%P

       {51Testing软件测试网)N5b)ZCcs6B

           get{return(IE)ieStaticInstanceHelper.Browser; }

:@+u;` w@0GH:iE0

           set{ ieStaticInstanceHelper.Browser =value; }

:U8e }.wV z[gA0

       }

3z0L-q$ij'c0

       [ClassCleanup]

.J@ p9DLS.@0

       publicstaticvoidMyClassCleanup()51Testing软件测试网3L4o7t aN$SF

       {51Testing软件测试网M8v7hRLM

           ieStaticInstanceHelper.Browser.Close();51Testing软件测试网,S*R._rIf

           ieStaticInstanceHelper =null;

V1z GsD0

}51Testing软件测试网7Wa(]9Mc%L3Z

[TestMethod]

d9g q(y8pE.ZwhG1u+J0

[TestMethod]51Testing软件测试网/hn4e8kP.dfj5Ts3{

 51Testing软件测试网 S+YLr\(b

编写测试代码,加入断言

B%x8k P5]0

 单元测试初始化准备代码编写之后,就可以编写测试方法了。以百度页面为例来演示测试代码编写。51Testing软件测试网Mo:|r5R*Z5k#}

  验证页面是否存在指定文本文字51Testing软件测试网%eT H$Thk}

       [TestMethod]

8jI#V+db#a9?,p0

       publicvoidtestOne()

+S1E x6Og0

       {   //页面是否包含“百科”文字51Testing软件测试网2z(}PC n$V

           Assert.IsTrue(IE.ContainsText("百科"));51Testing软件测试网q_ W%o7G?!g

}

7vd0|$TE0

 验证页面中指定元素的Value是否正确51Testing软件测试网P6~ HN_;p1p4Fqr

       [TestMethod]51Testing软件测试网COa*V&] \MF(]

       publicvoidtestThree()

N+`Yk2YD0

       {

Jf C/S!A0L(Xb~0

           Assert.AreEqual("MP3", IE.Link(Find.ByUrl("http://mp3.baidu.com/")).Text);51Testing软件测试网"T7s*V%Xj H

}51Testing软件测试网RB]5WGk

 51Testing软件测试网 UT$V2lA&eD

运行测试,查看测试结果

N#d QPzP0

在测试列表编辑器中运行单元测试51Testing软件测试网 rmp4Cq0l ?

51Testing软件测试网FY1Ok GA

 

d+J.eN X"m6ct0

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

51Testing软件测试网F SG9y$oW0? E

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

g*I@-@v0

 51Testing软件测试网i*g,Q P`&s

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

1BUv;?Q,F0

 

hv)|"{RNf0

TAG: WatiN Watin

 

评分:0

我来说两句

wxf_xsfy

wxf_xsfy

自动化测试的拥簇者,善于自动化测试的框架和工具开发,TIB工作室核心成员

日历

« 2024-04-21  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 381373
  • 日志数: 79
  • 图片数: 1
  • 文件数: 1
  • 书签数: 3
  • 建立时间: 2007-09-19
  • 更新时间: 2018-01-30

RSS订阅

Open Toolbar