Thought about system by Hiroyasu Ishikawa

We are uncovering better ways of developing system.

テストライブラリ Friendly を触ってみた

UIテスト*1のライブラリを触ってみた。

GitHub - Codeer-Software/Friendly.Windows

背景

業務でUIテストを手動でやっていて、少し辛い。"Be Lazy."の言葉に従って自動化のF/Wやライブラリを触ってみている。
Google検索で見つけてひょっとしたら良いカモ、と思ったので。

準備・実装

NuGetでダウンロードして、テストコードを書く。

[TestMethod]
public void TestMethod1()
{
	var app = new WindowsAppFriend(Process.Start("UITestSample.exe"));
	var process = Process.GetProcessById(app.ProcessId);

	dynamic form = app.Type<Control>().FromHandle(process.MainWindowHandle);
	form.SetTextBoxText("HELLO");
	string text = form.GetTextBoxText();

	Assert.AreEqual("HELLO", text);

	process.CloseMainWindow();
	app.Dispose();
}

所管

UIにメッセージ送って動作させる物ではないのでUIテストっぽくない。
プロセスに対して操作するので、結合テスト用には使えるかも。

*1:実際は結合テスト