ショートカットの読み込みについて

こんにちは。
UIPATHStudioで作成したプロジェクトをUiPath Assistantで動かしているのですが、
今は動作不備を起こるので毎日何度か動作テストをして出来る改善をしております。
その中で3日間で20回テストを行い、内4回同じ動作ミスがあったので、それについて伺いたいのです。

AdobeのIllustratorでの作業において
ショートカットキーでアートボードツール(Shift+O)を起動するというアクションがあるのですが、
この部分をShiftを抜いた状態のOで動かす動作をすることがあり、(これはリフレクトツールが起動してしまう) ここを失敗することにより、次の動作が出来ず止まってしまうのです。

UIPATHStudioに戻りデバックを試すと特に不備がなく、またパブリッシュをして
テストするのですが、上記の割合でまた同じエラーが起こってしまいます。

ショートカットキーを押すのはUIPATHにとって難しい動作なのでしょうか?
それとも人づてに聞いたのですが、Pythonのようにキーボードを押してから『離す』という動作を入れてあげなくてはいけないのでしょうか。

今は(Shift+O)を「繰り返しの動作」をさせて押し損ねてもいいように対応しております。
何か他に良い案があればご教示ください。
よろしくお願いいたします。

こんにちは

Defaultモードの入力(あるいはSendWindowMessagesの場合でも)は、タイミングに
シビアなので、Shiftキーに限らず、ケースによっては入力抜け等の現象が発生しやすいです。
そのため、入力抜けの発生を極力抑える設定と、仮に失敗しても次に進まずリトライすることの
両面で対応するケースが多いかと思います。

よく使う手法として、Shift+oで出現するであろう、要素の有無をチェックして
無かった場合=失敗としてリトライを行うように組みます。リトライスコープ
アクティビティが使えます。(ただしWindowが存在しているけど不可視状態のような
ケースもあるので、工夫が必要な場合もあります)

1 Like

ありがとうございます。
条件分岐という認識で良いのでしょうか?
下に画像を添付いたしますが、Shift+Oの時点で出現する要素はなく
その次のEnterを押すことで要素が出現します。

そこでタイミングの件もお話されていたので、実行前後の待機時間を入力してみることに
してみたのですが、前後に3秒待機時間を入れる時の表記はこちらで正しいでしょうか?
他のサイトを探してみたところ1秒=1000ミリ秒とあったので3000にしていたのですが、
3秒以上動かない状態が続いたため、修正しました。

こんにちは

この要件であれば、例えば以下のような感じが考えられます。
(単純なやり直しで良い場合。誤って表示されたメニューを消す必要がある場合は、もう少し構成を変える必要があるかもしれません)

前後に3秒待機時間を入れる時の表記はこちらで正しいでしょうか?
他のサイトを探してみたところ1秒=1000ミリ秒とあったので3000にしていたのですが、
3秒以上動かない状態が続いたため、修正しました。

このアクティビティの場合、単位が秒なので3で良いかと思います。
(クラシックのSendHotKeyは単位がmsecなので3000になりますが)

https://docs.uipath.com/activities/lang-ja/docs/n-keyboard-shortcuts

1 Like

Yoichiさん
適切なご対応をしていただき、ありがとうございます。
ご提示いただいた画像を参照に試しに作成してみたのですが、


『ターゲットが出現しなかった時』について、Yoichiさんは「スロー」を
配置しておられましたが、こちらを設置してみたところ
下画像のようなエラーがでました。

そこで、『例外』部分に『new Exception』と表記するとエラーがなくなりました。
(これはトライキャッチを使用している説明で見つけた表記です)
image

「スロー」の認識が調べてもいまいちわからなく、もしターゲットが出現しなかった場合は
「Shift+O」に戻るようにしたいのですが、どのように設定すればよいかご教示いただけますでしょうか…また上記の『例外』部分の表記もこれで正しいのか教えてください。

よろしくお願いいたします。

こんにちは

ターゲットが出現しな場合は、スローアクティビティの方に流れ、ここで例外が発生します。
リトライスコープの中で例外が発生すると、リトライの対象となり、スコープの最初から
実行されますので、結果ctrl+oから繰り返されます。

デバッグモードで確認されていますか?その場合例外発生で一旦停止しますので
継続で進めるか、あるいは実行前にデバッグのリボンメニューで、例外発生時に停止しないように
設定してみてください。

1 Like

Yoichiさんありがとうございます。
デバックでテストしたのち、実際の動作の中に組み込んでみました。
現状のところ、こちらで不備なく動作しています。
ありがとうございます。
引き続きよろしくお願いいたします。