既知の問題 - カスタム API テスト・アクティビティ

関連:API テスト のみ

このトピックでは,カスタム API テスト・アクティビティを使用するときの既知の問題について説明します。

一般

このセクションでは,API テストの実行時に注意すべき一般的な問題について説明します。

前のバージョンからのカスタム・アクティビティの実行

UFT One では,以前使用されていたバージョンよりも新しい log4net.dll が使用されるようになりました。

以前のバージョンの Activity Wizard でカスタム・アクティビティを作成した場合,API テストで使用する前に,これらのアクティビティを再コンパイルする必要があります。

<UFT One インストール・フォルダ>/bin フォルダの log4net.dll を使用して,アクティビティを再コンパイルしてください。現在の UFT One のバージョンでインストールされた Activity Wizard を使用して,アクティビティを再コンパイルできます。

先頭に戻る

Web サービス

命名規則

Windows オペレーティング・システムによって制限されている名前をもつ,WSDL ファイルをインポートすることはできません。

このリストには,CONPRNAUXNULCOM1COM2COM3COM4COM5COM6COM7COM8COM9LPT1LPT2LPT3LPT4LPT5LPT6LPT7LPT8LPT9 が含まれています。

回避策:インポートの前に WSDL ファイルの名前を変更してください。

サポートされない WSDL

次の WSDL はサポートされていません。

  • WSDL バージョン 2.0

  • <appInfo> 要素が含まれている WSDL

  • 非同期 Web サービスとして設定されている RPC エンコードされた WSDL

  • Apache サーバ上で HTTP ダイジェストによって認証された WSDL

同じ Web サービスを使用した複数のテスト

同じ Web サービスを 1 つまたは複数使用して同じソリューションで多数のテストを開いた場合,UFT One でメモリ・リークが発生することがあります。

回避策:Web サービスをファイル・システムまたは ALM リポジトリに移動します。

  1. Web サービスをインポートします。

  2. ツールボックス]表示枠で Web サービス・アクティビティを右クリックして,次のいずれかを選択します。

    [移動先]>[ファイル システムのアクティビティ]

    ALM アクティビティ

サーバ応答としてインポートされた Web サービス

サーバ応答としてインポートされた Web サービスの場合:

  • RPC タイプの WSDL は,サーバ応答としてインポートすることはできません。RPC エンコードされた WSDL からサービスを更新しようとすると,重複するエントリが作成されます。

  • バインドが追加された後に,リッスン段階で UFT One.exe プロセスを終了した場合,バインドはシステムから削除されません。

    回避策:httpcfg.exenetsh.exe などのユーティリティを使用してバインドを手動で削除します。

  • SSL を使用する場合,ファイルの証明書はサポートされません。テストを別のマシンに移動した場合,証明書はテストとともに保存されません。

    回避策:リッスンの開始前に証明書をローカル・マシン・ストアに追加し,リッスン・プロセスの終了時にその証明書を削除してください。

先頭に戻る

Web サービスのセキュリティ

UDDI からインポートされた Web サービス 認証およびプロキシのセキュリティは,UDDI からインポートされた Web サービスではサポートされません。
WCF タイプの Web サービス

WCF タイプの Web サービスを使用するときに UFT One で発生する既知の問題を次に示します。

  • 同じポート上にある操作に対して異なるセキュリティを設定することはできません。

  • 一部のユーザ・イベント・ハンドラ(AfterProcessRequestSecurityBeforeProcessResponseSecurityOnSendRequest,および OnReceiveResponse イベントなど)は呼び出されません。

  • STS(Security Token Service)を使用する Federation タイプのシナリオで作業する場合,SOAP バージョンを変更することはできません。

メッセージ・レベルのセキュリティ

メッセージ・レベルのセキュリティが必要な Web サービスをテストする場合に Web サービスのセキュリティ・シナリオでサポートされるのは,SOAP バージョン 1.1 だけです。

SOAP 1.2 の場合は,WCF タイプのシナリオを使用してください。

SAML セキュリティ・トークン

SAML セキュリティ・トークンを使用するときに UFT One で発生する既知の問題を次に示します。

  • Web サービス・セキュリティに SAML セキュリティ・トークンを使用すると,ユーザが入力した内容に作成および有効期限のタイムスタンプが含まれる場合があります。

    テストの継続期間を延長するには,有効期限の日付を遠い未来にハードコーディングすることをお勧めします。このハードコーディングが不可能である場合には,OnBeforeApplyProtocolSettings イベントを実装してタイムスタンプを変更してください。

  • Web サービス・セキュリティに SAML セキュリティ・トークンを使用しているときに,グリッド・モードで値を編集する場合,UFT One でこれらの値を更新することはできません。

    回避策:これらの値を更新するには,テキスト・モードに切り替えてテストを保存します。

  • SAML トークンとファイル・システムからの証明書を一緒に使用する場合,Web サービスのステップはサポートされていません。

    回避策:証明書を Windows ストアにインストールし,ストアからその証明書を選択してください。

SOAP 1.2

SOAP 1.2 を使用するときに UFT One で発生する既知の問題を次に示します。

  • メッセージ・レベルのセキュリティを設定するときは,ユーザ名または X509 トークンのみを選択できます。

  • メッセージ署名の正規化アルゴリズムと変換アルゴリズムを設定するときに,次の形式は使用できません。http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform

先頭に戻る

Web サービスの更新

REST ステップをそのプロトタイプと比較する際は,要求/応答の本文内容の差異は競合と見なされません。

したがって,プロトタイプの本文内容と一致しない REST ステップを解決する際,本文内容は影響を受けません。

先頭に戻る

非同期の Web サービス・テスト

サーバ応答としてインポートされた Web サービスの場合:

  • SSL オプションを有効にする際,UFT One は SSL 証明書をシステム上の特定のポート(http.sys レベル)に一時的にバインドします。バインドの追加後,リスニング中に Task Manager から UFT One.exe プロセスを終了すると,このバインドはシステムから自動的に削除されなくなります。

    回避策:httpcfg.exenetsh.exe などのユーティリティを使用してバインドを手動で削除します。

  • SSL を使用する場合,ファイルの証明書はサポートされません。テストを別のマシンに移動すると,証明書は使用できなくなります。

    回避策:テストを実行する前に,証明書をローカルマシン・ストアに追加します。テストの終了後,必要に応じて削除してください。

先頭に戻る

REST サービス

スキーマのインポート

スキーマを REST,HTTP,または SOAP チェックポイントにインポートすると,入力プロパティのリンクが削除される可能性があります。

プロパティ間のリンク

同じ REST メソッドの入力プロパティと出力プロパティをリンクし,リンクを削除せずに入力プロパティを削除した場合,出力プロパティにリンク式が残ったままとなります。

この状態でテストを保存すると,テストを再度開くことができなくなる場合があります。

回避策:リンクのソース・プロパティを削除する前,または削除した直後に,リンクを明示的に削除してください。

REST メソッドのプロトタイプ

[REST サービスの追加/編集]ダイアログ・ボックスで REST メソッドのプロトタイプを定義する際に,[トリミング],[無視],または[テストの停止]のオプションを使用するには,[チェックポイント]表示枠の[検証]カラムにあるチェックボックスを選択してください。

チェックポイント

チェックポイントと REST サービスを操作するときに UFT One で発生する既知の問題を次に示します。

  • XPath チェックポイントは,HTTP アクティビティと REST アクティビティではサポートされていません。
  • ステップの実行]コマンドを使って REST メソッドを実行する場合,他のプロパティ値にリンクされている,メソッドの動的なプロパティ値のチェックポイントは無視されます。
JSON コンテンツのデータ・タイプ

JSON コンテンツを作成し,OData および Swagger に対応した XML グリッド・モデルにロードする場合,文字列以外のすべてのデータ・タイプは JSON コンテンツ内の値として取り込まれます。

以前のバージョンの UFT One からのアップグレード

UFT One 14.03 以降にアップグレードして,以前のバージョンの UFT One で作成したテストを使用している場合は,Swagger サービスを使用していない場合でも,ローカル REST アクティビティのコンテキスト・メニューに[Swagger サービスの更新]オプションが表示される場合があります。

このような場合,このオプションは無視できます。

競合の解決

REST サービスの URL やソース・ファイルの操作名または相対 URL が変更されている場合,競合の解決ウィザードを使用してこれらの競合を解決することはできません。

新規にソースをインポートして,ステップを手動で更新してください。

先頭に戻る

Web アプリケーション・サービス

WADL をインポートする場合,次の要素はサポートされません。UFT One では,これらの要素はテスト内の WADL 階層にインポートされません。

  • Grammars 要素

  • Resource_type 要素

  • Link 要素

これらの要素の子要素も UFT One によって無視され,テスト内の WADL には追加されません。

また,他の要素にリンクするために href 属性を使用する場合,同じ WADL ファイル内の要素を参照する必要があります。複数の WADL ファイル間のリンクはサポートされていません。

先頭に戻る

ネットワーク・キャプチャのアクティビティ

ネットワーク・キャプチャ・ファイルからテストに追加されたステップには,次のものは含まれません。

  • Web サービス呼び出しおよび SOAP 要求のセキュリティ設定

  • すべてのタイプのステップの Web 認証情報

  • HTTP 要求のクッキー・データ

  • Web サービス呼び出しの一環として送信される添付ファイル

先頭に戻る

.NET アセンブリのアクティビティ

64 ビット .NET アセンブリへの参照のインポートまたは追加はサポートされていません。

先頭に戻る

API Testing Extensibility で作成されたカスタム・アクティビティ

API Testing Extensibility を使用するときに UFT One で発生する既知の問題を次に示します。

Visual Studio のバージョン

Activity Wizard を使用してカスタム・アクティビティを作成するには,UFT One と同じマシン上に Visual Studio 2012 をインストールする必要があります。

署名ファイルの場所

アドイン・フォルダのサブフォルダの下に署名ファイルを格納すると,次のエラーが発生することがあります。

ServiceTest で次のアクティビティをドラッグ&ドロップできませんでした:タイプ 'http://hp.vtd.schemas/types/v1.0:GeneralPropertiesType' は宣言されていません。

回避策:Types スキーマの相対パスを変更します。

例:

.schemaLocation="../../dat/schemas/Types.xsd"

署名ファイルの変更

署名ファイル内のアクティビティ構造を変更すると,アクティビティを使用してテストを開けなくなります。

アクティビティ構造を変更するには,次の手順を実行します。

  1. 新しい構造で新規アクティビティを作成します。
  2. 古いアクティビティを使用して,すべてのテスト・ステップを置き換えます。
  3. 古いアクティビティの実装を削除します。
以前のバージョンの UFT One からのアップグレード

テストを実行すると,12.00 より前のバージョンの UFT One で作成したカスタム Java アクティビティは失敗します。

回避策:

  1. カスタム Java アクティビティを作成したプロジェクトから,ServiceTestCall.java インタフェースを削除します。

  2. プロジェクトのパッケージ名を,hp.st.ext.java 以外の名前に変更します。

  3. クラスパスに ServiceTestCall.jar ファイルを追加します。このファイルは,<UFT インストール・パス>\Addins\ServiceTest\JavaCall\Java Interface\bin に格納されています。

  4. Java プロジェクトを再コンパイルします。

先頭に戻る