测试框架:利用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/

相关文章
|
10天前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
19 0
|
29天前
|
安全 测试技术
现代软件测试中的自动化技术应用及挑战
在当今数字化时代,软件测试的重要性日益凸显。本文探讨了现代软件测试中自动化技术的应用现状和挑战,分析了自动化测试在提高效率、降低成本、增强可靠性等方面的优势,同时也提出了自动化测试所面临的挑战和解决方案。
|
26天前
|
jenkins 测试技术 持续交付
现代软件测试中的自动化工具与挑战
随着软件开发领域的不断发展,自动化测试工具在测试过程中扮演着越来越重要的角色。本文将探讨现代软件测试中自动化工具的应用及面临的挑战,旨在帮助开发人员和测试人员更好地理解和应对自动化测试中的问题。
|
3天前
|
敏捷开发 监控 前端开发
深入理解自动化测试框架Selenium的架构与实践
【4月更文挑战第16天】 在现代软件开发过程中,自动化测试已成为确保产品质量和加快迭代速度的关键手段。Selenium作为一种广泛使用的自动化测试工具,其开源、跨平台的特性使得它成为业界的首选之一。本文旨在剖析Selenium的核心架构,并结合实际案例探讨其在复杂Web应用测试中的高效实践方法。通过详细解读Selenium组件间的交互机制以及如何优化测试脚本,我们希望为读者提供深入理解Selenium并有效运用于日常测试工作的参考。
11 1
|
4天前
|
自然语言处理 测试技术 API
深入理解自动化测试框架Selenium的设计理念与实践
【4月更文挑战第15天】 在现代软件开发过程中,自动化测试已成为确保产品质量和加速迭代的关键手段。Selenium作为一种广泛使用的自动化测试框架,提供了对多种浏览器和平台的支持,极大地促进了Web应用的功能测试。本文旨在剖析Selenium的核心设计理念,探讨其在实际项目中的应用,并指出常见的误区及最佳实践,以期帮助测试工程师更高效地利用Selenium进行测试工作。
|
5天前
|
监控 测试技术 API
深入理解自动化测试框架Selenium的设计与实现
【4月更文挑战第14天】在软件开发过程中,自动化测试是确保代码质量、减少人工重复劳动的关键步骤。Selenium作为一款广泛使用的自动化测试工具,提供了对多种浏览器和操作系统的支持。本文将探讨Selenium的核心组件及其架构设计,分析其如何通过WebDriver与浏览器交互,以及它如何支持多种编程语言进行脚本编写。同时,我们还将讨论Selenium Grid的作用以及它如何实现并行测试,以缩短测试周期并提高测试效率。
170 59
|
7天前
|
Web App开发 前端开发 Java
框架分析(11)-测试框架
框架分析(11)-测试框架
|
10天前
|
敏捷开发 监控 测试技术
深入探索软件测试中的自动化边界
【4月更文挑战第10天】 在现代软件开发过程中,自动化测试已成为提升效率、确保质量的关键手段。然而,随着技术的不断进步和项目需求的多样化,确定自动化的合理边界成为测试工程师面临的重要问题。本文将探讨如何界定自动化测试的有效范围,包括成本效益分析、风险评估与技术选型等方面,并提出一种基于风险和回报权衡的自动化测试策略。
|
10天前
|
测试技术 Linux Apache
网站压力测试工具webbench图文详解
网站压力测试工具webbench图文详解
8 0
|
12天前
|
测试技术
深入理解软件测试中的自动化边界
【4月更文挑战第7天】 在追求快速交付和质量保证的双重压力下,软件测试领域正经历着从手工到自动化的转变。本文旨在探讨自动化测试的有效边界,即哪些场景适合自动化,以及如何界定这些边界以优化测试策略。通过对自动化测试优势、挑战及适用性的分析,文章为读者提供了一个清晰的框架,用于评估和实施自动化测试。

热门文章

最新文章