Windows Automation Testing Framework – TestStack.White (一)

TestStack.White 是一個 Windows UI 自動化測試框架,它是基於包裝 Windows 原生的自動化測試框架 – UIAutomation – 而成的,寫法與做法上會比直接使用 UIAutomation 還要直覺。

以下來看看如何簡單使用 TestStack.White 來操控 Windows 的應用程式。
我們會需要完成下列步驟:
1. 準備使用環境
2. 建立一個 C# 專案
3. 安裝 TestStack.White
4. 使用 TestStack.White 撰寫測試專案並執行此專案

1. 準備使用環境

  • 安裝 Visual Studio 2010 以上(因為 NuGet 從 VS 2010 開始支援 )
  • 若無 .Net Framework 4 以上,則安裝 .Net Framework 4 以上 (下載點

2. 建立一個 C# application

  • 開啟 VisualStudio → 新 C# 專案 → 選擇 Console application

3. 在此專案安裝 TestStack.White

4. 使用 TestStack.White 撰寫測試專案並執行此專案

以下利用 TestStack.White 開啓 Notepad 程式,在文件內輸入 “Hello World!” 字串後,不儲存檔案並離開 Notepad

using TestStack.White;
using TestStack.White.UIItems.WindowItems;
using TestStack.White.UIItems.Finders;
using TestStack.White.UIItems;
using TestStack.White.Factory;
using TestStack.White.InputDevices;
using TestStack.White.WindowsAPI;

namespace TestStackWhiteNotepad
{
    class Program
    {
        // Path of source exe file. Here is Notepad exe path.
        private const string ExeSourceFile = @"Notepad.exe";
        static void Main(string[] args)
        {
            // Lanunch Notepad
            Application application = Application.Launch(ExeSourceFile);
            application.WaitWhileBusy();

            // Get NotePad Window
            Window mainWindow = application.GetWindow("未命名 - 記事本");
            var editField = mainWindow.Get<TextBox>(SearchCriteria.ByAutomationId("15"));

            // Set the value
            editField.SetValue("Hello World!");

            // Exit Notepad without saving file
            var closeBTN = mainWindow.Get<Button>(SearchCriteria.ByAutomationId("Close"));
            closeBTN.Click();
            mainWindow.Keyboard.PressSpecialKey(KeyboardInput.SpecialKeys.RIGHT);
            mainWindow.Keyboard.PressSpecialKey(KeyboardInput.SpecialKeys.RETURN);
        }
    }
}

以上我們已經大略知道如何創建一個使用 TestStack.White 的專案,下一篇將會再深入一點介紹 TestStack.White 一些常用取得 UIA Control 元件的方法。

參考資料
1. TestStack.White 官方網站
2. TestStack.White – UIItem Identification
3. .NET – UI automation with the White framework
4. White: An UI Automation Tool for Windows Application
5. TestStack.White

廣告

One thought on “Windows Automation Testing Framework – TestStack.White (一)

發表迴響

Please log in using one of these methods to post your comment:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s