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的死锁、无法找到的控件等等。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构