技術者となって一番多く、そして面倒な作業はテストではないでしょうか。
単体テスト、システムテスト、結合テストとマイルストーンに従って、ちょくちょくテストしないといけません。
自分ひとりで開発しているときはその場のなりゆきで修正したりもできますが、複数での開発となると仕様書に沿って作業を進め、正しく動いているか結果を確認しなければいけませんよね。
テストの中でもヒートランや過負荷テストは時間がかかります。
この記事ではPowerShellの拡張機能であるUIAutomation PowerShell Extensionsを使って電卓で自動化の実験をしてみましょう。
事前準備
UIAutomation PowerShell Extensionsを入手しよう!
まずは、PowerShellの拡張機能UIAutomation PowerShell ExtensionsをDLしましょう。
- http://uiautomation.codeplex.com/にアクセスし、[Download]ボタンをクリック、zipファイルを入手します。
- DLしたzipファイルを適当な場所に展開します。
カレントディレクトリが長くなると分かりづらいので、CドライブやDドライブ直下に作業フォルダーを作るのがいいかもしれませんね。
私は「D:\WPS\Modules\UIAutomation」に展開しました。
スクリプトが実行できるようにポリシーを変更しよう!
PowerShellのスクリプトは「○○○.ps1」という拡張子のファイルですが、デフォルトの状態では、「.ps1」ファイルの実行は禁止されています。
これはユーザーや管理者が知らないうちにPowerShellを悪用したスクリプトが実行されないようにセキュリティがかかっているためです。
まずこの実行権限をスクリプトを実行できるように変更する必要があります。
この変更をするためにはPowerShell自体を管理者権限で起動させる必要があります。
- 管理者でWindows PowerShell ISEを起動させる。
Windows7以降には標準で搭載されているので、スタートメニューにショートカットが作成されていませんか?
Windows10では、[スタート] – [Windows PowerShell]が作成されています。[Windows PowerShell](右クリック) – [その他] – [管理者として実行]をクリックします。
- 次に現在の実行権限を確認してみましょう!
0PS > Get-ExecutionPolicy
[Restrited]と表示されました。これは全てのスクリプト実行を制限しています。
以下に設定できる値を示します。実行ポリシー 署名付き 署名無し/
ローカル署名無し/
非ローカル概要 Restricted × × × デフォルト値 AllSigned ○ × × 署名付きのみ実行可 RemoteSigned ○ ○ × 署名無しでもローカルなら可 Unrestricted ○ ○ △ 非ローカルなら確認する Bypass ○ ○ ○ 全て実行可 - では、ローカルに作成したスクリプトファイルだけ実行できるように変更してみましょう。
0PS > Set-ExecutionPolicy RemoteSigned
これでスクリプトを実行できる環境が整いました。
では、次にスクリプト上から電卓を起動させてみましょう。
まとめ
と、思ったより長くなりそうですね。
スクリプト上から電卓を操作するのは次の記事で紹介することにしましょう。
私もPowerShellに関しては少し調査した程度なのでまだまだ勉強不足。
熟練すればテスト業務だけでなくいろいろと活用できそうです。
// ——– ——– ——– ——– ——– ——– ——– ——–
UIAutomationでアプリケーション操作を自動化しよう! その1
UIAutomationでアプリケーション操作を自動化しよう! その2
UIAutomationでアプリケーション操作を自動化しよう! その3
UIAutomationでアプリケーション操作を自動化しよう! その4
// ——– ——– ——– ——– ——– ——– ——– ——–