ベスト・プラクティスのビルドとテスト
人間ではなくロボットのように考える
理想的な世界では、ロボットは中断や失敗なしに毎日同じタスクを完了します。 しかし、現実の世界では、ロボットは時々立ち往生します。
ロボットは、通常、次の理由で立ち往生します。
| シナリオ | シナリオの計画方法 |
|---|---|
|
ロボットがユーザー・インタフェース(UI)内の要素を認識しない |
ロボットは、人間とは異なる方法でアプリケーションと対話することを忘れないでください。 ロボットの要件に合わせて、意図的にロボットをビルドします。 たとえば、多くの人が自分のビジョンを使用してソフトウェアと対話します。 問題が発生した場合は、多くの場合、周囲をクリックしてトラブルシューティングを行い、前進する方法を見つけます。 ロボットにはそのような能力はありません。 ロボットはプログラムされたことだけを実行でき、多かれ少なかれ何もできません。 ロボットをビルドしながら、視覚的ではなくプログラム的にそのアクションを考えると、より効果的にビルドできます。 |
|
ページ変更のUIまたはHTML |
Oracle Integrationのロボットは、これらのシナリオをより適切に処理するために継続的に進化しています。 また、必要に応じてフィールドをより迅速に更新できるように、アクションでグローバル・ターゲティングを使用できます。 |
必要なときにロボットを超えて考える
ロボットは多くのビジネス・プロセスを自動化できますが、ロボットはOracle Integrationで使用可能な多くの自動化テクノロジの1つにすぎないことに注意してください。 達成しようとしている目標に適したテクノロジーを選択してください。
たとえば:
-
データベースに情報を挿入したり、アプリケーションのAPIを別の方法で操作する必要がある場合は、統合を使用します。
-
意思決定を自動化する必要がある場合は、意思決定を使用してください。
ロボット接続を使用した入力の定義
ブラウザのURLなど、アクションの入力を定義する場合は、可能なかぎりロボット接続で定義した値を使用します。
ロボット接続で値を1回指定し、その変数を指すことで、この情報を分離できます。 将来の値を更新する必要がある場合は、接続を使用するすべてのロボットではなく、ロボット接続のみを更新する必要があります。
低速なアプリケーションに対する待機アクションの使用
Webページのロード時間が予想よりも遅い場合、ロボットがそのすべての作業を完了できないことがあります。 たとえば、ロボットはすべてのフィールドにデータを入力できるが、アプリケーションが閉じる前に入力されたデータを取得する時間がない場合があります。
待機アクションは、ロボットのアクションを一時停止し、アプリケーションの追いつく時間を確保することによって、ロボットがアプリケーションの待機時間を回避するのに役立ちます。 待機アクションの追加を参照してください。
反復作業にForeachループを使用する
ロボットは、そのフローの開始時にアプリケーションにサインインし、動作の完了後にアプリケーションからサインアウトします。 ただし、ロボットが多くのトランザクションを実行する必要がある場合、これらの繰り返しサインインおよびサインアウトは、ビジネスプロセスのパフォーマンスに影響する可能性があります。
ロボットが複数のビジネスオブジェクトに対して作業を実行する必要がある場合は、ロボットが前方ループを使用してそれらを反復できるようにします。 「Foreachループの追加」を参照してください。
ページ状態を使用したUIの可能性の取得
ユーザーインタフェースがロボットにいくつかの条件を提示する場合は、ページ状態を使用して条件を処理します。
各ページの状態を異なる方法で処理するには、スイッチ条件でページを使用します。 「ページ状態の操作」および「スイッチ条件の追加」を参照してください。
ロボットの将来を守る
必要な場合を除き、データをハードコードしないでください。 代わりに、プレースホルダー値を使用してロボットを将来防止します。
「ハード・コーディング・データの代替」を参照してください。
キャンバスの整頓を維持
ロボットをキャンバスにビルドします。 情報をすばやく検索できるように、キャンバスを整理したままにします。 たとえば、アクションにはクリア名を使用します。
詳細については、「ロボットのビルドのためのクイックスタート」を参照してください。
命名規則の作成
UIベースの自動化を実行する場合は、ロボット、ロボットが稼働する環境、ロボットが実行するアクションなど、様々なコンポーネントの名前を指定する必要があります。
ロボット、ロボット接続、環境プールなどの一部のオブジェクトの名前には、スペースを含めることができます。 変数や入力パラメータなど、その他のプログラム・オブジェクトでは、名前にスペースを含めることはできません。
組織にまだない場合は、命名規則を作成します。 次に、すべてのユーザーがコンポーネントを一目で理解し、ロボットを迅速かつ自信を持って更新できるように、規則に従ってください。
Screenshotsを使ってテストに役立つ
ロボットにアクションを追加する場合、アクションの完了前後にロボットのビューを取得するなど、スクリーンショットを取得するためのオプションがいくつかあります。 スクリーンショットは、障害の発生したロボット・インスタンスをトラブルシューティングするときに役立ちます。
たとえば、ロボットの資格証明に適切なアクセス権がない場合、ロボットは更新する必要があるフィールドを表示できないことがあります。 不足しているフィールドのスクリーンショットは、ロボットがユーザー・インタフェースで遭遇した問題をすばやくトラブルシューティングするのに役立ちます。
「ロボットのスクリーンショットをキャプチャ」を参照してください。