PowerShell

UI Automation PowerShell Extensionsを試しに使ってみました。

d.sunnyone.org: WindowsアプリのUI自動操作をUI Automation PowerShell Extensionで行う」の記事を読んで、UI AutomationのPowerShell用ラッパーがあることを知ったので、早速試してみました。

・UI Automation PowerShell Extensions – Home
http://uiautomation.codeplex.com/

■ 使用準備

  1. 上記ページからZipファイル(2014/10/16 時点ではUIAutomation.0.8.7B3.NET35.zip)をダウンロードして適当なフォルダ(ここではC:\System\UIAutomation)に展開します。
  2. 管理者権限でPowerShellを起動します。UI Automation PowerShell Extensionsを利用するにはPowerShell 2.0以上が必要になるので、「Windows7にPowerShell3.0をインストールする手順」等を参考に、事前にインストールしておいてください。
  3. Set-ExecutionPolicy Bypass」を実行します。
  4. 一時的に試用するだけなので、「ipmo C:\System\UIAutomation\UIAutomation.dll」を実行してモジュールを読み込みます。
  5. (gmo uia*).Name」を実行して、「UIAutomation」が表示されれば準備完了です。
  6. UIAutomationPowerShellExtensions_01

■ UI Automation PowerShell Extensionsを使って電卓操作

UI Automation PowerShell Extensions付属のUIAutomationSpy.exeを実行すると、下記のようなコードを生成することができます。

Get-UiaWindow -Class 'CalcFrame' -Name '電卓' | `
Get-UiaPane -Class 'CalcFrame' | `
Get-UiaPane -Class '#32770' | `
Get-UiaButton -AutomationId '131' -Class 'Button' -Name '1'

UIAutomationPowerShellExtensions_02

このコードとドキュメントを参考に、“電卓を起動して「1」ボタンをクリックする”コードを書くと、下記のようになります。

$calc = Start-Process calc -PassThru | Get-UIAWindow
$btn = $calc | Get-UiaButton -Class 'Button' -Name '1'
$btn | Invoke-UiaButtonClick

UIAutomationPowerShellExtensions_03

上記の通り、非常に短いコードでアプリケーションを操作できることが分かります。
UI Automation PowerShell Extensions – Documentation」を見る限り、コントロールのダブルクリックや右クリックも簡単にできるみたいです。

作成したアプリケーションをテストするときにはかなり役立ちそうなモジュールですね!
知っておいて損は無いだろうと思います。

関連記事

  1. PowerShell

    [PowerShell]メール送信用関数

    PowerShellを使ってメール送信する機会が増えてきたので、処理を…

  2. VBScript

    [クライアント管理]WMI Explorerの紹介

    端末のハードウェア情報やインストールされているソフトウェアなどを調べる…

  3. Windows 10

    ストアアプリを起動するPowerShellコード

    ストアアプリ(UWPアプリ)は実行ファイルをダブルクリックする等して直…

  4. Office関連

    Excel REST APIをPowerShellから呼び出す方法

    以前Excel REST APIをVBAから呼び出す方法を紹介しました…

  5. リボン関連

    PowerShellからリボンUIを呼ぶ方法

    下記記事で簡易的なUIとして手軽なHTAを使いました。…

  6. Office関連

    PowerShellからNetOfficeを使ってExcelを操作する方法

    先日、Excel MVPの伊藤さんがPowerShellからExcel…

コメント

  1. この記事へのコメントはありません。

  1. 2019年 1月 03日

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP