StudioX考「UiPathのPiP機能」について

2023年2月時点のUiPathにはStudioXにしか存在しない機能の一つとしてPiP機能がある。

しかし、このPiP機能は、ほとんどWindowsのリモートデスクトップ画面と同じ振る舞いをするので、初動時だけオーバーヘッド動作が発生し、しかも想定外の画面が表示されたりされて「PiPで実行」は疎外される。
また、PiP画面の解像度も異なっている可能性があるのでこの場合、テスト動作では動いていたが、PiPでは失敗ばかりするといった弊害に悩まされる。
このような弊害を克服するべく検証を重ねたところ、下記のような方法が、安定して動作させる方法である事を、知った。およそ1年ほど運用しているが、この安定性なら、Assistantを使って、ノーコードでの稼働を可能にすることも出来そうだ。

<H1>「PiP on StudioX」の手順：

まず「空のプロセス」を作成して、プロセスが全くない状態のStudioXで、すぐにPiPを起動するとPiPが立ち上がる。PiPが立ち上がるとプロセスは何もないので、StudioX画面に戻ります。

StudioXを起動して、「新しい空のタスク」を作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/cf18e14d-c7ce-e889-c88a-8c6527d43999.png)

起動すると画面右上に「実行」ボタンがありますのでその下の「V」をクリックするとメニューが出ますので「PiPで実行」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/19a84ed5-a042-c18b-e414-757c7205a4c3.png)

●初めてPiP画面を起動すると、下記のように、PiP機能有効化をするように促されますので「はい」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/32a8b595-c9a9-7903-edcc-61e9f409ffe8.png)
※「このアプリがデバイスに変更を加えることを許可しますか？」というメッセージも表示されますが、対象がUiPathで有ることを確認し「はい」を選択します。
●ここまでは初回のPiP画面起動時だけ出ます。次回からは自動で認証されます。

更に、Windows認証にMicrosoftアカウントを使っており、Pinコードログイン設定をしている場合は、下記の認証を求められます。
ここでは、Microsoftアカウントに登録されているフルサイズのパスワードでしか認証できません。※Pinではエラーになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/ffd4a929-ad98-02a8-7c1d-75c905770dbe.png)


すると下記のようなPicture in Picture画面が起動し、PiP画面上でパソコン起動時の動作を開始します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/3c4f97cc-0a0c-ec97-3b55-3dccd3d1e71d.png)

自動ユーザログインされ、スタートアップも自分のPCのものが起動されます。PiP画面のイメージはRDPです。（Windowsログインから動きます）「制御する」スライドスイッチを下記の状態にするとPiP画面内部が操作できますので触らせたくなかったらこれをスライドする形で制御します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/7f2787bd-09d4-07e5-fc9d-e2f9e90dc526.png)

PiPが立ち上がったらPiP起動したStudioXは×ボタンで閉じてしまう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/fe1774c8-9447-351e-6b52-0172e854e952.png)
PiP画面だけ残っている状態になる。

この中（PiP）でUiPath StudioXを起動する。※注意事項としては、安定稼働のために、PiP画面のWindows環境をローカル環境と同じように設定しないといけない。例えばEdgeの拡張機能はデフォルトでは有効になっていない。環境をほぼローカルと同じになるまでブラッシュアップする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/bcffaadc-78ab-5253-28f1-82eded52b0a2.png)

そして自動化したいアプリケーション（ブラウザや固有プログラム）もPiP画面上で起動する。
PiP画面上のStudiXでレコーディングして、この中（PiP）で実行「PiPで実行」が出来る。※「実行」するとややこしいが自分のPC画面上のアプリケーションが動き出します。（確認済み）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/e56d0a53-a39b-7cbe-d6b9-f3687426d519.png)

PiP画面右上に表示される「制御する」スイッチはとても頻繁に使う事になる。
「PiPで実行」を選択後、「制御する」はOFFにすると、自分のパソコンでは別の作業が出来る。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/14afb903-737f-cf70-f921-ee8053adfad9.png)

起動すると、マウスポインタのフォーカスが奪われるので、「PiPで実行」クリック後の下記「PiPアイコン」が出るまでの時間のタイミングで上記「制御する」をオンオフすると良い。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/587c1335-03b0-e60b-a6bb-71fc0413868b.png)

これでようやくStudioXで開発して、Assistantで利用者に使って貰うと言うRPAの理想の運用形態が作れそうです。

ここまで良いことばかり書いてきた。実はまだ問題もある。
一番大きい問題はPiP画面を使うと、使っている間は良いが、使い終わって閉じると、PiP画面で動いていたVPN接続も同時に切れてしまう。（閉じなければ問題は無い）しかもそのVPNソフトは終了させ、再度起動しないと再接続は出来なくなる。
これは、PiPには関係ないから修正されないかもしれない。