ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Portal開発者ガイド
11gリリース1 (11.1.1)
B61384-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

E Oracle Portalプロバイダ・テスト・スイート

Oracle Portalプロバイダ・テスト・スイートは、Oracle Portalをインストールすることなく、またはプロバイダ・マシンからインターネットにアクセスすることなく、健全性テスト、パフォーマンス・テストおよび単体テストを行います。このテスト・スイートでは、次の2種類のユーティリティが利用できます。

詳細はOTN

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」を選択します。

E.1 プロバイダ・テスト・ページ

プロバイダ・テスト・ページには、プロバイダに対する基本的な健全性テストが用意されています。ここには、ポートレット、サーブレット初期化引数および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アプリケーションのWLSへのデプロイに成功すると、テスト・ページに成功メッセージが表示されます。

テスト・ページは、JNDI変数oracle/portal/provider/provider_name/showTestPageをtrueまたはfalseに設定することで、表示または非表示にできます。プロバイダがテストし終わり稼働状態となったら、テスト・ページへのアクセスを制限できます。JNDI変数の取得方法および設定方法は、7.2.4項「JNDI変数の使用」を参照してください。

E.2 テスト・ハーネス

テスト・ハーネスは、Oracle Portalのインスタンスにアクセスすることなく、プロバイダの単体テストおよびパフォーマンス・テストを行うためのコマンドライン・ユーティリティです。テスト・ハーネスは、ターゲットのWebプロバイダにHTTPリクエストを送信し、レスポンスを分析用に記録します。レスポンスは、XMLファイルにログとして記録されます。パフォーマンス統計は、分析のために別のファイルにログとして記録されます。

テスト・ハーネスは、次のように非常に柔軟性に富んでいます。

E.2.1 テスト定義ファイル

テスト定義ファイルは、特定のテスト用のリクエスト・インスタンスをリストする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>

E.2.2 runTestコマンド

runTestコマンドは、指定されたテスト定義を使用して、指定されたオプションでテスト・ハーネスを起動します。

runTest options test_definition

表E-1に、runTestのコマンド・オプションをリストし、これらのオプションについて説明します。

表E-1 runTestのオプション

オプション 説明
-n testname

指定された名前をこの実行に付けます。デフォルトでは日時名になります。

-g groupId

このテストで実行されるテスト定義ファイル内のリクエスト・グループの識別子のカンマ区切りリストです。すべてのグループを実行するには、--all-groupsと指定します。

-p perfLogFile

パフォーマンス・ログ・ファイルの名前です。デフォルトではテスト名になります。パフォーマンス・テストを無効にするには、--no-perfを使用します。

-l resLogFile

レスポンス・ログ・ファイルの名前です。デフォルトではテスト名になります。

-v resLogLevel

レスポンスのロギング(MIN | HEADERS | ALL)レベルです。デフォルトはALLです。

-c csvFile

レスポンス・データのCSVファイルの名前です。デフォルトではこのファイルは生成されません。

-s ctlFile

レスポンス・データのctlファイルの名前です。デフォルトではこのファイルは生成されません。

--no-perf

パフォーマンス・データのすべてのロギングをオフに切り替えます。

--all-groups

テスト定義内のすべてのグループを実行します。

-verbose

詳細情報ログを作成します。


E.2.3 テスト・ハーネスを使用したテストの実行

テスト・ハーネスを使用してWebプロバイダをテストする手順は、次のとおりです。

  1. pdktestsuite.zipファイルを使用しやすい場所に抽出します。この操作により、pdk\testsuite\pdktestというディレクトリが作成され、ここにすべてのテスト・ハーネス・ファイルが抽出されます。

  2. PDKTEST_HOMEという環境変数を、前述の手順で作成した場所を指すように設定します。たとえば、Dドライブに抽出した場合は、D:\pdk\testsuite\pdktestという名前のディレクトリが作成されているはずです。PDKTEST_HOMEの値をD:\pdk\testsuite\pdktestに設定します。テスト・ハーネスによって実行可能なスクリプトがbinディレクトリに提供されます。

  3. E.2.1項「テスト定義ファイル」に示したようなテスト定義ファイルを作成します。

  4. E.2.2項「runTestコマンド」で説明したようにrunTestコマンドを起動します。