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

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

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

&T6p%L-V){~:J0

2)   MSunit 具有丰富的断言语句进行结果判断 51Testing软件测试网:]/a1DnR

3)   可以在单元测试代码中穿插 VSTS web 测试代码,以丰富 Watin UI 测试 51Testing软件测试网/zs'q By&kKLuT-IW

4)   Watin 进行 UI 测试可以使单元测试更直观易懂。 51Testing软件测试网0dM%q/N/g]vdP(R

  51Testing软件测试网.u(d[BoB

  VSTS 中使用 Watin 的大体步骤 51Testing软件测试网%GA0pH9sm

1)       VSTS 中创建测试项目,然后创建单元测试 51Testing软件测试网Q5Ee%^0_uEj

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

O)Vo{f;B+aY5DS0

3)       编写测试代码,加入断言 51Testing软件测试网)YB0s!i{(THk5v.v

4)       运行测试,查看测试结果 51Testing软件测试网 xC#cWgX+T9O

    如何创建测试项目 , 如何创建单元测试这里就不赘述了,下面从第 2 步骤讲起。 51Testing软件测试网U;G g)nk

 

;HJP /BYR0

  为何使用 StaticBrowserInstanceHelper 51Testing软件测试网 ]2H Ox7vvN

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

7[8M8T'dc0

        //定义静态IE对象

UFks/_?1r0

        private static IE ie;

V*yBb#~w0

        //单元测试初始化 51Testing软件测试网1x2|2[4Wu2t^ S

        [ClassInitialize ] 51Testing软件测试网p r�c&lk M @ ?

        public static void testInit(TestContext testContext) 51Testing软件测试网&n*m]1?~0b

        { 51Testing软件测试网Xaw4u#X"Z G

            ie =new IE ("http://baidu.com" ); 51Testing软件测试网]d&Pc0] [ s D

        }

/sgLp5Y6O%x0

[TestMethod ] 51Testing软件测试网9r�U7E5ElD

[TestMethod ]

dOiq"s$jx![m0

……… 51Testing软件测试网 Iu#W"dSHU

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

 

V'}M u/]0O0

       static StaticBrowserInstanceHelper <IE > ieStaticInstanceHelper;

r"|$~s0C7a6g.gQ0

        [ClassInitialize ]

;d$jK.U(~ ?'c0

        public static void testInit(TestContext testContext)

ie;/;L,K T0

        { 51Testing软件测试网r/@&k!~I g4Z

            ieStaticInstanceHelper =new StaticBrowserInstanceHelper <IE >();

!tk'z"ceT:A7L0

            ieStaticInstanceHelper.Browser =new IE ("http://baidu.com" ); 51Testing软件测试网�LPu"m,n

        }

)v3Z!` C#}`pt%o;Q0

        public IE IE 51Testing软件测试网7O2e`3{5d"s

        {

Ku*q-tXJF0

            get {return (IE )ieStaticInstanceHelper.Browser; }

M dc�[4s y)|8e0

            set { ieStaticInstanceHelper.Browser =value ; } 51Testing软件测试网MV$Zh1i�l"w@/(x Y

        }

C(q3j1bC3RM p2g&s)v0

        [ClassCleanup ]

D2S/t$Q-{8iR3[1`0

        public static void MyClassCleanup()

K^q9M iY R0

        { 51Testing软件测试网"S Rdb(`B e

            ieStaticInstanceHelper.Browser.Close(); 51Testing软件测试网Z5V ~ U)R

            ieStaticInstanceHelper =null ;

bUWO)?y(p9x0

}

5@'@$ex8Oy0

[TestMethod ] 51Testing软件测试网b*r)W-}3`/

[TestMethod ] 51Testing软件测试网Z.Q6v5/I{-U

  51Testing软件测试网:qS7oGcJj?*~

编写测试代码 , 加入断言 51Testing软件测试网;m8Cf TFtjN-rx9Y`

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

S O7XrU#S&^ Y pu0}0

    验证页面是否存在指定文本文字 51Testing软件测试网O4//u$};H"R)[K

        [TestMethod ] 51Testing软件测试网o6J0P"V o`L

        public void testOne() 51Testing软件测试网 Dt�X^)Jfq2}

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

EUy/R0

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

2b ]/Y8n/t.X{0

} 51Testing软件测试网O,aQ'GbO!U

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

,h]H_7u r.X9e)G0

        [TestMethod ]

$J5w0^["GI1l ?!Q0

        public void testThree() 51Testing软件测试网(w_ _)op-y(Q

        { 51Testing软件测试网$F7uH,g1A Z,s

            Assert .AreEqual("MP3" , IE.Link(Find .ByUrl("http://mp3.baidu.com/" )).Text); 51Testing软件测试网m_fn Zu:E?

}

'J'W6j%H*JDD0

  51Testing软件测试网H7T6J6q%WIH�X

运行测试 , 查看测试结果

g u'zJ�A1{"?'z0

在测试列表编辑器中运行单元测试 51Testing软件测试网|+UO!r8n/Cb'c

Os8[_"o0

 

%P[Ga7p$JZP0

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

 

)P�psOz*{6o |.P0VX Q0

双击每项测试结果可以查看测试详细信息。 51Testing软件测试网.r,Fx/cH]

  51Testing软件测试网._nci M

至此,在 VSTS 测试中使用 Watin 的整个过程就是这样。限于篇幅限制,只能对大体的过程做些简单的介绍。 51Testing软件测试网6N'Dc*O�{(i

  51Testing软件测试网Fm"M.o/@7W1l

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值