はじめに

もっとも使用頻度の高いアクティビティの一つにClickアクティビティがあります。ただ、よく使うがゆえに、ロボが止まってしまう原因となる可能性が高いのもClickアクティビティです。もう一度基本を学びなおし、安定したロボット作りを目指しましょう。

今回は、Clickアクティビティのプロパティの中で、Wait For Readyと、Simulate Click, Send Window Messageの大きく2つを紹介します。

 

プロパティ

Wait For Ready

WaitForReadyのプロパティの中身を見ると、None、Interactive、Completeに分けられます。これは、Clickした後に画面遷移が発生した際に考えなければならないプロパティになります。もう少し具体的に言うと、画面遷移後の画面の状態によって進むかどうか判断するということです。一つずつ見ていきましょう。

Noneは、クリックをしてすぐに次の動作に移るというものです。次の画像が出るのが遅かろうが何であろうが次に進んでしまいます。

Interactiveはデフォルト値です。これは、次の画面のelemenntが出てから次に進むという仕様です。ただ、画像が最後までできる前に動くことがあります。

Completeは、画面遷移後の画面において、elementも画像もすべてできってから次の動作に進むというものです。

ここまで見てきましたが、すべてCompleteにしてしまえばよいのではないかと思う方もいるとは思いますが、あまりCompleteの多用は推奨されていません。なぜなら、画面遷移の際画面がフリーズしてしまったら次に進むことはないからです。

ただ、これをTimeOutでエラーに落とすことができればよいのですが、画面がCompleteにならないと、TimeOutが起動しないということで、むやみに使うのは少々危険ですね

 

SimulateClick, Send Window Message

Clickアクティビティは、今紹介する2つを含めて、3種類存在します。これらを組み合わせることで、より安定した実装を行うことができるでしょう。

ここで一つ断っておかなければならないのが、Clickアクティビティのそれぞれのプロパティの種類の内容自体はあまりよくわかっていません。それぞれを使っている実感から述べさせていただきます。

全体としていえるのが、3種類のうち絶対にこれがいいというものはないということです。アプリケーションによって使えないものも存在するため、アプリケーションとの相性を見ながらプロパティを選択することになります。ただし、少なくとも、Clickアクティビティよりも、SimulateClickの方が安定すると考えられます。

デフォルトのClickアクティビティは、処理中に誤ってマウスカーソルを動かすと、Clickが安定しないことがありますが、SimulateClickではマウス操作に影響されることがありません。そのため、SimulateClickでうまくいくアプリケーションならば、すべてSimulateClickにするのもありでしょう。

すでに述べた通り、クリックの組み合わせに正解はありません。3種類それぞれを最適に組み合わせて、ベストな解を見つけてください。

下は、プロパティの画像です。