Silk Performer を用いた BMC Remedy IT Service Management のテストのワークフローは、Web ベースのアプリケーションのテストのワークフローと同じですが、次の例外があります。
BMC は優れたチュートリアルを作成しました。このチュートリアルは、BMC Remedy Action Request System (AR System) を使用する BMC Remedy IT Service Management (ITSM) アプリケーション テストをロードする方法について説明します。 チュートリアルを入手するには、BMC に問い合わせて次のホワイト ペーパーを請求します。『Performance Benchmarking Kit: Using Incident Management with Silk Performer 』。
Silk Performer を用いて Remedy をテストするには、プレミアム仮想ユーザー ライセンスが必要です。
TrueLog 機能は、Remedy のテストではサポートされていません。
Remedy はクライアントからサーバーに送信するデータに独自仕様の形式を使用します。 この形式には length prefix が付いていて、これによってカスタマイズが困難になります。
例:
157/GetTableEntryList/11/smi-web-00126/ SMI:TEL35:SHR:AgentConsole12/Windows_View9/53687098211/ smi-web-00127/SMI:TEL35:SYS:IncomingEmail0/ 1/01/02/0/0/2/0/2/0/2/0/
このようなデータは HTTP リクエストに含まれて URL http://<ホスト名>/arsys/BackChannel に送信されます。
Remedy versions 6.3 パッチ レベル 2 以前では、このようなデータは HTTP POST リクエストのボディに含めて送信されます。 Versions 6.3 以降では、このようなデータは HTTP GET リクエストのクエリ文字列に含めて送信されます。
Silk Performer の Remedy アドオンの主な利点は、このデータの独自仕様の形式が、length prefix を削除して、個々のデータ項目に名前を付けた XML ベースの表現に変換されることです。 こうすることでスクリプトが理解しやすくなり、カスタマイズが容易になります。 この XML ベースの形式は、スクリプトの再生時にユーザーが気付かないうちに元の形式に変換されます。
この逆変換は、WebRemedyBackChannelUrl 関数と WebRemedyBackChannelPost により行われます。
WebRemedyBackChannelUrl は、WebPageUrl に代わる関数です。WebRemedyBackChannelPost は、WebPagePost に代わる関数です。
たとえば、Remedy アドオンを使用しない場合、以下の API 呼び出しは次のように記録されます。
WebPagePost("http://213.131.176.85/arsys/BackChannel", "157/GetTableEntryList/11/smi-web-00126/ SMI:TEL35:SHR:AgentConsole12/W" "indows_View9/53687098211/smi-web-00127/ SMI:TEL35:SYS:IncomingEmail0/1" "/01/02/0/0/2/0/2/0/2/0/", STRING_COMPLETE, "text/plain; charset=UTF-8", "arsys/BackChannel");
Remedy アドオンを使用する場合、API 呼び出しは次のように記録されます。
WebRemedyBackChannelPost("http://213.131.176.85/arsys/BackChannel", "<?xml version='1.0'?>\r\n" "<SegueRemedyXml operation=\"GetTableEntryList\">\r\n" " <string name=\"table_server\">smi-web-001</string>\r\n" " <string name=\"table_schema\">SMI:TEL35:SHR:AgentConsole</string>\r\n" " <string name=\"table_vui_name\">Windows_View</string>\r\n" " <long name=\"table_field_id\">536870982</long>\r\n" " <string name=\"server\">smi-web-001</string>\r\n" " <string name=\"schema\">SMI:TEL35:SYS:IncomingEmail</string>\r\n" " <string name=\"app_name\"></string>\r\n" " <long name=\"start_row\">0</long>\r\n" " <long name=\"num_rows\">0</long>\r\n" " <Array name=\"sort_order\"></Array>\r\n" " <string name=\"qualification\"></string>\r\n" " <Array name=\"qual_field_ids\"></Array>\r\n" " <Array name=\"qual_field_values\"></Array>\r\n" " <Array name=\"qual_field_types\"></Array>\r\n" "</SegueRemedyXml>", STRING_COMPLETE, "text/plain; charset=UTF-8", "BackChannel - GetTableEntryList");
主な相違点は、次のとおりです。
データ表現がさまざまであるだけでなく、Remedy アドオンを使用する利点は他にもあります。
Remedy アプリケーションの種類は、SilkEssential パッケージを介してトリガされます。 これには記録規則および remedy.bdh が含まれます。 remedy.bdh は、WebPageCalls をラップします。
// wrapper function for WebPagePost // param nDataLength will be ignored function WebRemedyBackChannelPost(sUrl : string; sData : string; nDataLength : number optional; sContent : string optional; sTimer : string optional; formUrl : form optional) : boolean <API_FUNCTION> begin WebRemedyBackChannelPost := WebPagePost(sUrl, RemedyBackChannelData(sData), STRING_COMPLETE, sContent, sTimer, formUrl); end WebRemedyBackChannelPost;
および
// wrapper function for WebPageUrl for use with BackChannel requests function WebRemedyBackChannelUrl(sUrl : string; sTimer : string optional; formUrl : form optional) : boolean <API_FUNCTION> var sXmlData : string(100000); sDummy : string; begin WebFormExpand(formUrl, sDummy, 1, true); WebFormValueGet(formUrl, sXmlData, sizeof(sXmlData), "param"); WebFormValueSet(ARSYS_BACKCHANNEL_INTERNAL_HELPER, "param", RemedyBackChannelData(sXmlData)); WebRemedyBackChannelUrl := WebPageUrl(sUrl, sTimer, ARSYS_BACKCHANNEL_INTERNAL_HELPER); end WebRemedyBackChannelUrl; dclform ARSYS_BACKCHANNEL_INTERNAL_HELPER <ENCODE_URICOMPONENT> : "param" := "";
Remedy プロトコル検出は、デフォルトでは利用できません。 ただし、既に Silk Performer Recorder に組み込まれているので、新規プロジェクトの作成時に適切な Remedy アプリケーションの種類を選択することで有効になります。
Remedy での XML へのデータ変換および XML からの変換は、記録のために ProxyEngine に実装されています。そして Remedy.bdh によって perfRun にロードされる perfRemedy.dll にも実装されています。