White:一个新的 Windows 界面开发测试框架

  • Jay Flowers
  • 乔梁

2008 年 2 月 24 日

话题:敏捷.NET测试语言 & 开发架构文化 & 方法

一种新的界面测试框架发布了,名为 White。White 与 WatiN 类似,它封装了微软的 UIAutomation 库和 Window 消息,可以用于测试包括 Win32,WinForm, WPF 和 SWT(java)在内的软件。ThoughtWorks 的 Vivek Singh 是该项目的 Leader,他已将White 放在了 CodePlex 上。White 具有面向对象的 API,很容易来控制一个应用,它也可以与 xUnit.Net,MbUnit,NUnit,MSTest 这样的测试框架结合使用,甚至 Fit.Net 也可以。

第一个按钮只有一个非常简单的动作,即当你点击它时,它的名称会改为“Hello World!!”。其测试代码如下:

[Test]

public void ButtonClickable_btnClick1_ChangesText()

{

    Application application = Application.Launch(path);

    Window window = application.GetWindow("White Hello World", InitializeOption.NoCache);

    Button button = window.Get<button>("btnClick1");   #1

    //Moves the mouse to click the button</button>

      button.Click();                   #2

    Assert.AreEqual("Hello World!!", button.Name);       #3

}

#1  Using the Get method, we can give it the type and name of the control we want to access.

#2  We can then call the Click method which will move the mouse cursor over to the button and click it.

#3  We can then verify that the action was correctly performed, in this case the Name has changed.

敏捷.NET测试语言 & 开发架构文化 & 方法