ウインドウにアタッチに関する初歩的な質問です。
当方アプリケーションを起動でアプリを起動しDo文内で処理を完結させることが多いです。
ウインドウにアタッチを今まで使うことがありませんでした。
どのようなシーンで必要になるのでしょうか?
ご指導よろしくお願い致します。
例えばエレメントを探して、クリックさせるシーンを想像してください。
普通にプロセスを開始して、その中でボタンがあればクリック!って事になりますが、
ちょっとマウスを動かしてしまってロストフォーカスしてしまったら、見つからないって事になって、ロボが混乱します。
ですので、ウィンドウにアタッチで、本来のウィンドウにフォーカスを戻すのです。
他の方の意見も待ちましょうね。
こんにちは
主なケースとしては
アプリケーションを起動で生成したウインドウ以外のウインドウに対して複数の操作する場合が
該当すると思います。
例えば、
・「アプリケーションを起動」アクティビティで起動したアプリで、あるボタンをクリックすると別ウインドウが立ち上がり、そのウインドウに対して複数の操作を行うケース
・Excel Application Scopeで立ち上げたEXCELに対して複数の操作を行うケース
・「アプリケーションを起動」アクティビティで起動→スコープを抜けた後に、再度当該ウインドウに対して操作を行う場合。(例えばこのようなコンテナの入れ子を防ぐ場合)
等が考えられます
なおウインドウのフォーカスの有無は、セレクターの検索順番には影響がありますが、要素の検出そのものには影響がなくウインドウにアタッチの主目的とはあまり関係ないと思います。
ハナッチ様
いつもご指導ありがとうございます。
利用シーンのイメージが付きました。
とても勉強になりました。
どんどん使っていきます。
是非悩んで下さい!きっと解決しますから!
よろしければ、解決策にチェックをお願いしますね
Yoichi様
いつもご指導ありがとうございます。
2番目のケースについてもう少しご指導いただければ幸いです。
1つのexcelファイルを[Excel Application Scope]で立ち上げて処理をする場合、
[Excel Application Scope]のDO文の中で複数処理を行わないで、敢えて[ウインドウにアタッチ]側で複数処理を行うということでしょうか?
それとも、複数のexcelファイルを[Excel Application Scope]で立ち上げて、めいめいに処理を行う場合に[ウインドウにアタッチ]を使うということでしょうか?
くどくて申し訳ございません。
よろしくお願いいたします。
こんにちは
ExcelApplicationScopeを例に出したのは、プロセスを起動する手段としてアプリケーションを起動アクティビティ以外にもあるという点だけです。
ExcelApplicationScopeのスコープと、アタッチウインドウのスコープとでは目的・機能が異なりますので、同列に考える必要はないと思います。実装は要件に応じた最適なものにすればよいかと思います。
割り込み!
ExcelApplicationScope内に配置するアクティビティで処理できないこと(罫線、列幅、列高さ、シート名変更)などは、UIからクリックなどを使って実現していきます。その際、他の画面が出たりするので、そっち側にフォーカスが移ってしまい、その後の処理が安定しない場合があります。
ですので、一連の処理が終わったら、再度フォーカスを正しいものに設定すると言う意味合いから[ウインドウにアタッチ]を使うと考えています。ケースバイケースなんですけどね
上述しましたが、ウインドウにアタッチアクティビティ自体にはウインドウをアクティブにしたり、フォーカスをセットする機能はありません。(これは非アクティブウインドウに対して、アタッチウインドウだけのワークフローを実行すれば確認できると思います。アクティブにしたい場合は「アクティベート」や「フォーカスを設定」を使う必要があります。)
ウインドウにアタッチアクティビティは、単にトップレベルのセレクターをコンテナとして提供する機能だけですので、複数同一名のウインドウに対して、従来操作していたウインドウを継続して利用するようなケースは意味がありますが、フォーカスとは基本的に無関係になります。
ありゃま…φ(・・
Yoichi様
ご指導ありがとうございます。
とても貴重な話を聞かせていただきました。
勝手に[ウインドウにアタッチ]はアクティベートするものだと思い込むところでした。
(今シナリオを描いていてアクティビティのコメントに[アクティベート]と書いていました。)
危なかったです(汗)
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.