ぴぐノート

Good code is its own best documentation.

PowerShell

UIAutomationでアプリケーション操作を自動化しよう! その1

投稿日:2016年10月18日 更新日:

技術者となって一番多く、そして面倒な作業はテストではないでしょうか。
単体テスト、システムテスト、結合テストとマイルストーンに従って、ちょくちょくテストしないといけません。

自分ひとりで開発しているときはその場のなりゆきで修正したりもできますが、複数での開発となると仕様書に沿って作業を進め、正しく動いているか結果を確認しなければいけませんよね。

テストの中でもヒートランや過負荷テストは時間がかかります。
この記事ではPowerShellの拡張機能であるUIAutomation PowerShell Extensionsを使って電卓で自動化の実験をしてみましょう。

事前準備

UIAutomation PowerShell Extensionsを入手しよう!

まずは、PowerShellの拡張機能UIAutomation PowerShell ExtensionsをDLしましょう。

  1. http://uiautomation.codeplex.com/にアクセスし、[Download]ボタンをクリック、zipファイルを入手します。
  2. DLしたzipファイルを適当な場所に展開します。
    カレントディレクトリが長くなると分かりづらいので、CドライブやDドライブ直下に作業フォルダーを作るのがいいかもしれませんね。
    私は「D:\WPS\Modules\UIAutomation」に展開しました。
    uiautomation_000

スクリプトが実行できるようにポリシーを変更しよう!

PowerShellのスクリプトは「○○○.ps1」という拡張子のファイルですが、デフォルトの状態では、「.ps1」ファイルの実行は禁止されています。
これはユーザーや管理者が知らないうちにPowerShellを悪用したスクリプトが実行されないようにセキュリティがかかっているためです。

まずこの実行権限をスクリプトを実行できるように変更する必要があります。
この変更をするためにはPowerShell自体を管理者権限で起動させる必要があります。

  1. 管理者でWindows PowerShell ISEを起動させる。
    Windows7以降には標準で搭載されているので、スタートメニューにショートカットが作成されていませんか?
    Windows10では、[スタート] – [Windows PowerShell]が作成されています。

    [Windows PowerShell](右クリック) – [その他] – [管理者として実行]をクリックします。
    uiautomation_001

  2. 次に現在の実行権限を確認してみましょう!

     

    uiautomation_002
    [Restrited]と表示されました。これは全てのスクリプト実行を制限しています。
    以下に設定できる値を示します。

    実行ポリシー 署名付き 署名無し/
    ローカル
    署名無し/
    非ローカル
    概要
    Restricted × × × デフォルト値
    AllSigned × × 署名付きのみ実行可
    RemoteSigned × 署名無しでもローカルなら可
    Unrestricted 非ローカルなら確認する
    Bypass 全て実行可
  3. では、ローカルに作成したスクリプトファイルだけ実行できるように変更してみましょう。

    uiautomation_003

これでスクリプトを実行できる環境が整いました。
では、次にスクリプト上から電卓を起動させてみましょう。

まとめ

と、思ったより長くなりそうですね。
スクリプト上から電卓を操作するのは次の記事で紹介することにしましょう。

私もPowerShellに関しては少し調査した程度なのでまだまだ勉強不足。
熟練すればテスト業務だけでなくいろいろと活用できそうです。

// ——– ——– ——– ——– ——– ——– ——– ——–
UIAutomationでアプリケーション操作を自動化しよう! その1
UIAutomationでアプリケーション操作を自動化しよう! その2
UIAutomationでアプリケーション操作を自動化しよう! その3
UIAutomationでアプリケーション操作を自動化しよう! その4
// ——– ——– ——– ——– ——– ——– ——– ——–

スポンサーリンク

スポンサーリンク

-PowerShell
-

執筆者:

関連記事

UIAutomationでアプリケーション操作を自動化しよう! その4

昨日までの記事でスクリプトから電卓のボタンを押下させ、計算させることができました。 この記事でループを作成し、耐久テストのように延々と計算させ続ける処理に変更してみましょう。 ボタンを押下させる方法な …

【PowerShell/UIAutomation】アプリケーション操作のTips!

ここ数日PowerShellのライブラリ、UIAutomationを使ってアプリケーション操作自動化について記事を作成しました。 ボタンばかりのアプリケーションであれば十分ですが、実際には右クリックし …

UIAutomationでアプリケーション操作を自動化しよう! その2

前回の記事で、UIAutomationのDL、実行ポリシーの変更が完了しました。 今回はUIAutomationを使って電卓を起動させてみましょう。 私が活用した場面としては電卓ではなく、開発した映像 …

UIAutomationでアプリケーション操作を自動化しよう! その3

さて昨日の記事でスクリプトから電卓を起動させることができました。 今回の記事ではUIAutomationSpyというツールを使って電卓の情報を取得し、スクリプトから電卓に入力させるところまですすめまし …