LoginSignup
10
10

More than 5 years have passed since last update.

White を使って Windows の GUI操作して別のプログラムを立ち上げる…

Last updated at Posted at 2013-12-11

Windows の GUI操作に White というライブラリを使う。
ググりやすい名前で、目的のものに達するのに時間がかかる。 site: とか付けて探すことが多い。

http://teststack.azurewebsites.net/white/index.html
https://github.com/TestStack/White

http://white.codeplex.com/

nuget で White を入れて参照して次のようなのを使っている。
サンプルとして、スタートメニューからcmd.exeを立ち上げてなんかコマンドを入力して実行するソース(C#)を載せる。

これは Jenkins のWindowsバッチから vmrun を使って VMware Player を立ち上げると、そのJOBが終ると同時にVMware Playerも死ぬので、こうやってムリやり vmrun している。
タスクバー隠すようにしている場合は、マウスカーソルを一番下とかに一度持っていって Sleepを入れる…。

var desktop = Desktop.Instance;
var startButton = desktop.Get(SearchCriteria.ByText("スタート"));
startButton.Click();
var startMenu = desktop.Get(SearchCriteria.ByText("スタート メニュー"));
var run = startMenu.Get(SearchCriteria.ByText("ファイル名を指定して実行..."));
run.Click();
var ws = desktop.Windows();
var w = ws.Find(x => x.Name == "ファイル名を指定して実行");
Thread.Sleep(1000);
var edit = w.Get(SearchCriteria.ByText("名前(O):").AndControlType(ControlType.Edit));
edit.Enter("cmd.exe");
w.Get(SearchCriteria.ByText("OK")).Click();
Thread.Sleep(1000);
var keyboard = Keyboard.Instance;
keyboard.Enter("echo Hello World!");

White は GUI色々動かせて便利。Silverlightの中も見れて動かせる。

ところでESXi 使いたい。

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10