WatiN——Web自动化测试(一)
软件测试行业目前在国内逐渐的发展起来了,但是国内的软件测试行业主要是 黑盒测试也就是我们平常所说的系统测试或功能测试,但真正做到像微软那样的所有测试开发还是很少。
下面言归正传,讲解一下WatiN。
1、 WatiN是什么?
WatiN 即Web Application Testing in .Net,它是在.Net平台喜爱调用IE进行Web 程序测试的开源工具。WatiN的官方网站:http://watin.sourcefoge.net/。
说到Web自动化测试工具,大家可能最熟悉的是QTP,LoadRunner。此两者的强大之处我想大家都有耳闻,另外就是利用Ruby语言开发的自动化测试框架Watir。WatiN和Watir之间有很多相似之处,其最大的区别可能就是语言上的区别。
2、 WatiN什么用处以及特征?
(1)WatiN有什么用处,勿容置疑的是,它可以帮助我们进行Web的自动化测试,是不是我们不需要进行任何操作呢,并不是这样的,WatiN只是提供我们一个框架,要想是WatiN成为我们平时中应用的工具,还必须得开发WatiN相关的自动化工具。
(2)WatiN是一种非常容易上手的自动化测试框架,可以帮助我们程序员平时作一些简单的调试和反复工作;WatiN是用C#语言进行开发的,所以我们只要了解C#语言就可以进行WatiN的开发。
(3)WatiN类库
其实我们平时应用中主要的是在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的死锁、无法找到的控件等等。