アプリ操作でうまくいかないときは(画像マッチング)1

アプリ操作で画像マッチングを使うとき(使わざるを得ないとき)、安定的にロボットを運用するための設定のコツについて説明します。

1.選択する画像範囲に揺らぎが出ないようにする

たとえば操作する個所がアクティブだったり非アクティブだったりで枠線の色味が若干異なる場合があります。このようなゆらぎがでないように画像範囲を設定しましょう。

以下の送信ボタンを押す設定を行いますが、送信ボタンの枠線が青くなっています。

button1

表示されている枠線が画像範囲に入らないようにします。操作したい個所の真ん中だけが画像範囲になるようにします。

button4

 

2.操作個所とは異なるものからを指定、そこからの座標で指定する

操作したい個所と似たような画像が複数あり、画像判定が安定しない場合があります。

以下のケースのようにボタンに表示されている名前が似ている場合が、このケースに該当します。

button10

 

その場合は、操作したい個所から近いユニークな画像を指定し、そこからの座標をずらして指定します。

以下ではボタン1をクリックする設定を行っています。画像マッチングしている範囲の外にあるボタン1をクリックする設定です。

button5

3.効率よく修正を行うためにカスタムアクションを使用する

アプリ操作で画像マッチングを使ってロボットを作成した場合、ロボットを実行する端末によっては解像度が異なるなどの理由で、画像が見つからないことがよく起きます。

この場合、ロボットを実行する端末で操作する画像を再設定する必要がありますが、修正が必要なアクション数によっては修正にものすごい時間を取られてしまいます。

修正作業時間を少なくするために、カスタムアクションを使うことをおすすめします。

たとえば、以下のエクセルから、

button6

以下のシステムへデータを入力するとします。

button7

個々のデータを入力するアクションフローは同じで、渡すデータが異なるだけです。このような場合は、カスタムアクションを1つ作成し、

button9

作成したカスタムアクションへデータを渡せば、1つのカスタムアクションでシステムへの入力を行えます。

button8

アプリ操作でうまくいかないときは(要素マッチング)2

アプリ操作の設定で要素マッチングにしたときに、操作したい個所を選択できないことはないでしょうか。そういった場合は、以下の手順をお試しください

このようなケースは、アプリケーションのツールバーにあるボタンを押して表示されるメニュー内のボタンを操作したいときによく発生します。

apli2_1

1.起動中のアプリに接続アクションを使い、表示されたメニューに接続します。このときに、一覧更新ボタンで5秒後に更新を使って、メニューが表示された状態で一覧を更新します。

apli2_2

2.接続後、アプリの操作画面が自動的に表示されます。このときにメニューを表示させ、アプリの操作画面内にメニューが表示されるようにします。

3.アプリの操作画面に表示されなかった場合は、アプリの操作画面内の画面を読み込み機能を使います。このときに、5秒後に再読み込みを使って、メニューが表示された状態を読み込みます。

apli2_3

以上の手順で要素マッチングで操作個所を指定できない場合は、マッチング方式を画像にしてアクションを作成していただくか、もしくはサポートまでご相談ください。

キャプチャー

アプリ操作による要素マッチングで、指定した要素のキャプチャをファイルに保存できます。

アクション設定画面の設定項目についての説明は以下の通りです

[Mainタブ]

・要素が見つかるまでのタイムアウト(秒)
設定した時間まで、選択した要素をロボットが探し続けます

・Path
キャプチャを保存するファイルパスを設定します。変数参照可能です。

[advancedタブ]

・アクション有効
このアクションを無効にする場合は、チェックを外します

・キャッシュクリア
アクション実行時に、要素の情報を再取得するときにチェックを入れます。

・要素をアクティブにする
アクション実行時に、指定した要素をアクティブな状態にする場合にチェックを入れます

・名前
要素を名前で指定するときに設定します。変数参照可能です。
変数参照する場合はチェックボックスにチェックを入れてから、参照する変数の設定を行います

・クラス
要素をクラスで指定するときに設定します。

・タイプ
要素をタイプで指定するときに設定します。

・AID
要素をAIDで指定するときに設定します。変数参照可能です。
変数参照する場合はチェックボックスにチェックを入れてから、参照する変数の設定を行います

・要素インデックス
要素のインデックスを指定します。変数参照可能です

[エラー発生時の対応タブ]

・エラー時の処理
エラーが発生したときの設定を行います

・エラー時にログ出力
エラーが発生したときにログに出力するか設定します

アプリ操作でうまくいかないときは(要素マッチング)1

アプリ操作の設定で要素マッチングにしたときに、操作したい要素をうまく設定するコツを説明します。要素マッチングで操作したい個所をうまく指定できない、または作成したアクションを実行したけどうまくいかない場合に本ページを参照してください。

以下の画面から契約番号を取得します。

apl_kotu1

マッチング方式は要素にします。apl_kotu2

名前は処理の都度変わることが多いです。そのため、使用しない、にしましょう。
また使用しない、にしてうまくいかないときは、名前を正規表現を使って設定してください。

apl_kotu3

設定を変更したときに、全部で何件みつかりました、と表示されていることを確認しましょう。(見つからない場合は、該当する要素が見つかりません、と表示されます)

apl_kotu4

見つかった場合は、操作対象にフォーカスをクリックして、操作したい個所にフォーカスが当たることを確認しましょう。

apl_kotu5

以下のように複数件見つかった場合は、要素インデックスの値を変更します。1件しか見つからなかった場合は、要素インデックスは「0」になっています。

apl_kotu6

それでもうまくいかないときは、キャッシュクリアにチェックを入れたり、要素をアクティブにするにチェックを入れてアクションを実行してみましょう

apl_kotu7

またアクションは作成されるが、処理が空振りしたような状態(たとえば値が入力されない)の場合、作成したアクションをステップ実行してみてください。作成時は空振りしたアクションが正常に実行されることがあります。

それでもうまくいかないときは、マッチング方式を画像にしてアクションを作成していただくか、もしくはサポートまでご相談ください。

この画像が消えるまで待つ(画像処理)

アプリケーションの画面内から特定のオブジェクトが消えるまで、ロボットの処理を待機させることができます

 

アクション設定画面の設定項目についての説明は以下の通りです

[Mainタブ]

・要素が見つかるまでのタイムアウト(秒)
設定した時間まで、選択した画像をロボットが探し続けます

・画像一致率
ロボットが選択した画像を探すときの一致率を設定します。一致率を下げると選択した別の画像を認識することがあります。表示されていないときは、画面サイズ設定を変更します

・画面を読込み
接続中のアプリケーションを再読み込みします。アプリデザインに表示されているアプリケーションの画像と、実際のアプリケーションの画像が異なっている場合に使用します。アプリケーションによってはアクティブな時と非アクティブな時で表示が異なる場合があります。その場合は5秒後、10秒後、30秒後に再読込みを選択した上で対象のアプリケーションをアクティブにします

・操作対象にフォーカス
選択した画像にフォーカスを当てます。選択した画像をロボットが正しく認識していることを確認するときに使います。アプリケーションによってはアクティブな時と非アクティブな時で表示が異なる場合があります。その場合は5秒後、10秒後、30秒後にフォーカスを選択した上で対象のアプリケーションをアクティブにします

[advancedタブ]

・アクション有効
このアクションを無効にする場合は、チェックを外します

[エラー発生時の対応タブ]

・エラー時の処理
エラーが発生したときの設定を行います

・エラー時にログ出力
エラーが発生したときにログに出力するか設定します