knowledge AutoMate 自習用コンテンツ その9 - 解説

自習用コンテンツ その9(https://automate.sct.co.jp/knowledge/12059/)の内容は如何でしたでしょうか?
簡単に出来てしまった方も、難しかった方もいたかと思います。

下記では、解説を書いていきます。
(解答例のコードは、ページ最下部に書いています。)


■観点
今回のコンテンツでは、「キーボードでの各種オブジェクト操作」および「入力カーソル位置の制御」を観点としました。
  

■1. ブラウザの起動

「実行 - 実行」アクションで、ブラウザのプログラムの実体を指定し、かつ後ろにパラメーターとしてURLを指定します。
「"C:\Program Files\Mozilla Firefox\firefox.exe" ページのURL」のように指定します。(Firefoxの場合)

<AMRUN FILE="&quot;C:\Program Files\Mozilla Firefox\firefox.exe&quot; https://www.sct.co.jp/amdemo/order1.php" />

  

■2. ブラウザウィンドウの待機

「Wait - ウィンドウ」アクションを使用し、目的のウィンドウが表示されるまで待機します。
また、対象のウィンドウが最前面に表示されている必要があるため、「該当するウィンドウをフォーカスする」にチェックを入れます。
(下記、Firefoxの例となります)

<AMWAIT ACTIVITY="window" WINDOWTITLE="AutoMate Demo — Mozilla Firefox" FOCUSWINDOW="YES" />

  

■3. 商品コード・受注単価・数量の入力

ページが開かれた初期状態から、該当のウィンドウがフォーカスされている状態で「TAB」キーを一度押すと、「商品コード」欄にカーソルが移動します。
同様に、TABキーを押すと受注単価→数量の順にカーソルが移動します。
これを利用して、それぞれ値を入力します。
(以降の操作も一続きで記入可能ですが、説明を分けるため本解説では全て1アクションでは記述しないものとします。)

<AMINPUT KEYSTROKES="{TAB}990001{TAB}4000{TAB}3" />

  

■4. プルダウンリストの選択

■3の状態から「TAB」キーを1回押下し、「倉庫」のプルダウンリストまで移動します。
その後、矢印キーの「↓」を2回押すことで、「大阪」が選択されます。
(大阪、はリストの一番下に存在する為、2回以上押下する分には問題ありません)

<AMINPUT KEYSTROKES="{TAB}{DOWN 2}" />

  

■5. ラジオボタンの選択

■4の状態から「TAB」キーを1回押下し、「配送区分」のラジオボタンまで移動します。
「TAB」キーではラジオボタンを変更できず次のチェックボックスにカーソルが行ってしまう一方で、矢印キーの左右であればラジオボタンの選択が可能です。
「→」キーを一度押下し、配送区分を「緊急」に変更します。

<AMINPUT KEYSTROKES="{TAB}{RIGHT}" />

  

■6. チェックボックスにチェックを入れる

■5の状態から「TAB」キーを1回押下し、「保留」のラジオボタンまで移動します。
チェックボックスはSPACEキーを押下することで、チェックの入/切を切り替えることが可能です。
カーソル移動後、スペースキーを1回押下し、チェックを入れます。

<AMINPUT KEYSTROKES="{TAB}{SPACE}" />

  

■7. 備考欄の入力

■6の状態から「TAB」キーを1回押下し、「備考」のテキストボックスまでカーソル移動します。
その後、目的の文字列を入力します。
※アプリケーションによっては、全角/半角が入力中に混じるとMicrosoft IMEにより半角文字が全角入力になりカーソルがずれる場合があります。
その場合は、文字列をキーストロークではなくコピペで貼り付ける等で代替する必要があります。

<AMINPUT KEYSTROKES="{TAB}テスト AutoMateデータ" />

  

■8. 確定処理

■7の状態から「TAB」キーを1回押下し、「備考」のテキストボックスまでカーソル移動します。
その後、「Enter」キーで「確定」ボタンを押下します。
この際、画面遷移を伴うため適切な時間だけWaitを入れます。
(サンプルでは2秒としています。次の画面ではウィンドウ名が変わらない為、時間でのWaitとします。)

<AMINPUT KEYSTROKES="{TAB}{ENTER}" />
<AMWAIT SCALAR="2" />

  

■9. 確認(2回目)

ページ遷移後、TABキーを1回押下すると、「確認」のボタンにカーソルが移動します。
その後、「Enter」キーで「確定」ボタンを押下します。
この際、画面遷移を伴うため適切な時間だけWaitを入れます。
(この確定処理は少々時間を要する為、5秒としています)

<AMINPUT KEYSTROKES="{TAB}{ENTER}" />
<AMWAIT SCALAR="5" />

  

■10. 画面コピーの取得

「画像 - 画面のキャプチャー」アクションを使用し、処理後の画面コピーを取得します。
なお、取得する対象は画面全体ではなく、当該ブラウザウィンドウだけでよいので、「アクティブ ウィンドウ」を選択します。

<AMIMAGE ACTIVITY="capture_screen" FILE="%GetDesktopDirectory()%\発注データ.png" CAPTURETYPE="active_window" />

  

■11. ウィンドウを閉じる

「ウィンドウ - 閉じる」アクションを使用し、AutoMateのデモページを閉じます。
※キーストロークの「{ALT}{F4}」でも問題ありません。

<AMWINDOW ACTIVITY="close" WINDOWTITLE="AutoMate Demo — Mozilla Firefox" />

  

今回定義する処理は以上になります。

(処理構築例:クリックして展開してください。)
<!--FirefoxでAutoMateのデモページを起動-->
<AMRUN FILE="&quot;C:\Program Files\Mozilla Firefox\firefox.exe&quot; https://www.sct.co.jp/amdemo/order1.php" />
<!--ページ表示まで待機-->
<AMWAIT ACTIVITY="window" WINDOWTITLE="AutoMate Demo — Mozilla Firefox" FOCUSWINDOW="YES" />
<!--商品コード・単価・数量を入力-->
<AMINPUT KEYSTROKES="{TAB}990001{TAB}4000{TAB}3" />
<!--倉庫は「大阪」を選択-->
<AMINPUT KEYSTROKES="{TAB}{DOWN 2}" />
<!--ラジオボタンは「緊急」を選択-->
<AMINPUT KEYSTROKES="{TAB}{RIGHT}" />
<!--「保留」にチェックを入れる-->
<AMINPUT KEYSTROKES="{TAB}{SPACE}" />
<!--備考欄の入力-->
<AMINPUT KEYSTROKES="{TAB}テスト AutoMateデータ" />
<!--確認ボタンを押下 → 画面遷移待機-->
<AMINPUT KEYSTROKES="{TAB}{ENTER}" />
<AMWAIT SCALAR="2" />
<!--確認ボタンを押下 → 画面遷移待機-->
<AMINPUT KEYSTROKES="{TAB}{ENTER}" />
<AMWAIT SCALAR="5" />
<!--スクリーンショットを取得-->
<AMIMAGE ACTIVITY="capture_screen" FILE="%GetDesktopDirectory()%\発注データ.png" CAPTURETYPE="active_window" />
<!--ブラウザを閉じる-->
<AMWINDOW ACTIVITY="close" WINDOWTITLE="AutoMate Demo — Mozilla Firefox" />

  

(別解1: 受注入力ページの操作を1アクションで実行した場合)
<!--FirefoxでAutoMateのデモページを起動-->
<AMRUN FILE="&quot;C:\Program Files\Mozilla Firefox\firefox.exe&quot; https://www.sct.co.jp/amdemo/order1.php" />
<!--ページ表示まで待機-->
<AMWAIT ACTIVITY="window" WINDOWTITLE="AutoMate Demo — Mozilla Firefox" FOCUSWINDOW="YES" />
<!--データをすべて入力-->
<AMINPUT KEYSTROKES="{TAB}990001{TAB}4000{TAB}3{TAB}{DOWN 2}{TAB}{RIGHT}{TAB}{SPACE}{TAB}テスト AutoMateデータ{TAB}{ENTER}" />
<AMWAIT SCALAR="2" />
<!--確認ボタンを押下 → 画面遷移待機-->
<AMINPUT KEYSTROKES="{TAB}{ENTER}" />
<AMWAIT SCALAR="5" />
<!--スクリーンショットを取得-->
<AMIMAGE ACTIVITY="capture_screen" FILE="%GetDesktopDirectory()%\発注データ.png" CAPTURETYPE="active_window" />
<!--ブラウザを閉じる-->
<AMWINDOW ACTIVITY="close" WINDOWTITLE="AutoMate Demo — Mozilla Firefox" />

  

(別解2: 別解1 + Google Chromeの場合)
<!--FirefoxでAutoMateのデモページを起動-->
<AMRUN FILE="&quot;C:\Program Files (x86)\Google\Chrome\Application\chrome.exe&quot; https://www.sct.co.jp/amdemo/order1.php" />
<!--ページ表示まで待機-->
<AMWAIT ACTIVITY="window" WINDOWTITLE="*AutoMate Demo*" FOCUSWINDOW="YES" />
<!--データをすべて入力-->
<AMINPUT KEYSTROKES="{TAB}990001{TAB}4000{TAB}3{TAB}{DOWN 2}{TAB}{RIGHT}{TAB}{SPACE}{TAB}テスト AutoMateデータ{TAB}{ENTER}" />
<AMWAIT SCALAR="2" />
<!--確認ボタンを押下 → 画面遷移待機-->
<AMINPUT KEYSTROKES="{TAB}{ENTER}" />
<AMWAIT SCALAR="5" />
<!--スクリーンショットを取得-->
<AMIMAGE ACTIVITY="capture_screen" FILE="%GetDesktopDirectory()%\発注データ.png" CAPTURETYPE="active_window" />
<!--ブラウザを閉じる-->
<AMWINDOW ACTIVITY="close" WINDOWTITLE="*AutoMate Demo*" />