ソフトウェアのテストは幾つかの種類がありますが、実際にデモでソフトウェアを操作して行うテストとして有名なのがSeleniumです。当初はWebアプリケーション向けの仕組みでしたが、Appiumによってスマートフォンアプリのテストも行えるようになっています。
さらに今回紹介するのはWiniumです。名前からも分かる通り、Windowsアプリの自動操作テストに使えるSelenium系ソフトウェアです。
Winiumの使い方は次のようになります。こちらはRubyで書いた場合のコードです。
require 'selenium-webdriver'
capabilities = {app: 'c:\windows\system32\notepad.exe'}
driver = Selenium::WebDriver.for(:remote, url: "http://192.168.0.45:9999/", desired_capabilities: capabilities)
Winiumはこんな感じに待ち受けになります。
上記のコードを実行するとノートパッドアプリが立ち上がります。さらに例えばPythonでは次のようにコードが書けます。
win = self.driver.find_element_by_id('WpfTestApplicationMainWindow')
win.find_element_by_id('SetTextButton').click()
assert 'CARAMBA' == self.driver.find_element_by_id('MyTextBox').text
WiniumはWindowsのデスクトップアプリ(WinForms、WPFに対応)の他、ストアアプリ(8.1に対応)、Windows Phoneにも対応しています。Winiumを使うことでWindowsプラットフォームのアプリケーションもテストできるようになるでしょう。
WiniumはWindows用、Mozilla Public Licenseのオープンソース・ソフトウェアです。