- リリース ノート
- 基本情報
- セットアップと構成
- オートメーション プロジェクト
- 依存関係
- ワークフローの種類
- 制御フロー
- ファイルの比較
- オートメーションのベスト プラクティス
- ソース管理との連携
- デバッグ
- ログ
- 診断ツール
- ワークフロー アナライザー
- ワークフロー アナライザーについて
- 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 - 引数のシリアル化の前提条件
- 変数
- 引数
- インポートされた名前空間
- コード化されたオートメーション
- トリガーベースの有人オートメーション
- レコーディング
- UI 要素
- セレクター
- オブジェクト リポジトリ
- データ スクレイピング
- 画像とテキストの自動化
- Citrix テクノロジの自動化
- RDP の自動化
- VMware Horizon の自動化
- Salesforce の操作の自動化
- SAP のオートメーション
- macOS UI Automation
- ScreenScrapeJavaSupport ツール
- Webdriver プロトコル
- 拡張機能
- Test Suite - Studio
- トラブルシューティング
ワークフロー アナライザーについて
ワークフロー アナライザーは、プロジェクトが高品質と信頼性の基準を確実に満たせるようにする静的コード アナライザーです。静的コード アナライザーは、実行時にステップ インする動的アナライザーとは対照的に、プロジェクトを実際に実行せずに不整合がないかを確認します。
ワークフロー アナライザーは、プロジェクトの実行に関係のないさまざまな不整合を一連のルールを使用してチェックします。ルールはオートメーションのベスト プラクティスに基づいており、変数と引数の命名、空のシーケンスまたはワークフロー、パッケージの制限などが考慮されます。ワークフロー アナライザーは実行時またはコンパイル時のエラーを区別しません。
[デザイン] リボン タブの [ファイルを分析] ボタンと [プロジェクトを分析] ボタンで使用できます。最初のボタンは、デザイナー パネルで現在フォーカスされているファイルを分析し、2 つ目のボタンは、オートメーション プロジェクトのすべてのファイルを分析します。
ST-
によって見分けることができます。UIAutomation.Activities、Excel.Activities、Testing Activities、Mail.Activities もプレフィックスによって識別可能な独自のルールを備えています。詳しくは下表をご覧ください。
ルールのカテゴリ |
説明 |
ソース |
---|---|---|
名前付け |
名前付けに関連する不整合がないか、ファイルまたはプロジェクトを確認します。 |
Studio |
プロジェクトが、一連の一般的なベスト プラクティスを満たしていることを確認します。 | Studio | |
プロジェクトが、構造の観点から一般的な要件を満たしていることを確認します。 | Studio | |
プロジェクトが、分かりやすく保守性が高いことを確認します。 | Studio | |
プロジェクトで定義されている要素が実際に使用されていることを確認します。 | Studio | |
パフォーマンスと再利用性に関連する不整合がないか、ファイルまたはプロジェクトを確認します。 | Studio | |
信頼性に関連する不整合がないか、ファイルまたはプロジェクトを確認します。 | Studio | |
セキュリティに関連する不整合がないか、ファイルまたはプロジェクトを確認します。 | Studio | |
ワークフローおよびオートメーション プロジェクトをテストします。 |
アクティビティ | |
UI Automation のクラシック アクティビティまたはモダン アクティビティを使用するワークフローを検証します。 |
アクティビティ | |
Excel アクティビティを使用するワークフローを検証します。 | アクティビティ | |
メール アクティビティを使用するワークフローを検証します。 | アクティビティ |
カスタム ルールを作成することもできます。詳細については、『開発者ガイド』の「ワークフロー アナライザーのルールを構築する」をご覧ください。
ルールは、Automation Ops で Studio のポリシーを作成する際に設定することもできます。詳しくは、『Automation Ops ガイド』をご覧ください。
ST-NMG-001
ID があります。
ST
- ルールが Studio に組み込まれていることを示します。NMG
- ルールが名前付けルール カテゴリの一部であることを示します。プロジェクト構造のルール カテゴリの一部であるルールの略語はANA
、デザインのベスト プラクティス カテゴリの一部であるルールの略語はDBP
、などです。001
- ルール番号です。
各ルールには、適用されるスコープがあります。
ルールには、設定可能な多くの操作があります。
- エラー: [エラー リスト] パネルにエラーを生成します。
- 警告: [エラー リスト] パネルに警告を生成します。
- 情報: [エラー リスト] パネルにメッセージを生成します。
- 冗長: 大きなログ ファイルを作成します。
Studio でのログの詳細については、「ログ レベル」ページをご覧ください。
プロジェクトまたはファイルは、[プロジェクト設定] ウィンドウで利用可能な一連のルールに基づいて分析されます。
- [プロジェクト] パネルで アイコンをクリックしてワークフロー アナライザーを選択します。
- リボンで [ファイルの分析] ボタンをクリックして、ドロップダウンから [Workflow Analyzer の設定] を選択します。
既定では、ルールはウィンドウ内でコード順に並べられていますが、有効なルールは最初に表示されます。
ウィンドウ上部の検索ボックスを使用して、名前またはコードでルールを検索します。スコープと既定のアクションでルールをフィルター処理するには、検索ボックスの右側にある ボタンをクリックします。
ルールを設定する
左側のチェックボックスを使用してルールを有効化/無効化したり、右側のドロップダウンを使用して既定のアクションを変更したりできます。
追加の設定が不要なルールもあれば、超えてはならないしきい値や、許可/禁止する特定の項目のリストなど、設定可能なパラメーターを含むルールもあります。テキスト フィールドを含むルールを設定する場合は ([SecureString の誤用] や [パッケージの制限] など)、テキストを引用符で囲んで入力しないでください。
既定値にリセット
正規表現やしきい値など、ルールの既定値に何らかの変更を加えた場合、それらのルールを右クリックして [既定値にリセット] を選択すれば、値を規定値に戻すことができます。
Workflow Analyzer がトリガーされるたびに、ファイルまたはプロジェクトの検証が行われます。検証オプションは [ファイルの分析] リボンボタン、検証ファイル、検証プロジェクトで使用できます。
この操作は、変数、引数、式、およびインポートが適切に構成されているかどうかを確認します。ファイルの検証操作は F8 ショートカットを使用してトリガーすることができ、プロジェクトの検証操作は Shift + F8 を使用してトリガーできます。検証はいつでもキャンセルできます。
エラーを含むファイルは、[プロジェクト] パネルで赤い点でマークされ、エラーは [エラー リスト] パネルと [出力] パネルに表示されます。
.xaml
が開き、エラーをスローした要素 (アクティビティ、引数、または変数) が強調表示されます。
.xaml
ファイルが検証されない限り、プロジェクトはデバッグ、実行、またはパブリッシュできません。ブレークポイント条件は評価されません。
トリガーされると、ワークフロー アナライザー はプロジェクトまたはファイルをチェックするように設定されたルールセットを使用し、ルールの操作に従って [エラー リスト] パネルに見つかったエラーを記録します。
[エラー リスト] パネルは項目をエラー、警告、メッセージごとに絞り込みます。スコープのドロップダウン メニューは、プロジェクト、現在のファイル、またはオートメーション内の特定のファイルごとにエラーを絞り込むのに役立ちます。さらに、項目はルール ID で絞り込むことができます。
見つかった警告またはエラーをクリックして、ルールの推奨事項と各ルールのドキュメントページへのリンクを表示します。
[エラー リスト] パネルには、ルール違反のほか、ワークフロー分析の実行中に発生する可能性のあるエラーも表示されます。ワークフロー アナライザーまたは設定されたルールのいずれかが実行に失敗すると、エラーがログに記録され、エラーの原因の詳細が [説明] に表示されます。
UiPath.Studio.CommandLine.exe
コマンドライン ユーザー インターフェイスには、CI/CD パイプライン構成であっても、特定のルールに対してファイルまたはプロジェクトをチェックするための一連のパラメーターが含まれています。
UiPath.Studio.CommandLine.exe
は、インストール フォルダーにあります。
- マシン単位のインストールの場合、既定のパスは
%ProgramFiles%\UiPath\Studio\
です。 - ユーザー単位のインストールの場合、既定のパスは
%LocalAppData%\Programs\UiPath\Studio
です。
ルールを設定する
Studio をインストールすると、以下を除くワークフロー アナライザーのすべてのルールが既定で有効化されています。
以下の場所からルールを設定できます。
- [Workflow Analyzer の設定] ウィンドウで、各ルールの横にあるチェックボックスをクリックしてルールを有効または無効化します。
RuleConfig.json
ファイル (パス:%LocalAppData%\UiPath\Rules
) で特定のルールを見つけ、そのパラメーターを変更し、IsEnabled
パラメーターをfalse
に変更してルールを無効化します。上記のパスにアクセスできない場合は、必要に応じて、RuleConfig.json
ファイルをカスタムの場所に置き、ファイルへのパスをコマンドに含めることができます。詳しくは、「ファイルとプロジェクトを分析する」をご覧ください。
ルールは Workflow Analyzer の設定にも表示される、一意の ID に基づいて整理されます。
([A-Z])
正規表現式を受け取りました。これは、変数名は大文字でなければならないことを意味します。この例では、他のすべてのルールが無効化されています。
パラメーター | 説明 |
---|---|
RuleId | ルールの ID です。 |
IsEnabled | ルールが有効化されているか、それとも無効化されているかを示します。null に設定すると、DefaultIsEnabled パラメーターの値が適用されます。 |
DefaultIsEnabled | ルールが既定で有効化されているか、それとも無効化されているかを示します。 |
DefaultErrorLevel | ログ メッセージの既定のレベルです (Error、Warning、Info、Verbose)。 |
Parameters | ルールに含めることができる追加のパラメーターです (Name や Value など)。 |
ErrorLevel | ログ メッセージのレベルです。null に設定すると、DefaultErrorLevel パラメーターの値が適用されます。 |
ファイルとプロジェクトを分析する
UiPath.Studio.CommandLine.exe
コマンドライン ユーザー インターフェイスにアクセスします。
以下のワークフロー アナライザーのコマンドを使用できます。
analyze
- プロジェクト全体を分析します。project.json
ファイルへのパスが必要です。analyze-file
- 単一のファイルを分析します。.xaml
ファイルへのパスが必要です。
ワークフロー アナライザーのコマンドでは以下の引数を使用できます。
引数 |
説明 |
---|---|
|
1 つのファイルを分析するには、
.xaml へのパスを指定します。プロジェクト全体を分析するには、project.json ファイルへのパスを指定します。
|
|
RuleConfig.json ファイルへのパスです。ルール設定ファイルが既定の場所 (%LocalAppData%\UiPath\Rules ) に配置されていない場合にのみ、このパスを指定します。
|
|
各コマンドで使用可能な引数を表示します。 |
|
UiPath.Studio.CommandLine.exe のバージョンを確認します。
|
UiPath.Studio.CommandLine.exe analyze-file -p "C:\BlankProcess\Main.xaml"
はプロジェクト内の 1 つのファイル Main.xaml
だけを分析します。このコマンドの出力は、各ルール違反に対して、json 形式にエンコードされたディクショナリを以下の情報とともに返します。
FilePath
: 分析されるファイルへのパスです。ErrorCode
: ルールの ID です。ActivityDisplayName
- アクティビティの表示名 (該当しない場合はnull
)。Item
- エラー メッセージが生成された項目 (アクティビティや変数など) の名前と種類。ErrorSeverity
:DefaultAction
パラメーターの値です。これは、各ルールに対して設定されたログ メッセージであり、Warning、Error、Info、または Verbose のいずれかです。Description
: ルールの説明です。-
Recommendation
およびURL
: 問題を解決するために推奨される変更と、詳細情報が記載されたドキュメントへのリンクです。
RuleConfig.json
ファイルを使用するには、コマンドに場所を追加します。前のコマンドを例として使用し、C:\CustomFolder\RuleConfig.json
にあるファイルでルールを設定するには、次のコマンドを実行します。UiPath.Studio.CommandLine.exe analyze-file -c "C:\CustomFolder\RuleConfig.json" -p "C:\BlankProcess\Main.xaml"
echo %errorlevel%
を実行します。ErrorSeverity
エラーのメッセージがない場合は、コード 0
が返されます。それ以外の場合は、1
が返されます。
.xaml
ファイルの場合には、エラーが表示されます。
エントリの接頭辞として使用されるグローバル一意識別子 (GUID) は実行ごとに生成され、現在の結果にのみ適用されます。
各ワークフローの分析結果をプロジェクト フォルダーにエクスポートするように Studio を設定するには、Studio の Backstage ビュー > [設定] > [デザイン] に移動して、[アナライザーの結果をエクスポート] オプションを有効化します。
\.local\.analysis\
サブフォルダー内のファイルに保存されます。ファイルの名前には、分析のタイムスタンプの後に project_analysis_results.json
([プロジェクトを分析] オプションが使用された場合) または file_analysis_results.json
([ファイルを分析] オプションが使用された場合) が付けられます。
.local
フォルダーは非表示です。Windows ファイル エクスプローラーの設定で、非表示の項目を表示可能にできます。
このファイルには、有効な各ルールに関する以下の情報が含まれます。
RuleId
- ルールの ID です。RuleName
- ルールの名前です。Parameters
- ルール内のカスタマイズ可能なパラメーターです (該当する場合)。Severity
- ルールに違反した場合のルール アクションです。ErrorsDescription
- ルールによって生成されるエラー メッセージのリストです (該当する場合)。
ワークフロー アナライザーのエラーが含まれるプロジェクトを実行、パブリッシュ、およびリモート リポジトリにプッシュ/チェックインできないようにするには、Studio の Backstage ビュー > [設定] > [デザイン] から以下のオプションを有効化します。
- 実行直前にアナライザーを強制実行 - ファイルまたはプロジェクトの実行/デバッグが開始されるたびに、ワークフロー アナライザーは
Error
アクションが設定されたすべてのルールを確認し、エラーが見つからない場合にのみ実行が許可されます。 - パブリッシュ直前にアナライザーを強制実行 - パブリッシュを開始するたびに、ワークフロー アナライザーは設定されたアクションに関係なく有効化されているすべてのルールを確認し、アクション
Error
のルール違反がない場合にのみパブリッシュが許可されます。 - プッシュ/チェックイン直前にアナライザーを強制実行 - リモート リポジトリへのプロジェクトの送信を開始するたびに (Git の場合は [コミットしてプッシュする]、SVN と TFS の場合は [チェック イン])、ワークフロー アナライザーは設定されたアクションに関係なく有効化されているすべてのルールを確認し、アクション
Error
のルール違反がない場合にのみ操作が許可されます。
Error
のルール違反がない場合)、ワークフロー分析の結果は \lib\net45\.analysis\
にある project_analysis_results.json
ファイル内のパブリッシュされた .nupkg
パッケージに含まれます。このファイルには、有効な各ルールに関する以下の情報が含まれます。
RuleId
- ルールの ID です。RuleName
- ルールの名前です。Parameters
- ルール内のカスタマイズ可能なパラメーターです (該当する場合)。Severity
- ルール アクションです (ルールに違反した場合)。ErrorsDescription
- ルールによって生成されるエラー メッセージのリストです (該当する場合)。