ユーザーのCSVデータセット構成<\/H2>便宜上、プロジェクト内のすべてのテストプランは同じファイルから同じユーザーリストを参照しています。テストプランでは、「Users File」という名前のCSV Data Set Config要素で参照されています。<\/P>
<\/P>ユーザーのテキストファイルリスト<\/H2> 付属のテキストファイルには10人の異なるメンバー用のユーザー情報が含まれています。ただし、組織のニーズに合わせて調整および拡張可能です。<\/P> roleおよびuserLicenseTypeId フィールドには多くの異なるオプションがあります<\/LI>これらの選択はAdd-onライセンスにも影響し、一部は特定の権利を自動的に含みます<\/LI><\/UL>
<\/P>注意: まず少数のユーザーリストでテストプランを実行し、サイトに正しく設定されているか確認することを推奨します。<\/STRONG>管理者ログイン<\/FONT>
付属するすべてのテストプラン(1つを除く)は、テスト開始時に組み込みPortal for ArcGIS管理者としてログインするロジックがあります。効率化のため、この操作は各テストスレッドごとに一度だけ(開始時)実行されます。<\/FONT>
注意: ArcGIS EnterpriseのPortal for ArcGISコンポーネントに接続するとき、テストプランはポート7443上の「arcgis」インスタンスに直接リクエストを送信します。<\/STRONG>
新しいユーザーを追加 (portal_users_add1)<\/H1> portal_users_add1 テストプランはPortal for ArcGISに新しいメンバーを追加するシンプルな方法です。 <\P\U\L\L\I>The administrator credentials are specified from the User Defined Variables section of the Test Plan
Except where noted, this step is performed at the beginning of all the included tests

Once the test authenticates as the administrator, it calls the createUser function and repeats it for each line in file containing the list of users
This test only adds users, it does not perform any other duties such as joining a member to a group, setting the Start page, or selecting add-on licenses
For convenience, the username is appended to all user-based transactions and requests
This assists troubleshooting if a particular iteration of the test could not add a specific user
All of the included tests follow this design pattern

This test is similar to the process used on the Example: Add members to the portal resource, command line utility and Add members from a file feature built into Portal for ArcGIS.
新しいユーザーを追加 (portal_users_add2)
The
portal_users_add2 テストプランはPortal for ArcGISに新しいメンバーを簡単に追加できますが、いくつかオプションがあります。ユーザー作成に加え、このテストでは開始ページ(ランディングページとも呼ばれる)やPortal Groupなど追加プロパティも設定できます。
- This test expands the user creation process by 3 additional requests per user
- If creating thousands of users, you may notice this test takes longer to complete than portal_users_add1
- This is due to the fact that more work is taking place

注意: 新規メンバーは実際には複数のPortal Groupに作成時に追加可能ですが、簡潔さのため portal_users_add2 は一つのグループのみへの追加であり、すべてのメンバーに同じグループが使用されます。使用されるグループは PortalGroupId ユーザー定義変数から定義されます。このGUID Idは手動でPortal for ArcGISサイトから調べる必要があります。グループへの追加が不要な場合は、単にテスト内で setProperties リクエストを無効化してください。
新しいユーザーを追加 (portal_users_add3)
The portal_users_add3 テストプランは管理者向けに最も多くのオプションでPortal for ArcGISへ新規メンバーを自動的に追加する方法です。このテストでは開始ページとPortal Groupが設定できるだけでなく、ArcGIS Proや拡張機能、一部Userタイプ拡張などAdd-onライセンスも指定可能です。
- 管理者認証直後にArcGIS ProおよびUserタイプ拡張用GUID取得コールが行われます
- これらGUIDは後でライセンス割り当て時に使用されます
<\/span><\/P>アドオンライセンスはユーザー作成プロセスにさらにいくつかのリクエストを追加します<\/SPAN>強力ではありますが、これらの追加リクエストは作成される各メンバーごとに実行されるため、全体の作業時間が増加する可能性があります<\/SPAN><\/LI><\/UL><\/LI>テストはユーザーに以下を割り当てるように構成されています:<\/SPAN>ArcGIS Pro Advanced とすべての利用可能な Extensions (10.9/10.9.1 時点)<\/SPAN><\/LI>すべての User type extensions<\/SPAN><\/LI><\/UL><\/LI><\/UL>
<\/span><\/P>注意: Applications や ArcGIS Runtime extensions など、portal_users_add3 Test Plan に含まれていない他のアドオンライセンスもあります。これらの多くは独自の特定の HTTP リクエストを必要とします。便利で強力ではありますが、各ユーザーを追加するプロセスに時間がかかることがあります。また、App bundles のような一部のライセンスはテストに含まれていません。これらはユーザーライセンスタイプ(例: Creator)に自動的に含まれています。<\/STRONG><\/FONT><\/P>新規ユーザーのセキュリティ質問/回答の設定 (portal_users_update_profile1)<\/H1>portal_users_update_profile1<\/STRONG> Test Plan は少しユニークです。このプロジェクトで唯一 Portal for ArcGIS 管理者としてログインしないテストです。代わりに各ユーザーとしてログインし、各メンバーの初回ログインを想定してセキュリティ質問と回答を設定します。<\/P>セキュリティ質問と回答の事前設定は完全に任意です<\/LI>組織によっては、各ユーザーが初回ログイン時にこれらの値を設定することを好む場合があります<\/LI><\/UL>
<\/span><\/P>ユーザーを無効化する (portal_users_disable1)<\/H1>portal_users_disable1<\/STRONG> Test Plan はユーザーリストを取得し、そのポータルへのメンバーシップを無効化する自動化された方法です。アカウントが無効化されると、そのユーザーはログインできなくなります。これは削除よりも破壊的でない機能です。<\/P>ユーザーの無効化は比較的簡単で、disableUsers への REST コール一回で実行されます<\/LI><\/UL>注意: 簡単のため、portal_users_disable1 Test Plan の disableUsers リクエストは一度に一人のメンバーのみを無効化しています。しかし、disableUsers 関数への各呼び出しでは効率向上のため複数ユーザーグループを受け入れます。10.9/10.9.1 時点で disableUsers は最大25人まで同時に受け入れ可能です。<\/STRONG><\/FONT><\/P>
<\/span><\/P>注意: portal_users_disable1 テストは同じユーザーに対して繰り返し実行可能です。ArcGIS Enterprise の観点から見ると、それは単にメンバーを再度無効化しているだけです。<\/STRONG><\/FONT><\/P>ユーザーを有効化する (portal_users_enable1)<\/H1>portal_users_enable1<\/STRONG> Test Plan はユーザーリストを取得し、そのポータルへのメンバーシップを有効化する自動化された方法です。アカウントが有効化されると、そのユーザーはログインできるようになります。<\/P>ユーザーの有効化は比較的簡単で、enableUsers への REST コール一回で実行されます<\/LI><\/UL>注意: 簡単のため、portal_users_enable1 Test Plan の enableUsers リクエストは一度に一人のメンバーのみを有効化しています。しかし、enableUsers 関数への各呼び出しでは効率向上のため複数ユーザーグループを受け入れます。10.9/10.9.1 時点で enableUsers は最大25人まで同時に受け入れ可能です。<\/FONT> <\/P>
注意: portal_users_enable1 テストは同じユーザーに対して繰り返し実行可能です。ArcGIS Enterprise の観点から見ると、それは単にメンバーを再度有効化しているだけです。
スレッドグループ構成
以前の記事で紹介した Apache JMeter テストとは異なり、このプロジェクト内の Test Plans は反復ベースです。つまり、特定のユーザーを作成または無効化するときには、対象となるリスト内のユーザーのみ一度処理すればよいということです。
- Apache JMeter のデフォルトインストールに含まれるスレッドグループ「step load」構成には非常に便利な Loop Count 設定があり、Test Plan を正確に何回反復実行するか指定できます
- The Loop Count 設定は追加・無効化・有効化対象となるメンバーが記載された「Users File」の行数と一致させるべきです
注意: プロジェクト内すべての Test Plans は同じスレッドグループ設定で構成されています。また、含まれるすべてのテストは同時実行スレッド数1で実行されます。

テスト実行
また、以前の記事で紹介したコマンドラインから実行する Apache JMeter テストとは異なり、この管理自動化 Test Plans は GUI から直接実行できる場合があります。ただし、作成・無効化・有効化予定のユーザー数によります。数百人程度なら GUI でも問題ありません。しかし数千人や数万人以上の場合は、テストワークステーション資源を最適活用するためコマンドラインから実行することをお勧めします。
portal_administration1.zip プロジェクトに含まれる runMe.bat スクリプトをご覧ください。これは Apache JMeter チーム推奨のテスト実行例です。このスクリプトは portal_users_add3 を実行するよう構成されていますが、他のテストにも簡単に調整可能です。
- runMe.bat スクリプトには環境に合わせて設定が必要な jmeterbin 変数が含まれています
注意: 常に推奨されることですが、ご所属組織内の適切な担当者と開始時間を調整してください。これによりオンプレミス ArcGIS Enterprise サイトをご利用中の他ユーザーや同僚への影響を最小限に抑えられます。
Test Plans の検証
GUI からテストを実行している場合、すべての Test Plans に即時フィードバックが得られる複数のリスナーが追加されています。
- View Results Tree 要素は各トランザクション(例:「Create User Account -- portalpublisher2」)およびそれぞれのリクエスト(例:「/arcgis/portaladmin/security/users/createUser--portalpublisher2」)の状態を迅速に確認できる便利な方法です
- 各リクエストに追加された Response Assertion ルール要素のおかげで、緑色チェックマークは成功したトランザクションまたはリクエストの信頼できる指標となっています

- View Results in Table 要素は各トランザクションおよび <\/EM><\/STRONG>すべての応答時間が1つのテーブルから取得されます<\/SPAN><\/LI><\/UL>
<\/span><\/P>コマンドラインテスト実行のトラブルシューティング<\/H2>前述のように、多数のユーザーを扱う場合、推奨される方法はコマンドラインからTest Plansを実行することです。しかし、管理者は自動化を通じてどのユーザーがエラーに遭遇したか(もしあれば)を理解することに非常に関心があります。ここでJMeter Test Reportが大きな洞察を提供できます。<\/P>Test Reportの最初のページにあるRequest Summaryの円グラフから、エラーが発生したかどうかをすぐに確認できます<\/LI><\/UL>
<\/span><\/P>テスト実行中にエラーが発生した場合、Statisticsテーブル(最初のレポートページの下部)でFAIL列でソートすると失敗したユーザーリクエストを簡単に見つけることができます<\/LI><\/UL>
<\/span><\/P>まとめ<\/H1>ArcGIS Enterpriseの管理タスク自動化を実行するための多くのフレームワーク、ツール、およびユーティリティがあります。おそらく、それぞれに独自の強みがあります。Apache JMeterは、機能を実行するために必要なRESTリクエストを構築および調整するためのグラフィカルインターフェースを提供するため便利です。テストレポートの最後に自動的に作成できるHTML/JavaScriptレポートは、ジョブ全体が成功したか、どの部分が失敗したかを理解するための素晴らしいボーナスです。<\/P>この記事で使用されたApache JMeter Test Planをダウンロードするには、こちらをご覧ください: portal_administration1.zip<\/A> <\/STRONG><\/LI><\/UL>複数スレッド使用について一言<\/H2>含まれているすべてのテストは、より高速な実行のために複数の同時スレッドを使用するように構成できます。これは技術的には問題ありませんが、これらすべてのテストはPortal for ArcGISコンポーネントの内部データベースへの書き込み操作を行います。どんなデータベースでも、そのような操作はリソース集約的であり、速度には限界があります。同時スレッド数が多すぎると、これらのテストのパフォーマンスが実際に低下する可能性があります。<\/P>ユーザー削除について一言<\/H2>プロジェクトに含まれるテストにはユーザー削除操作は含まれていません。ポータルからメンバーを削除することは永久的なもので(バックアップがない場合)、この操作を自動化するツールは注意して使用すべきです。さらに、一部のユーザーはポータルに大量のコンテンツをアップロードしている可能性があります。このコンテンツは、そのメンバーを削除する前に削除または別のユーザーへ移管する必要があります。<\/P> <\/P> <\/P> <\/P>Apache JMeter<\/A> は <\/SPAN>Apache<\/A> ライセンス下でリリースされています <\/SPAN>License 2.0.<\/A> Apache、Apache JMeter、JMeter、Apacheフェザー、およびApache JMeterロゴはApache Software Foundationの商標です。<\/SPAN><\/P> <\/P>