Oracle Portalプロバイダ・テスト・スイートは、Oracle Portalをインストールすることなく、またはプロバイダ・マシンからインターネットにアクセスすることなく、健全性テスト、パフォーマンス・テストおよび単体テストを行います。このテスト・スイートでは、次の2種類のユーティリティが利用できます。
Oracle Portalプロバイダ・テスト・スイートは、Oracle Technology Network(OTN)の「Oracle Portal Developer Kit(PDK)」ページからダウンロードできます。
http://www.oracle.com/technology/products/ias/portal/pdk.html
「Oracle Portlet Developer Kit (PDK)」ホーム・ページから、「Download the PDK-Java TestSuite」を選択します。
プロバイダ・テスト・ページには、プロバイダに対する基本的な健全性テストが用意されています。このページには、ポートレット、サーブレット初期化引数およびptlshare
ライブラリとpdkjava
ライブラリのバージョン番号がリストされます。プロバイダ・テスト・ページは、Webプロバイダを最も簡単にテストできるユーティリティです。テスト・ページには、Oracle WebLogic Serverにエンタープライズ・アプリケーションまたはWebアプリケーションをデプロイした後、URLでアクセスします。ブラウザから次のURLにアクセスすることで、Webプロバイダをテストします。
http://server:port/application_name/providers/provider_name
テスト・サンプルとして、PDK-Javaにはサンプルのアプリケーションとポートレットが含まれています。このアプリケーションはWARファイル内にカプセル化されており、WARファイルはさらにEARファイル内にカプセル化されています。アプリケーションをデプロイすると、Oracle WebLogic Serverによってファイルが抽出され、次の場所にディレクトリ構造が作成され、そこにサンプルのポートレットが格納されます。
MW_HOME\user_projects\domains\<DomainName>\servers\WLS_PORTAL\tmp\_WL_user\jpdk
このプロバイダのテスト・ページを表示するには、次のURLを使用します。
http://server:port/jpdk/providers/sample
テスト・ページにアクセスすると、SOAPサーブレットによってXMLプロバイダ定義(provider.xml
)が検証され、対応するプロバイダが正しく構築されているかどうかが確認されます。この検証は、プロバイダをOracle Portalに登録する前に、プロバイダのデプロイに関する問題をデバッグするのに使用できます。WebアプリケーションのWebLogic Serverへのデプロイに成功すると、テスト・ページに成功メッセージが表示されます。
テスト・ページは、JNDI変数oracle/portal/provider/
provider_name
/showTestPage
をtrueまたはfalseに設定することで、表示または非表示にできます。プロバイダがテストし終わり稼働状態となったら、テスト・ページへのアクセスを制限できます。JNDI変数の取得方法および設定方法は、7.2.4項「JNDI変数の使用」を参照してください。
テスト・ハーネスは、Oracle Portalのインスタンスにアクセスすることなく、プロバイダの単体テストおよびパフォーマンス・テストを行うためのコマンドライン・ユーティリティです。テスト・ハーネスは、ターゲットのWebプロバイダにHTTPリクエストを送信し、レスポンスを分析用に記録します。レスポンスは、XMLファイルにログとして記録されます。パフォーマンス統計は、分析のために別のファイルにログとして記録されます。
テスト・ハーネスは、次のように非常に柔軟性に富んでいます。
ユーザー独自のテスト定義を作成します。ハーネスは、テスト定義内の情報に基づいて、プロバイダにリクエストを送信します。テスト定義ファイルはXML形式で、ターゲットWebプロバイダに送信するリクエスト・インスタンスをリストしたものです。
プロバイダによって返された情報は、理解および分析が容易なように、標準のXMLファイルに格納されます。
Webプロバイダのロード・テストが実施できます。
テスト定義ファイルは、特定のテスト用のリクエスト・インスタンスをリストするXMLファイルです。テスト定義ファイル内で、リクエスト・インスタンスを複数のリクエスト・グループに細分することもできます。テスト定義ファイルにリクエスト・インスタンスの詳細を含めたり、インスタンスの詳細を定義したリクエスト・ライブラリXMLファイルを参照することができます。
テスト定義ファイルには、リクエスト・インスタンス以外にも、ターゲットWebプロバイダのホストおよびポートに関する情報や、テスト定義ファイルの送信先となるプリプロセッサも指定できます。プリプロセッサを使用すると、テスト・ハーネス内での実行時にアプリケーション固有ロジックをリクエスト・インスタンスに追加できます。たとえば、プリプロセッサでは、ターゲットWebプロバイダに送信されるSOAPメッセージ内のXMLの妥当性をチェックできます。テスト・ハーネスには、次の3つのプリプロセッサが組み込まれています。
Oracle Portalプリプロセッサ
検証ベースのキャッシュ・プリプロセッサ
Hashed Message Authentication Checksum(HMAC)プリプロセッサ
次のテスト定義ファイルのサンプルで、ファイルの形式とコンテンツを示します。
<?xml version="1.0" encoding="ISO-8859-1"?> <?testDefinition version="0.1"?> <testDefinition> <defaultHost>machine.name.com</defaultHost> <defaultPort>80</defaultPort> <defaultPath>/jpdk/providers/sample</defaultPath> <property name="portletId" value="1"/> <preProcessorDefinitions> <preProcessor class="oracle.webdb.testharness.preprocessor.PortalPreProcessor"> <name>portal</name> </preProcessor> <preProcessor class="oracle.webdb.testharness.preprocessor.HMACPreProcessor"> <name>hmac</name> <sharedKey>1234567890aBcDeFgHiJ</sharedKey> </preProcessor> </preProcessorDefinitions> <requestGroup id="register"> <description>Carries out necessary registrations</description> <cycles>1</cycles> <threads>1</threads> -- increase the number to load test the Web provider. <requestInstance id="register_provider"> <libraryId>ptl902</libraryId> <definitionId>registerProvider</definitionId> <runs>1</runs> </requestInstance> <requestInstance id="register_portlet"> <libraryId>ptl902</libraryId> <definitionId>registerPortlet</definitionId> <runs>1</runs> </requestInstance> </requestGroup> <requestGroup id="show"> <description>Carries out work necessary to show the portlet</description> ... ... </requestGroup> ... </testDefinition>
runTest
コマンドは、指定されたテスト定義を使用して、指定されたオプションでテスト・ハーネスを起動します。
runTest options test_definition
表E-1に、runTest
のコマンド・オプションをリストし、これらのオプションについて説明します。
表E-1 runTestのオプション
オプション | 説明 |
---|---|
-n testname
|
指定された名前をこの実行に付けます。デフォルトでは日時名になります。 |
-g groupId
|
このテストで実行されるテスト定義ファイル内のリクエスト・グループの識別子のカンマ区切りリストです。すべてのグループを実行するには、 |
-p perfLogFile
|
パフォーマンス・ログ・ファイルの名前です。デフォルトではテスト名になります。パフォーマンス・テストを無効にするには、 |
-l resLogFile
|
レスポンス・ログ・ファイルの名前です。デフォルトではテスト名になります。 |
-v resLogLevel
|
レスポンスのロギング(MIN | HEADERS | ALL)レベルです。デフォルトはALLです。 |
-c csvFile
|
レスポンス・データのCSVファイルの名前です。デフォルトではこのファイルは生成されません。 |
-s ctlFile
|
レスポンス・データのctlファイルの名前です。デフォルトではこのファイルは生成されません。 |
--no-perf |
パフォーマンス・データのすべてのロギングをオフに切り替えます。 |
--all-groups |
テスト定義内のすべてのグループを実行します。 |
-verbose |
詳細情報ログを作成します。 |
テスト・ハーネスを使用してWebプロバイダをテストする手順は、次のとおりです。
pdktestsuite.zip
ファイルを使用しやすい場所に抽出します。この操作により、pdk\testsuite\pdktest
というディレクトリが作成され、ここにすべてのテスト・ハーネス・ファイルが抽出されます。
PDKTEST_HOME
という環境変数を、前述の手順で作成した場所を指すように設定します。たとえば、Dドライブに抽出した場合は、D:\pdk\testsuite\pdktest
という名前のディレクトリが作成されているはずです。PDKTEST_HOME
の値をD:\pdk\testsuite\pdktest
に設定します。テスト・ハーネスによって実行可能なスクリプトがbin
ディレクトリに提供されます。
E.2.1項「テスト定義ファイル」に示したようなテスト定義ファイルを作成します。
E.2.2項「runTestコマンド」で説明したようにrunTest
コマンドを起動します。