WatiN——Web自动化测试(一)

软件测试行业目前在国内逐渐的发展起来了,但是国内的软件测试行业主要是 黑盒测试也就是我们平常所说的系统测试或功能测试,但真正做到像微软那样的所有测试开发还是很少。

下面言归正传,讲解一下WatiN

1、 WatiN是什么?

WatiN Web Application Testing in .Net,它是在.Net平台喜爱调用IE进行Web 程序测试的开源工具。WatiN的官方网站:http://watin.sourcefoge.net/

说到Web自动化测试工具,大家可能最熟悉的是QTPLoadRunner。此两者的强大之处我想大家都有耳闻,另外就是利用Ruby语言开发的自动化测试框架WatirWatiNWatir之间有很多相似之处,其最大的区别可能就是语言上的区别。

2、 WatiN什么用处以及特征?

1WatiN有什么用处,勿容置疑的是,它可以帮助我们进行Web的自动化测试,是不是我们不需要进行任何操作呢,并不是这样的,WatiN只是提供我们一个框架,要想是WatiN成为我们平时中应用的工具,还必须得开发WatiN相关的自动化工具。

 2WatiN是一种非常容易上手的自动化测试框架,可以帮助我们程序员平时作一些简单的调试和反复工作;WatiN是用C#语言进行开发的,所以我们只要了解C#语言就可以进行WatiN的开发。

3WatiN类库

 

其实我们平时应用中主要的是在WatiN.Core下类以及方法。WatiN.Core中包括了我们平时网页中所有的元素我们只需要使用IE8进行查看,利用相应的类方法进行调用即可。

 

WatiN.Core下的类的展示及关系

 

由此看来WatiN真的还就不难。

 

3、 简单的示例展示

1)示例一

public static void TestBaiDu1()

        {

            //通过ID

            using (IE ie = new IE("http://www.baidu.com"))

            {

                ie.TextField("kw").TypeText("谷歌1");

                ie.Button("su").ClickNoWait();

                Thread.Sleep(2000);

                ie.Close();

            }

        }

IE ie = new IE("http://www.baidu.com") 直接打开百度的网页;

ie.TextField("kw").TypeText("谷歌1");将文本框进行赋值;

ie.Button("su").ClickNoWait();点击Button事件;

ie.Close();ie关闭。

 

2)实例二

public static void TestBaiDu2()

        {

            //通过Name

            using (IE ie = new IE("http://www.baidu.com"))

            {

                ie.TextField(txt => txt.Name == "wd").TypeText("谷歌2");

                ie.Button(btn => btn.Id == "su").ClickNoWait();

                Thread.Sleep(2000);

                ie.Close();

            }

        }

同样的是打开网页,将文本框的赋值和Button的点击事件通过其他的方法进行查找的。

 

以上就是WatiN的最基本的认识,希望大家拍砖,后续我将陆续的写上我研究WatiN的文章,将自己的心得分享给大家,在Web测试中将有很多的问题,包括IE的死锁、无法找到的控件等等。

posted @ 2011-04-02 15:54  stonespawn  阅读(2561)  评论(4编辑  收藏  举报