测试框架:利用WatiN自动化网站功能测试

简介:
 网站到结束阶段,发现每改一个 bug,都要重新打开每个页面 测试页面能否打开,并且打开页面后进行一些操作测试能否正常进行。每次部署后,发现新Bug修复后,都要做一遍 功能测试
  先普及一下什么是功能测试吧。简单的说功能测试主要是参照用户手册,看看能不能完成所预先设计的功能状态,有点类似于从用户使用的角度来做测试。比如一个网站登陆的功能,做功能测试,我们需要验证能否打开登陆的页面,输入用户名,密码,看是否成功….
  WatiN是开源的C#库,利用它我们可以把需要手工做的功能测试自动化。
  watiN官方下载地址:
  http://sourceforge.net/project/showfiles.php?group_id=167632
  下载后解压,假设解压到: c:\Program Files\WatiN\,
  在c:\Program Files\WatiN\bin\目录下有个watiN.Core.dll文件,这个是最主要的动态链接库。
  咱们先用VS新建一个Test Project吧,不会的请看我博客上的前一篇 文章
   利用VisualStudio白盒测试入门
  当然我们也可以不建Test Project,建其他的Console Application或者 Windows Application都是可以的。
  建好工程后,添加对WatiN.Core.dll的引用(Add Reference).
   在代码中添加命名控件的引用:
  using WatiN.Core;
  然后新加一个Test Method,如下:
public void TestLoginFailed()
{
using (IBrowser ie = BrowserFactory.Create(BrowserType.InternetExplorer))
{
ie.GoTo("http://www.google.com");
ie.TextField(Find.ByName("q")).Value = "WatiN";
ie.Button(Find.ByName("btnG")).Click();
Assert.IsTrue(ie.ContainsText("WatiN"));
}
}
  呵呵,运行一下,看看效果吧,是不是自动打开IE,然后打开google在搜索框上填入了关键词,点击搜索,看到搜索结果了呢?
  控制浏览器就是这么简单的几句话就完成了。



  估计有人会说了,你怎么知道google页面的输入框的名字是“q”,按钮名字是“btnG”呢? 看网页源代码去吧。
  呵呵,有个很好用的工具,对我们分析网页很方便。他就是 IE Developer Toolbar
  官方下载地址:
  http://www.microsoft.com/downloads/details.aspx?FamilyID=e59c3964-672d-4511-bb3e-2d5e1db91038&displaylang=en
  安装完之后,打开IE,可以看到如下图所示的东东:
  用这个我们就可以很方便的得到自己所需要的网页元素的各种属性了。
  我最近就爱上它了,看上哪个网站的网页做得好,自己想照搬,就用这个工具,很简单就搞定了。比起自己去研究他的网页源代码方便多了。


最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
6月前
|
前端开发 测试技术 API
测试金字塔:别再只盯着UI自动化了
测试金字塔:别再只盯着UI自动化了
587 116
|
6月前
|
敏捷开发 测试技术 API
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
455 116
|
6月前
|
人工智能 自然语言处理 测试技术
从人工到AI驱动:天猫测试全流程自动化变革实践
天猫技术质量团队探索AI在测试全流程的落地应用,覆盖需求解析、用例生成、数据构造、执行验证等核心环节。通过AI+自然语言驱动,实现测试自动化、可溯化与可管理化,在用例生成、数据构造和执行校验中显著提效,推动测试体系从人工迈向AI全流程自动化,提升效率40%以上,用例覆盖超70%,并构建行业级知识资产沉淀平台。
从人工到AI驱动:天猫测试全流程自动化变革实践
|
6月前
|
人工智能 自然语言处理 JavaScript
利用MCP Server革新软件测试:更智能、更高效的自动化
MCP Server革新软件测试:通过标准化协议让AI实时感知页面结构,实现自然语言驱动、自适应维护的自动化测试,大幅提升效率,降低脚本开发与维护成本,推动测试左移与持续测试落地。
|
6月前
|
测试技术 API 数据库
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
484 114
|
6月前
|
SQL 安全 Linux
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
307 1
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
|
6月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
540 1
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
|
7月前
|
安全 Linux 网络安全
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
442 2
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
|
7月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
505 1
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
|
6月前
|
存储 数据采集 监控
Python定时爬取新闻网站头条:从零到一的自动化实践
在信息爆炸时代,本文教你用Python定时爬取腾讯新闻头条,实现自动化监控。涵盖请求、解析、存储、去重、代理及异常通知,助你构建高效新闻采集系统,适用于金融、电商、媒体等场景。(238字)
993 2