- 基本情報
- セットアップと構成
- オートメーション プロジェクト
- 依存関係
- ワークフローの種類
- 制御フロー
- ファイルの比較
- オートメーションのベスト プラクティス
- ソース管理との連携
- デバッグ
- ログ
- 診断ツール
- ワークフロー アナライザー
- ワークフロー アナライザーについて
- ST-DBP-002 - 多数の引数
- ST-DBP-003 - 空の catch ブロック
- ST-DBP-007 - 複数のフローチャートレイヤー
- ST-DPB-010 - [ワークフロー] または [テスト ケース] の複数のインスタンス
- ST-DBP-020 - 未定義の出力プロパティ
- ST-DBP-021 - ハードコードされたタイムアウト
- ST-DBP-023 - 空のワークフロー
- ST-DBP-024 - 永続性アクティビティの確認
- ST-DBP-025 - 変数のシリアル化の前提条件
- ST-DBP-026 - [待機] アクティビティの使用
- ST-DBP-027 - Persistence のベスト プラクティス
- ST-DBP-028 - 引数のシリアル化の前提条件
- ST-USG-005 - ハードコードされたアクティビティ引数
- ST-USG-009 - 未使用の変数
- ST-USG-010 - 未使用の依存関係
- ST-USG-014 - パッケージの制限
- ST-USG-017 - パラメーター修飾子が無効です
- ST-USG-020 - 最小ログ メッセージ
- ST-USG-024 - 未使用で保存されたままの値
- ST-USG-025 - 保存した値の誤用
- ST-USG-026 - アクティビティの制限
- ST-USG-027 - 必要なパッケージ
- ST-USG-028 - ファイル テンプレートの呼び出しの制限
- ST-USG-027 - 必須のタグ
- ST-USG-034 - Automation Hub URL
- 変数
- 引数
- インポートされた名前空間
- コード化されたオートメーション
- トリガーベースの有人オートメーション
- レコーディング
- UI 要素
- セレクター
- オブジェクト リポジトリ
- データ スクレイピング
- 画像とテキストの自動化
- Citrix テクノロジの自動化
- RDP の自動化
- VMware Horizon の自動化
- Salesforce の操作の自動化
- SAP のオートメーション
- macOS の UI Automation
- ScreenScrapeJavaSupport ツール
- Webdriver プロトコル
- 拡張機能
- Test Suite - Studio
- トラブルシューティング
Studio ガイド
ワークフローのデザイン
UiPath は、ワークフロー ファイルを開発する際に、アクティビティをワーキング構造に統合する 4 つのダイアグラムを提供しています。
- フローチャート
- シーケンス
- ステート マシン
- グローバル例外ハンドラー
シーケンスは、上から下への流れを示す単純な線形表現で、アクティビティ同士が繋がった単純なシナリオに最適です。たとえば、一度に 1 回のクリック/キー入力でナビゲーションと入力が行われる UI 自動化の場合に有用です。シーケンスは組み立てと理解が簡単なため、ほとんどのワークフローにおいて望ましいレイアウトです。
フローチャートは、アクティビティをより柔軟に接続でき、単純な 2 次元の形でワークフローをレイアウトする傾向があります。フローチャートは、自由形式で見た目がわかりやすいため、プロセス内部の分岐点を表示する場合に最適です。任意の場所を指すことができる矢印は、構造化されていない GoTo プログラミングステートメントに類似しているため、大きなワークフローでは各種アクティビティが複雑に絡み合うおそれがあります。
ステート マシンは、かなり複雑な構造で、トランジションと呼ばれる条件付き矢印のあるフローチャートとしてみなすことができま す。論理をよりコンパクトに表現でき、商取引に関わる業務プロセス テンプレートの標準的な高レベル プロセスのダイアグラムに最適です。
ロボットがデータ処理やアプリケーション操作でさまざまな条件に応じて異なる動作を行えるように、ワークフローに分岐を実装する必要があります。条件とそれに続くブランチの最も適切な表現を選択することは、ワークフローの視覚的な構造と読みやすさに大きな影響を与えます。
[条件分岐 (if)] アクティビティは、シーケンスを垂直に分割するため、短く均衡のとれた線形ブランチに最適です。より多くの条件を If… Else If の形でチェーンする必要がある場合、特にブランチが利用可能な画面サイズ (幅または高さ) を超える場合には、問題が生じます。一般的なガイドラインとして、ワークフローを単純/線形に維持するには、入れ子の If ステートメントは避けるべきです。
フローチャートのレイアウトは、重要なビジネス ロジックと関連する条件 (入れ子の If ステートメントまたは If… Else If コンストラクトなど) の表示に適しています。場合によっては、シーケンス内部でもフローチャートを使用することが適切であることもあります。
[条件分岐 (switch)] アクティビティは、ブランチごとに別々の条件とアクティビティのある If… Else If カスケードを合理化してコンパクト化するために、If 演算子による収束に使用される場合があります。
[フロー スイッチ] アクティビティは、式の値に応じて次のノードを選択します。[フロー スイッチ] は、フローチャートにおけるプロシージャ型の [条件分岐 (switch)] アクティビティと同じであるとみなすことができます。同一のスイッチ ノードからより多くの接続を開始することにより、12 を超えるケースと一致することができます。
可視性とライフサイクルという観点から、データは、引数と変数という 2 つの形をとります。引数は 1 つのワークフローから別のワークフローにデータを渡すことを目的としていますが、変数は単一のワークフロー内部のコンテナーにバインドされているため、ローカルでのみ使用することができます。
ワークフロー ファイルのどこでも使用可能な引数とは異なり、変数は、自身が定義されているコンテナーの内部 (スコープと呼ばれる) でのみ見ることができます。
変数は最も内側のスコープにのみとどめることを推奨します。これは、[変数] パネルに不要なものを含むのを避け、オートコンプリートにおいて、ワークフローの特定の点で関連するもののみを表示するためです。
[分離] オプション (ワークフローの実行を別のシステム プロセスで開始するオプション) でワークフローを呼び出す場合、プロセス間でデータを渡すための引数として使用できるのはシリアライズ可能な型のみです。たとえば、SecureString オブジェクト、Browser オブジェクト、Terminal Connection オブジェクトは、プロセス間の境界を安全に超えることができません。
ワークフロー ファイル、アクティビティ、引数、変数には、プロジェクト全体におけるそれぞれの用途を正確に表すために、わかりやすい名前を付ける必要があります。
プロジェクトは、Orchestrator のユーザー インターフェイスにも表示され、マルチユーザー環境でも役立つ場合があるため、わかりやすい説明を付ける必要があります。
読みやすくするために、変数名と引数名も命名規則に合わせる必要があります。
- スネークケース:
First1_Name2
、first_name2
、 - キャメルケース:
FirstName
、lastName
、 - パスカルケース:
First1Name2
、First1Name
、 - ケバブケース:
First-Name
、First-Name1
。
in_DefaultTimeout
、in_FileName
、out_TextResult
、io_RetryNumber
)。
アクティビティ名は、「保存ボタンをクリック」のように、操作を簡潔に表すものにします。操作を表すタイトルの一部分を必ず含むようにします ([クリック]、[文字を入力]、[要素の存在を確認]など)。
メインをのぞき、すべてのワークフロー名には、ワークフローの操作を表す動詞を含めます。例: GetTransactionData、ProcessTransation、TakeScreenshot など。
[コメント] アクティビティと注釈 を使用して、手法の詳細や、特定のインタラクションまたはアプリケーションの動作の特性を記述します。後日ロボット プロジェクトに他のスタッフが参加することを考慮して、プロセスを簡単に理解できるようにします。