既知の問題 - Web ベース SAP

一般

UFT One SAP Solutions Add-in は、ほかの Web ベースのアドインがロードされていない場合にのみ使用することをお勧めします。

SAP Solutions Add-in は、Web 構成の設定を変更するため、ほかのアドインやアプリケーションに影響を与える可能性があります。

先頭に戻る

オブジェクトの認識

複数のブラウザ・ウィンドウ

場合によっては、テスト実行中に複数のブラウザが開いているときに、UFT One が一部のオブジェクトを正しく識別できないことがあります。

回避策:[オブジェクト リポジトリ]ウィンドウで、Browser テスト・オブジェクトの[スマート認識を有効にする]チェック・ボックスの選択を解除します。

将来のテスト記録のために、「[オブジェクトの認識]ダイアログ・ボックス」でも Browser テスト・オブジェクトの[スマート認識を有効にする]オプションを無効にする必要があります。

iView

最小化されたり折りたたまれた iView は、正しく認識されない場合があります。

SAP Enterprise Portal のフレーム

場合によっては、SAP Enterprise Portal 内のフレームが iView オブジェクトではなく Web Frame オブジェクトとして認識されることがあります。

その一部のケースでは、フレーム名が動的に生成されています。

Web Frame オブジェクトはオブジェクトを識別するために name プロパティを使用するので、テストの実行時に UFT One がオブジェクトを認識できるようにするために、記録された name の値を修正して、適切な正規表現を使用するようにしなければなりません。

SAP Web テーブル・セル

SAP Web テーブル・セル内のオブジェクトに対してオブジェクト・スパイを使用するかチェックポイントを作成しているときに、そのオブジェクトに対してまだクリックが実行されていない場合、UFT One はそのオブジェクトを WebElement として(適切な SAP Web オブジェクトではなく)認識することがあります。

回避策:SAP Web テーブル・セル内のオブジェクトに対してオブジェクト・スパイを使用したりチェックポイントを作成したりする前に、そのオブジェクトをクリックします。

ActiveScreen
  • ポップアップ・ダイアログが開いているときにキャプチャされた ActiveScreen を、メイン・ウィンドウからオブジェクト・リポジトリにオブジェクトを追加するために使用するのは避けてください。そうすると、オブジェクト・リポジトリ内に不正確なオブジェクト階層が生成されます。

先頭に戻る

記録

テーブル

テーブル・コントロールに対するステップの記録と実行を行う場合、クライアントに表示されているテーブルの内容だけが実際に使用可能です。

iView オプション・メニュー / SAP Enterprise Portal のタイトルバー

iView オプションに対する操作と SAP Enterprise Portal のタイトル・バー内にあるオブジェクトに対する操作は、iView オブジェクトに対する SAP 操作ではなく Frame オブジェクトに対する Web 操作として記録されます。

スクロール・バーのドラッグ

SAP GUI for HTML テーブルのスクロール・バーをドラッグする操作は記録されません。

回避策:SAP GUI for HTML テーブル内のスクロールは、スクロール・ボタンをクリックすると記録できます。代わりに、ステップ・ジェネレータかエディタを使用して、SAPTable.Object.DoScroll("up") または SAPTable.Object.DoScroll("down") ステートメントをテストに挿入することもできます。

SetCellData メソッド

SAP GUI for HTML の一部のテーブルでは、SetCellData メソッドが正しく記録されません。

回避策:記録時に、テーブル・セルのテキスト値を編集した後、次のいずれかを実行します。

  • Tab キーを押して値を送信し、次のセルに移動します。
  • テーブル・セルの外側をクリックする前に、Enter キーを押して値を送信します。
SAPList オブジェクト

SAPList オブジェクトの記録では、リストのボタン部分ではなく入力部分をクリックしないと、UFT One でオブジェクトを認識できません。

S/4HANA アプリケーションの SAPTable オブジェクト

Internet Explorer で記録する場合、S/4 HANA アプリケーションの SAPTable セルで Enter キーを押しても、UFT One がステップを記録しません。

回避策:Enter キーが押されたときに UFT OneSAPTable.Submit ステップを記録されるようにするには、次のレジストリ・キーを作成し、その値を 1 に設定します。

Computer\HKEY_CURRENT_USER\Software\Mercury Interactive\QuickTest Professional\MicTest\Packages\SAPPackage\Settings\RecordSubmitForTableNavigateEvent

ActiveScreen
  • テストの記録中にキャプチャされた HTML ページの全体を ActiveScreen が表示しないことがあります。

    回避策:その HTML ページのサイズにぴったり合うように、ActiveScreen のサイズを変更します。

  • UFT One 15.0.1:Chrome で記録する場合、ActiveScreen が SAPDropDownMenu オブジェクトをキャプチャしません。

SAPDropDownMenu オブジェクト

Chrome または Internet Explorer を使用している場合、UFT One は SAP CRM または WDA アプリケーション内の SAPDropDownMenu オブジェクトを記録できない場合があります。

回避策:UFT One15.0.1 以降:スパイを使用してオブジェクトを学習し、オブジェクト・リポジトリに追加します。次に、必要なステップを手動でテストに追加します。

CRM S/4 HANA での SAPTabStrip().Select 操作

Internet Explorer で SAPTabStrip().Select 操作を記録する際に、重複するステップが追加される場合があります。

回避策:スパイを使用してオブジェクトを学習し、オブジェクト・リポジトリに追加します。次に、必要なステップを手動でテストに追加します。

SAPTreeView の Activate メソッド

SAPTreeView オブジェクトの Activate メソッドを Chrome で記録することはできません。

回避策:スパイを使用してオブジェクトを学習し、オブジェクト・リポジトリに追加します。次に、必要なステップを手動でテストに追加します。

先頭に戻る

SAP アプリケーションでのテストの実行

パフォーマンス

実行セッション中に、SAP プラットフォームの応答にかかる時間が、UFT One が対応するステップを実行する時間よりも長くなる場合があります。

回避策:該当するステップの前に Wait ステートメントを置きます。

オブジェクトが見つからない

場合によっては、SAPEdit、SAPNavigationBar、または SAPPortal でテストを実行すると、「オブジェクトが見つかりません」というエラー・メッセージが表示されることがあります。

回避策:次のいずれかを実行します。

  • オブジェクトのプロパティが一意であり、かつ正しいことを確認します。

  • レジストリを次のように変更します。

    32 ビット・コンピュータの場合:HKEY_LOCAL_MACHINE\Software\Mercury Interactive\QuickTestProfessional\MicTest\AbortIfHangInSendData キーで、DWORD の値を 0 に設定します。

    64 ビット・コンピュータの場合:HKEY_LOCAL_MACHINE\Software\Wow6432Node\Mercury Interactive\QuickTestProfessional\MicTest\AbortIfHangInSendData キーで、DWORD の値を 0 に設定します。

    注意: 後方互換性を考慮して、一部のレジストリ・キーには以前の会社のブランドが意図的に使用されています。

ITS フレーム

SAP Enterprise Portal iView 内の ITS フレームに対してテストを実行するときに、ITS メニューが正しく動作しない場合があります。

回避策:iView のサイズを大きくするか、[オブジェクト同期化のタイムアウト]の値を増やすか、その両方を行ってから、テストを再び実行します。

Web ベースの CRM システム

CRM システム・テスト・モードの使用:

UFT One を使用して Web ベースの CRM システムをテストする場合、CRM システムがテスト・モードになっていることを確認します。URL に "?sap-testmode=X" を追加してください。

CRM 7.02 および 7.03:

CRM 7.02 または 7.03 を使用して開発されたアプリケーションをテストする場合、SAPList.Select メソッドはパラメータ・エラーを生成する場合があります。

この場合は、今後のエラーを回避するために、Click ステップを Select ステップの前に追加します。

CRM S4 HANA:

CRM システムをテストする場合、SAPRadioGroup.Highlight および SAPRadioGroup.CaptureBitmap メソッドはサポートされません。

SAPTable オブジェクト

一部の SAPTable オブジェクトでは、検索する行がテーブルに表示されていない場合、FindRowByCellContent メソッドが正しく機能しません。この場合は、スクロールするステップを追加して行が表示されるようにします。

S/4HANA アプリケーションの SAP テーブルの SAPList オブジェクト

一部の S/4 HANA アプリケーションでは、テーブル・セルに含まれるリストで SAPList().Select メソッドを実行しても、リストから項目が選択されません。

回避策:セル内のリストから項目を選択するステップの前に、テーブル・セルを選択するステップを追加します。

例:

SAPTable("MyTable").SelectCell X,Y

SAPList("MyList").Select

SAPDropDownMenu

UFT One が、実行時に SAP NWBC、WDA、EP アプリケーションの SAPDropDownMenu オブジェクトを識別できない場合があります。

回避策

  • Logical name および innertext 記述プロパティをオブジェクト・リポジトリのオブジェクトに追加してから、テストをもう一度実行します。innertext プロパティが一意の ID を提供しない場合は、代わりに index プロパティを使用します。
  • 上記の回避策で問題が解決しない場合は、次の手順を実行してください。オブジェクトの認識で、'html id' プロパティを SAPDropDownMenu オブジェクトの必須プロパティに追加します。

サブメニューのある SAPDropDownMenu オブジェクト

記録中に SAPDropDownMenu オブジェクトのサブメニューの項目を選択した場合、記録されるオブジェクトは親ではなくサブメニューになります。そのため、テストの実行が失敗することがあります。

回避策:エラーを回避するには、テストを実行する前に、オブジェクト・リポジトリの記述プロパティを、サブメニューではなく親メニューと同じになるように手動で変更します。

異なるブラウザでのテストのサポート

Internet Explorer を使用する場合、Chrome で記録された SAPButton.Click 操作を UFT One が実行できない場合があります。

回避策:オブジェクト・リポジトリで、補足プロパティ html taghtml id に置き換えます。

SAPNWBC.DetailedNavigation

SAPNWBC.DetailedNavigation ステップを実行して、Chrome の左側のナビゲーション・ツリーのフォルダの下にあるメニュー項目に移動しようとすると、エラーが発生します。

回避策:最初に親フォルダに移動するステップを追加してから、子メニュー項目に移動するステップを実行します。

SAPFrame オブジェクト

名前が「.」で終わる画像を含む SAPFrame オブジェクトに Chrome でチェックポイントを追加した場合、追加されたチェックポイントを UFT One が Internet Explorer で実行できない場合があります。

注意: SAPFrame オブジェクトは、UFT One 15.0.2 以降でサポートされています。

回避策:チェックポイントから画像のチェックを削除します。

SAPTreeView.SelectMenuItem

Internet Explorer では、テストに手動で追加された SAPTreeView.SelectMenuItem ステップを UFT One が実行できない場合があります。

回避策:スパイを使用してオブジェクトを学習し、オブジェクト・リポジトリに追加します。次に、必要なステップを手動でテストに追加します。

先頭に戻る

Fiori アプリケーション

2 つの連続したステップでの Set メソッドの使用

Fiori アプリケーションで作業する場合、sapUIObject の値をスクリプト内の変数に設定し、Set メソッドを 2 回続けて使用してテストを実行すると、エラーが発生する場合があります。

例:

set sapObject=Browser("DatePicker - sap.m").Page("DatePicker - sap.m").SAPUICalendar("DP1-describedby")

sapObject.SetDate "20150114"

sapObject.SetDate "000000"

次のいずれかの方法を使用して、スクリプトを更新します。

Chrome の余分なオブジェクト

Chrome を使用している場合、特定のオブジェクトをオブジェクト・リポジトリに追加すると、UFT One によって多数の余分なオブジェクトが追加されます。

回避策:別のブラウザ(IE または Firefox)を使用するか、リポジトリから不要なオブジェクトを手動で削除してください。

SAPUICalendar での SetDate ステップの記録

Fiori アプリケーションで作業する場合、タイム・ピッカを使用するカレンダ・オブジェクトの SetDate は、時間の部分を正しく記録および実行しません。

回避策:WebEdit.Set ステップをテストに手動で追加します。

例:

WebEdit.Set "Jan 23, 2019, 11:46:00 AM"

SAPUIDateTimeInput での SetDateTime ステップの記録

Fiori アプリケーションで記録する場合、SAPUIDateTimeInput.SetDateTime は記録されません。

回避策:記録中に、SAPUIDateTimeInput オブジェクトで日付を選択する前に、テキスト・ボックスをクリックして、SAPUIDateTimeInput オブジェクトにフォーカスを合わせます。

Submit メソッドを使用するとブラウザが更新される

WEB アドインと SAP アドインの両方が有効になっている場合、webUtil を使用した後に Firefox/Chrome で submit メソッドを使用すると、ブラウザが更新されます。

回避策:

  • webUtil の代わりに systemUtil を使用します。
  • submit メソッドの前に、DeviceReplay を使用して、フォーカス・ポイントを URL-Textbox から送信するオブジェクトに移動します。例:

    WebUtil.LaunchBrowser "FIREFOX"

    Browser("micclass:=browser").Navigate "https://sapui5.hana.ondemand.com/1.44.27/test-resources/sap/m/Dialog.html"

    Browser("micclass:=browser").Page("micclass:=page").SAPUIButton("name:=Simple Dialog").Click

    Set dr = CreateObject("Mercury.DeviceReplay")

    ax = Browser("micclass:=browser").Page("micclass:=page").SAPUIDialog("name:=Simple Dialog").GetROProperty("abs_x")

    ay = Browser("micclass:=browser").Page("micclass:=page").SAPUIDialog("name:=Simple Dialog").GetROProperty("abs_y")

    dr.MouseClick ax,ay,LEFT_MOUSE_BUTTON

    Browser("micclass:=browser").Page("micclass:=page").SAPUIDialog("name:=Simple Dialog").Submit

先頭に戻る

SAPUI5 固有の制限

デスクトップ/モバイル

SAPUI5 Add-in は、デスクトップとモバイルの両方のアプリケーションをサポートするため、すべてのオブジェクトのすべてのメソッドがデスクトップとモバイルの両方のアプリケーションでサポートされているとは限りません。

アプリケーション警告メッセージ

SAPUI5 テスト・オブジェクトに対してテストまたはコンポーネントを実行する場合、一部のオブジェクトのアプリケーション警告メッセージが表示されません。

回避策:次のいずれかを実行します。

  • 警告メッセージに対して実行する必要があるステップがテストに含まれないようにします。

  • 警告を発生するオブジェクトに対する If ステートメントをテストに追加して、警告が存在するかどうかを確認します。

ネストされたテーブル・オブジェクト

SAPUI5 アプリケーションに、ネストされたテーブル・オブジェクトが含まれている場合、ネストされたテーブル・オブジェクトにチェックポイントを挿入すると、親 SAPUITable オブジェクトのみが表示されます。

回避策:ネストされた WebTable オブジェクトを選択して、親 SAPUITable オブジェクトのチェックポイントではなく、WebTable オブジェクトのチェックポイントを作成します。

SAPUIMenu オブジェクト

オブジェクト・スパイを使用して SAPUIMenu オブジェクトを表示する場合、または閉じた状態で非表示になっている SAPUIMenu オブジェクトを記録する場合、次の操作ができない場合があります。

  • オブジェクトをリポジトリに追加]ボタンを使用して、Firefox ブラウザおよび Chrome ブラウザ上でリポジトリにメニュー・オブジェクトを追加する。

  • Chrome ブラウザでオブジェクトを記録する。

  • Firefox ブラウザと Chrome ブラウザでチェックポイントまたは出力値ステップを追加する。

無効化されたコントロール

モバイル SAPUI5 アプリケーションを使用する場合、UFT One は、アプリケーション・オブジェクトのプロパティの理由により、一部の無効化されたコントロール(SAPUIButtonSAPUITextEdit など)に対してオブジェクト・スパイを使用できません。

Internet Explorer 11

Internet Explorer 11 で作業しているときに、アプリケーションでボタン・クリックを実行するために下にスクロールする必要がある場合、SAPUIButton.Click メソッドはボタンをクリックしません。

回避策:代わりに、SAPUIButton.Submit メソッドを使用してください。

ChildObjects メソッド

一部のオブジェクトで ChildObjects メソッドを使用すると、ブラウザによって異なる結果が返されます。

先頭に戻る

SAPWDJ 固有の制限

アドインのロード

SAPWDJ Add-in をロードせずに SAP WDJ アプリケーションのオブジェクトを記録しようとすると、オブジェクトの一部しか正しく記録されません。

回避策:UFT Oneを再起動して SAP WDJ Add-in をロードします。

パフォーマンス

実行セッション中に、SAP Web Dynpro Java(WDJ)を実行する SAP プラットフォームの応答にかかる時間が、対応するステップを UFT One が実行する時間よりも長くなる場合があります。

回避策:関連するステップの前に Wait ステートメントを追加するか、[オプション]ダイアログ・ボックスの[テスト実行]表示枠([ツール]>[オプション]>[GUI テスト]タブ>[テスト実行]ノード)にある[ステップ実行ごとの遅延時間]オプションを必要な待ち時間(ミリ秒)に設定します。

サポートされない機能

SAP WDJ アプリケーションでは、次の機能はサポートされていません。

  • 表示されていないテーブル行の選択

  • アプリケーションのスクロール・バーによる操作

  • テーブル・セル内のメニュー

  • アプリケーション内の日付ナビゲータ・ウィンドウ

SelectCell メソッド

SAPWDJTable オブジェクトのステップの記録中に編集不能なセルを選択すると、SelectCell メソッドが記録されないことがあります。

ポップアップ・ウィンドウを開くリンク

ポップアップ・ウィンドウを開くリンクがテーブルに含まれている場合、SAPWDJTable.SelectItemInCell メソッドを使用してリンクをクリックすると、UFT One.SelectItemInCell を正しく実行しません。

回避策:linkFuncLibr 関数ライブラリをテストに関連付けます。この関数ライブラリは、UFT One インストール・フォルダ>\dat\Extensibility\Web\Toolkits\SAPWDJ\FunctionLibraries\linkFuncLibr.qfl にあります。

先頭に戻る

SAP Business Networks アプリケーション

SAPWebExt リスト

SAP FieldGlass の SAPWebExt リスト・オブジェクトに対するスパイ、またはチェックポイントの追加はサポートされていません。

SAPWebExtList.Select メソッドは、SAP FieldGlass のテスト時に失敗する可能性があります。この場合は、代わりに WebEdit.Set メソッドを使用してください。

SAPWebExtTable オブジェクト

SAPWebExtTable オブジェクトに対するチェックポイントはサポートされていません。

回避策:次のいずれかを実行します。

  • UFT を再起動し、SAPWebExt アドインをクリアしてから、WebTable オブジェクトに対するチェックポイントを追加する。

  • .GetCellData メソッドを使用する。

  • SAPWebExtTable オブジェクトの子 WebTable に対するチェックポイントを追加する。

先頭に戻る

SAP WebDynpro ABAP アプリケーション

SAPButton.Click メソッド

WebDynpro ABAP サイトで SAPButton.Click メソッドを記録すると、ブラウザの遅延が発生する可能性があります。

回避策:次のいずれかを実行します。

  • ブラウザが応答するのを待つ
  • 記録を一時停止して、もう一度クリックする
  • ブラウザを更新して、再試行する
SAPTable オブジェクト
  • SAPTable オブジェクトのクリック操作は記録されません。

    回避策:オブジェクトを WebElement として手動で追加し、WebElement.Click ステップをテストに追加します。

  • SAPTable オブジェクトのチェックポイントを追加すると、特定できないエラーが発生する可能性があります。

    回避策:デフォルト値 0 を持つレジストリ AbortIfHangInSendDataHKEY_LOCAL_MACHINE\Software\Wow6432Node\Mercury Interactive\QuickTest Professional\MicTest に追加します。

    これにより、Fiori や SAPUI5 などの他の SAP テクノロジで実行するときに問題が発生する可能性があることに注意してください。

    注意: 後方互換性を考慮して、一部のレジストリ・キーには以前の会社のブランドが意図的に使用されています。

SAPTable.OpenPossibleEntries

IE または Chrome を使用している場合、一部のアプリケーションで SAPTable.OpenPossibleEntries 操作が記録されません。

回避策:

最初にセルをクリックしてから、セルの横にあるアイコンをクリックして、OpenPossibleEntries を記録します。

記録されている余分な SetCellData ステップをすべて削除します。

SAPTable.SelectCell メソッド:一般的な記録

SAP WDA 7.5 アプリケーションの SAPTable オブジェクトに対して SelectCell メソッドを使用する場合:

  • クリック直後に閉じるポップアップ・ダイアログ・ウィンドウに対象のテーブル・セルがある場合、UFT One はそのアクションを記録できません。

  • UFT One がアクションを記録できるようにするために、テーブル・セルを 2 回クリックしなければならない場合があります。

SAPTable.SelectCell メソッド:アプリケーションで非表示になるテーブル・オブジェクトの記録

選択操作が実行された直後にテーブル・オブジェクトがアプリケーションで非表示になる場合、SelectCell メソッドはテーブル・オブジェクトで記録されません。

回避策:記録後に SAPTable.SelectCell メソッドを手動で追加します。

先頭に戻る

動的表示

WebDynpro ABAP または EP アプリがスクロール時に動的表示機能を使用するように構成されている場合、現在表示されていないセルまたはリスト・データを取得する際に問題が発生する可能性があります。

これを回避するには、ステップの実行、スパイ、または強調表示を行う前に、すべてのデータが完全にロードされていることを確認してください。

例:

テーブルの場合の回避策:

SAPTable.GetCellData メソッドの前に、下にスクロールしてすべての行データを表示するステップを追加します。

次に、現在の行の値を指定して GetCellData メソッドを使用します。

例:

'get value in row 1
print Browser("WDR_TEST_C_TABLE [Web").Page("Web Dynpro Test Suite").SAPTable("[Demo Table Part 1]").GetCellData (2,4)
For Iterator = 1 To 4 Step 1
    wait 1
    Browser("WDR_TEST_C_TABLE [Web").Page("Web Dynpro Test Suite").SAPButton("SAPButton_2").Click
Next
'get value in row 7 which is shown in line 4 after scroll
print Browser("WDR_TEST_C_TABLE [Web").Page("Web Dynpro Test Suite").SAPTable("[Demo Table Part 1]").GetCellData (4,4)

リストの場合の回避策:

GetItem メソッドを使用する前、またはスパイする前に、SAPList オブジェクトをアクティブにします。

たとえば、最初にリストを選択またはクリックするか、テストで Select または Click メソッドを使用します。

先頭に戻る

その他の参照項目: