using System; using Arp.Prova.PlayLib; using Arp.Prova.ImageLibrary; //このサンプルコードは、WindowsUpdateの確認を行います。 public class CodeClass { public static int CodeStart() { //WindowsUpdate画面の「状態」のテキストのコントロール名を格納する変数 string StatusControlName = null; /************************ここから設定の変更を行います************************/ //「設定」の「Windows Update」画面を表示します PlayLib.ProcessStart("ms-settings:windowsupdate-action"); //「設定」画面が開くまで待つ(待ち時間60秒) if(PlayLib.WaitWindow("設定", true, 60) == true) { PlayLib.Window("設定").Activate(); //「設定」画面を前面に表示 PlayLib.Sleep(1000); //画面内の描画は終わるまで少し待つ //操作しやすいよう設定画面を最大化する if(PlayLib.Window("設定").WaitUIControl("UIButton", "設定 を最大化する", true, 2)) { PlayLib.Window("設定").UIButton("設定 を最大化する").Click(); PlayLib.Sleep(1000); } // WindowsUpdate画面の「状態」のテキストのコントロール名を取得する // 「Windows Update」のテキストの+1のコントロールが「状態」のコントロールとなる。 for(int i = 1; i < 30; i++) { if(PlayLib.Window("設定").UIStatic("UIStatic&" + i).Text == "Windows Update") { StatusControlName = "UIStatic&" + (i + 1); // WindowsUpdate画面の「状態」のテキストのコントロール名を取得 } } //「更新プログラムのチェック」ボタンがある場合 if(PlayLib.Window("設定").WaitUIControl("UIButton","更新プログラムのチェック",true)) { PlayLib.Window("設定").UIButton("更新プログラムのチェック").Click(); PlayLib.Sleep(5000); } for(int n = 0; n < 60 ;n++) // ループしてWindowsUpdateの状態確認する(最大10分) { // 更新状態の場合 if(PlayLib.Window("設定").UIStatic(StatusControlName).Text == "更新プログラムを確認しています...") { PlayLib.TestLog("Windows Update:更新プログラムを確認しています..."); PlayLib.Sleep(10000); //10秒待機 } else //更新プログラムの確認処理が終わった場合 { //インストールするものがある場合、確認終了 if(PlayLib.Window("設定").UIStatic(StatusControlName).Text == "利用可能な更新プログラム") { PlayLib.TestLog("Windows Update「利用可能な更新プログラム」の状態です。「設定->更新とセキュリティ->Windows Update」画面にてご確認ください。"); break; } else if(PlayLib.Window("設定").UIStatic(StatusControlName).Text == "最新の状態です") { //「最新の状態です」の場合、確認終了 PlayLib.TestLog("Windows Update「最新の状態です」の状態です"); break; } else if(PlayLib.Window("設定").UIStatic(StatusControlName).Text == "最新の状態ではありません") { //「最新の状態ではありません」の場合、確認終了 PlayLib.TestLog("Windows Update「最新の状態ではありません」の状態です。「設定->更新とセキュリティ->Windows Update」画面にてご確認ください。"); break; } else if(PlayLib.Window("設定").WaitUIControl("UIButton","今すぐ再起動する",true)) { //「今すぐ再起動する」ボタンがある場合、確認終了 PlayLib.TestLog("Windows Update「今すぐ再起動する」の状態です。「設定->更新とセキュリティ->Windows Update」画面にてご確認ください。"); break; } //「再試行」ボタンがある場合、リトライ if(PlayLib.Window("設定").WaitUIControl("UIButton","再試行",true)) { PlayLib.TestLog("Windows Update「再試行」ボタンが表示された状態なのでクリックします。"); PlayLib.Window("設定").UIButton("再試行").Click(); } } } PlayLib.Window("設定").Close(); //「Windows Update」画面を閉じます } else { PlayLib.TestLogError("「設定」画面が開きませんでした"); //「設定」画面が開かなかった場合、ログを出力し処理を終了する return -1; } return 0; } }