既知の問題 - Windows ベース SAP

このトピックには,Windows ベースの SAP アプリケーションのテストに関するトラブルシューティングと制限事項の情報が記載されています。

オブジェクト認識

ツールバー・コントロール

ほかのコントロール内のツールバー

ほかのコントロール内にあるツールバー(テキスト領域コントロール内のツールバーなど)はサポートされません。

グリッド・コントロール内のツールバー

グリッド・コントロール内のツールバーは,SapGuiToolbar テスト・オブジェクト(GuiComponentType は 204)によってサポートされます。

しかし,これらのツールバーはグリッドの一部なので,オブジェクト・スパイでは認識されません。

ActiveScreen から[リポジトリに追加]オプションを使って,または[オブジェクト リポジトリ]ウィンドウの[オブジェクトの追加]オプションを使って,これらのツールバーをオブジェクト・リポジトリに追加することはできません。

これらのツールバーをオブジェクト・リポジトリに追加するには,それらを記録します。

独立したツールバー・コントロール

独立したツールバー・コントロール(グリッドやほかのオブジェクトの一部ではないもの)は,SapGuiToolbar テスト・オブジェクト(GuiComponentType は 202)によってサポートされ,独立したオブジェクトなので,オブジェクト・スパイによって認識されます。

ツリー・コントロールには関連付けられたツールバーはありません。ツリー・コントロール上に表示されるツールバーは独立したツールバーとして認識され,前述のようにサポートされます。

SAP エディタ

SAP エディタ・コントロールはサポートされません。

Microsoft Office コントロール

SAP ウィンドウ内の Microsoft Office コントロールはサポートされません。

SAP GUI for Windows 8.00

UFT One バージョン 2023 以降でサポート

64 ビット・アプリケーションをサポートするには,自動ログイン・メソッドまたは[記録と実行環境設定]を使用してアプリケーションに自動的にログオンし,オブジェクトを記録またはスパイします。

SAP GUI for Windows 内の Edge ベースの HTML コントロール

UFT One バージョン 2023 以降でサポート

WebView2 アプリケーションをテストするために環境変数を定義すると,EdgeBrowserRemoteDebuggingPort(REG_DWORD)レジストリ・キーがオーバーライドされる可能性があります。

このレジストリ・キーは,Edge(Chromium ベース)を使用するように設定された組み込み HTML コントロールをテストするために必要です。詳細については,特定のブラウザ・コントロール・オプションを使用する場合の HTML コントロールのテストの有効化を参照してください。

先頭に戻る

テスト・オブジェクトとテスト・オブジェクト・メソッド

外部アクション/アクションのコピーの呼び出し

外部アクションまたはアクションのコピーの呼び出しを挿入し,そのアクションに SAPGuiTable.InputSAPGuiGrid.Input,または SAPGuiAPOGrid.Input ステートメントが含まれている場合,対応する入力データ・シートがアクションとともに[データ]表示枠にコピーされることはありません。

回避策:

Datatable.AddSheet ステートメントと Datatable.ImportSheet ステートメントを挿入して実行し,アクションの Input メソッドが参照しているシートをインポートします。

データ・シートの名前を,対応する Input ステートメントで指定された名前と正確に一致させてください。

SAPGuiTextArea オブジェクト

SAPGuiTextArea オブジェクトに対しては,右クリック操作はサポートされません。

ドラッグ・アンド・ドロップ操作

SAP GUI for Windows アプリケーションでのドラッグ・アンド・ドロップ操作は,UFT One が開かれると無効になります。

SAPGUIComboBox.Select

次のステップ構文を使用すると,スクリプトでエラーが発生します。

SAPGUIComboBox.Select “ ”

回避策:代わりに SAPGUIComboBox.SelectKey " " を使用してください。

SAPGUIToolBar.SelectMenuItem

SAP GUI 7.70 パッチ 1:

SAPGUIToolBar.SelectMenuItem ステップを実行すると,実行エラーが発生します。

解決策:SAP GUI 7.70 パッチ 2 以降にアップグレードします。

SAPGuiGrid.SetCheckBox

SAP GUI 7.60 パッチ 10 または 11 あるいは 7.70 パッチ 1:

SAPGUIToolBar.SelectMenuItem ステップを実行すると,実行エラーが発生します。

解決策:SAP GUI 7.60 パッチ 12 または 7.70 パッチ 2 以降にアップグレードします。

接続またはセッションのクローズ

SAP GUI 7.60 パッチ 11 または 7.70 パッチ 2:

SAPGUIUtil.CloseConnections および SAPGUISession.Close ステップを実行すると,予期しない動作が発生します。

解決策:SAP GUI 7.60 パッチ 12 または 7.70 パッチ 3 以降にアップグレードします。

SAPGuiTable オブジェクト SAPGuiTable オブジェクトを最後までプルできない場合,FindAllRowsByCellContent のステップは失敗します。
SAPGuiGrid オブジェクト

SAPGuiGrid オブジェクトの列のタイトルを取得するには,次のテスト・ステップをテストに追加します。

Set mygrid = SAPGuiSession("<セッション名>").SAPGuiWindow("<ウィンドウ名>").SAPGuiGrid("<テーブル名>")
Set col_col = mygrid.getroproperty("ColumnOrder")
For i=0 To col_col.count -1
print mygrid.object.GetColumnTitles(col_col(i))(0)
next

プログラム的記述を使用した SAPGUI テスト・オブジェクトの記述

プログラム的記述を使用してスクリプトで SAPGUI オブジェクトを記述するときは,必ず GuiComponentTypemicclass,または type プロパティを記述に追加して,オブジェクトの認識にかかる時間を短縮し,UFT One が間違ったオブジェクトを操作しないようにしてください。

例:

SAPGuiSession("GuiComponentType:=12").SAPGuiWindow("micclass:=SAPGuiWindow").SAPGuiEdit("GuiComponentType:=32","enabled:=True","index:=0").Set "123"

 

SAPGuiSession("GuiComponentType:=12").SAPGuiWindow("GuiComponentType:=21").SAPGuiEdit("type:=GuiCTextField","index:=0").Set "321"
SAPGuiUtil.AutoLogon メソッドまたは[記録と実行環境設定]を使用した S/4HANA サーバへの自動ログオン

SAP GUI for Windows 7.70 パッチ 2 以降を持つ S/4HANA サーバのログオン・ページで,左上隅の Enter アイコンが非表示になっている場合は,SAPGuiUtil.AutoLogon メソッドまたは[記録と実行環境設定]で自動的に S/4HANA サーバにログオンすることができない場合があります。

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

  • [Theme Settings]で[Activate SAP Fiori features]を選択解除して,アイコンを表示します。

  • ユーザ名とパスワードの入力テスト・ステップの後に,次のテスト・ステップを追加します。

    SAPGuiSession("Session").SAPGuiWindow("SAP").SendKey ENTER

SAPGuiEdit オブジェクト

DeviceReplay を使用すると,SAPGUI クライアントの SAPGuiEdit オブジェクトに値全体を入力できない場合があります。

回避策:SAPGuiEdit.Set メソッドを使用して値を設定します。

先頭に戻る

テストの編集

Edge ベースの HTML コントロールの強調表示

UFT One バージョン 2023 以降)

SAP GUI for Windows 7.70 パッチ 6 アプリケーションでコントロールを強調表示するときに,ブラウザ・ページが開いていると,UFT One がアプリケーションを前面に表示できない場合があります。

回避策:強調表示を実行する前に,開いているブラウザ・ページを閉じて,アプリケーションが完全に表示されていることを確認してください。

先頭に戻る

記録

標準の Windows ダイアログ・ボックス

UFT One は,SAP GUI for Windows アプリケーションが使用する標準の Windows ダイアログ・ボックス([ファイルを開く]ダイアログ・ボックスや[名前を付けて保存]ダイアログ・ボックスなど)を自動的には記録しません。

SAP Scripting API がこれらのダイアログ・ボックスをサポートしないからです。これは,[SAP GUI Security]ダイアログ・ボックスにも当てはまり,GuiXT で SAP GUI for Windows を使用している場合にも発生する可能性があります。

回避策:

  • 標準 Windows 記録モードに切り替えて([記録]ツールバーの[記録モード]ドロップダウンから[標準 Windows 記録]を選択します),これらのオブジェクトを記録します。

    SAP アプリケーション内の標準 Windows コントロールを開く操作を実行する前に標準 Windows 記録モードに切り替えてください。

  • 低レベルの記録を使用してこれらのオブジェクトを記録します。

  • プログラム的記述を使用してこれらのオブジェクトに対するステップを実行します。

F4 キーを押す

F4 キーを押すステップを記録し,そのキーを押した結果として複数のフィールドに新しい値が設定される場合,ステップが記録されるのは,そこから F4 キーが押されたフィールドについてだけです。

したがって,実行中に入力されるのは,そのフィールドだけです。

SAPGUITree オブジェクト

UFT One は,SAP GUI 7.50 パッチ 14 または 15 および SAP GUI 7.60 パッチ 4 または 5 を使用している場合,SAPGUITree オブジェクトのステップを記録できません。

解決策:SAP GUI 7.60 パッチ 6 以降にアップグレードします。

回避策:オブジェクト・スパイを使用して SAPGUITree オブジェクトをオブジェクト・リポジトリに追加してから,手動でテストにステップを追加します。

SAP ガント・チャート(SAP 棒グラフ)/イメージ/ピクチャ・コントロール

SAP ガント・チャート(SAP 棒グラフ)とイメージ/ピクチャ・コントロールは,SAP GUI for Windows の代替記録メカニズムでサポートされます。

現在,このコントロールのサポートには制限があります。

SAP Windows テスト・オブジェクト用に提供されている標準設定の記録機能をオーバーライドするか,SAP GUI for Windows の他のオブジェクト用に提供されている制限付き記録サポートを追加してください。

パスワードの記録

セキュリティ上の理由から,SAP Scripting API はパスワードを記録しません。

パスワード・ボックスにパスワードを挿入する操作を記録すると,UFT One はメソッドの引数値としてアスタリスク(****)を使用して Set ステートメントを記録します。

回避策:

  • [SAP]タブ([記録と実行環境設定]ダイアログ・ボックス)の[自動ログイン]設定を構成および有効化します。

  • SAPGuiUtil オブジェクトの AutoLogon メソッドのいずれかを使用してステップを挿入します。

  • 記録セッションではパスワードを通常どおり記録します。

    記録セッションが完了してから,SetSecure メソッドを使用するようにパスワード・ステップを変更し,暗号化したパスワード値を入力するか,値をパラメータ化します。

SAP GUI for Windows アプリケーションで記録に失敗

UFT One がブラウザから起動された場合,SAP GUI for Windows アプリケーションでのステップの記録と実行は失敗します。

回避策:Spy を使用して SAP GUI オブジェクトを識別してから,記録を開始します。ステップを実行する前に,スクリプトの先頭に次のステップを追加します。

systemUtil.Run "Installation path of saplogon.exe"

先頭に戻る

ActiveScreen

ドロップダウン・メニュー

ドロップダウン・メニューは ActiveScreen 内にキャプチャされません。

ActiveScreen テクノロジは,メニューが閉じてメニュー項目が選択されてからデータをキャプチャします。

ActiveScreen 画像

UFT One は記録時に,1 つの ActiveScreen 画像を複数のステップにキャプチャします。

UFT One は,SAP GUI for Windows クライアントが SAP バックエンド・サーバに情報を送信したときにだけステップを記録します。

これが発生したとき,前の通信と現在の通信との間に実行されたすべてのステップがスクリプトに追加されます。

その通信中に記録されるすべてのステップについて,サーバに送られた最後の画面が ActiveScreen によってキャプチャされます。

Web 要素

SAP GUI for Windows アプリケーション内の Web 要素について記録している場合,HTML 画像はキャプチャされません。

オブジェクト・リポジトリへのオブジェクトの追加

SAP GUI for Windows アプリケーション内の Web 要素について記録されたステップから作成された ActiveScreen からオブジェクト・リポジトリにオブジェクトを追加すると,オブジェクト・リポジトリ内に不正確なオブジェクト階層が生成されます。

これには,[オブジェクトの表示/追加]オプションを使用してオブジェクト・リポジトリにオブジェクトを追加すること,チェックポイントまたは出力値のステップを作成することが含まれます。

複数のディスプレイが設定された Windows での記録

UFT One バージョン 2021.1 以前:SAP GUI for Windows アプリケーションで記録するときに,Windows に複数のディスプレイをセットアップすると,ActiveScreen の画像が取得されなかったり,不適切にキャプチャされた画像が取得されたりすることがあります。

先頭に戻る

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

HTML 要素

デフォルトでは,SAP GUI for Windows アプリケーションに埋め込まれた HTML 要素のステップの記録と実行は,UFT One Web アドインを使用して実行されます。

Web アドインを使用して記録されたステップが,スクリプトの SAP Scripting API を使用する SAP Add-in ステップの前に挿入される場合があります。

回避策:

SAP GUI アプリケーションに埋め込まれた HTML 要素を SAP スクリプティング・インタフェースを使って記録するオプションを使用します。

これを行うには,次の手順を実行します。

  1. 記録を停止します。
  2. [オプション]ダイアログ・ボックスの[SAP]表示枠で([ツール]>[オプション]>[GUI テスト]タブ>[SAP]>[一般]ノード),[HTML 要素の記録に SAPGui Scripting Interface を使う]チェックボックスを選択します。
  3. テストを閉じて再び開き,記録を再開します。
「オブジェクトは無効です」エラー

SAP GUI for Windows アプリケーションに埋め込まれた HTML 要素に対してテストを実行すると,「オブジェクトは無効です」エラーが発生することがあります。

これは,HTML コントロールでテスト実行の準備ができていない場合に起こります。

回避策:

テストが正常に実行されるようにするために,SAPGuiSession.Sync ステートメントや Wait ステートメントなどの Sync ステートメントをスクリプトに追加します。

「SAPGuiSession オブジェクトが見つかりません」エラー

テストが SAP GUI for Windows 経由で SAP システムにログオンするときに .sap ファイルを使用する場合,テストの実行時に「SAPGuiSession オブジェクトが見つかりません」というエラーが発生することがあります。このテストは,SAP GUI for Windows を正常に開始してシステムにログオンしますが,SAPGuiSession.SAPGuiWindow オブジェクトを識別できません。これは,起動したシステムに UFT One が接続する前に SAPGuiSession.SAPGuiWindow ステップが実行されるためです。

回避策:

  1. サーバ・ログオン・ステップの後かつ SAPGuiSession.SAPGuiWindow ステップの前に loop ステートメントを追加して,接続が確立されているかどうかを確認します。

    ループの例:

    For Iterator = 1 To 6 Step 1

    wait 3

    If SAPGuiSession("Session").SAPGuiWindow("Log Off").SAPGuiButton("Yes").Exist Then

    print "connection established"

    Exit For

    End If

    Next

  2. [テストの設定]ダイアログ・ボックスの[実行]表示枠で,テストの[実行セッション中にエラーが発生した場合]を[次のステップに進む]に設定します。

  3. UFT One でテストを実行します。

SAP Enterprise Portal

SAP Enterprise Portal 環境では,テスト実行中に SAP Web 環境と SAP Windows 環境を切り替えるときに,同期の問題が発生する場合があります。

回避策:

Web ステップと Windows ステップの間に,WaitProperty ステートメントか Wait ステートメントを追加します。

SAP Logon または SAP Logon Pad

UFT One は,SAP GUI for Windows セッションに対するテストを記録および実行するために,SAP Logon または SAP Logon Pad アプリケーションに接続できます。

コンピュータ上で SAP Logon プロセスと SAP Logon Pad プロセスの両方が使用されている場合,UFT One は最後に起動された方のプロセスに接続します。

SAP ツリー・ノード

UFT One は,; 文字を含んだ SAP ツリー・ノードに対するステップを実行できません。

SAP NWBC

SAP NWBC で作業する場合,UFT One は複数の NWBC クライアントをサポートしません。一度に複数の NWBC,SAP LOGON,または SAPGUI クライアントを開いても,UFT One が認識するのは最初のクライアントだけです。

テスト結果の画面キャプチャ HTML テスト結果で,SAPGui テスト・オブジェクトが画面キャプチャで強調表示されません。画面キャプチャで強調表示されているオブジェクトを表示するには,Run Results Viewer レポートを使用します。

先頭に戻る

チェックポイントおよび出力値

正しいオブジェクト・プロパティの確保

チェックポイントで正しいオブジェクト・プロパティがキャプチャされるようにするために,チェックポイントまたは出力値を挿入する前に,サーバとの通信を引き起こすステップENTER キーを押すなど)を常に記録してください。
サポートされていないコントロール

次のコントロールについては,オブジェクト・スパイを使用することもチェックポイントを作成することもできません。

ただし,これらのコントロールに対するステップを正常に記録して実行することはできます。

  • グリッド・コントロール内のツールバー・ボタン。

  • ツリーまたはテーブル・オブジェクトの内部コントロール。

    たとえば,テーブル・セルのラジオ・ボタンやツリー内のチェックボックスなどです。

非アクティブな SAP 画面にあるオブジェクト

現在アクティブになっていない SAP 画面(たとえば,呼び出されたダイアログ・ボックスの背後にある画面)の中にあるオブジェクトに対するチェックポイントの作成とオブジェクト・スパイの使用はサポートされていません。

ただし,[ステータス バー メッセージを記録する]オプションを使用して,ステータス・バー・メッセージ(非アクティブ・ウィンドウに表示される)に対するチェックポイントを作成できます。

[ツール]>[オプション]>[GUI テスト]タブ>[SAP]ノード>[ステータス バー メッセージを記録する])。

6.40 クライアントでの古い 6.20 テスト

古い 6.20 テストを 6.40 クライアント上で実行すると,次のコントロールに対するチェックポイントは,6.40 クライアントのオブジェクトの tooltip プロパティ値が変更されたことが原因で失敗する場合があります。

  • ラジオ・ボタン
  • チェックボックス
  • エディット・ボックス
  • 通常のボタン
テーブル・コントロール内の行

UFT One は,テーブル・コントロール内の行数を推定することができますが,実際にチェックできるのはクライアント上に表示されているテーブル内容だけなので,正確な行数を取得することはできません。

表示されていない行のデータは,バックエンド・サーバにのみ保存されます。

したがって,テーブル・コントロール・オブジェクトに対するチェックポイントを挿入または変更する場合,[行範囲の定義/変更]ダイアログ・ボックスについてで指定された行数は正確ではないことがあります。

テーブル・チェックポイント

テーブル・チェックポイントのデータの取得には少し時間がかかりますが,UFT One がデータを取得している間は,SAP GUI ウィンドウ上でどのような操作も実行しないでください。深刻な問題が発生することがあるためです。

たとえば,トランザクション状態を変更するような操作や,別のウィンドウへの移動などの操作です。

ActiveScreen のテーブル/グリッド

ActiveScreen のテーブルまたはグリッドに対するチェックポイントを挿入する場合は,そのテーブルまたはグリッドから正しい情報を抽出するために,SAP Gui for Windows アプリケーションで実際のテーブルを開いておく必要があります。

先頭に戻る

SAP 構造化パラメータ

[Edit Test Script]ボタン

SAP Solution Manager テスト・オートメーション:初期画面トランザクション(トランザクション・コード: stce)または SAP Solution Manager 設定トランザクション(トランザクション・コード: Solar02)で直接[Edit Test Script]ボタンをクリックして UFT One を起動した場合は,UFT One で[SAP パラメータの管理]ボタンをクリックしても,SAP Solution Manager の正しいページに戻れないことがあります。

回避策:

テスト設定の変更トランザクションの[外部テスト]ボタンを使用して,UFT One を起動してください。

テスト・スクリプトの変更トランザクションでのテストの作成

SAP Solution Manager のテスト・スクリプトの変更トランザクションでテストを作成し,[戻る]ボタンをクリックすると,UFT One にテストが表示されない場合があります。

回避策:

UFT One を保存して閉じ,[外部テスト]ボタンをクリックして,UFT One を呼び出します。

SAP パラメータの管理]/[戻る/外部テスト]ボタン

SAP パラメータの管理]ボタンまたは[戻る/外部テスト]ボタンをクリックして,UFT One から SAP に切り替えると,SAP Solution Manager で次のエラーを受信することがあります。OBJECT_OBJREF_NOT_ASSIGNED

先頭に戻る

SNC を使用した Solution Manager 接続

SNC 設定の更新

Solution Manager サーバへの接続を UFT One でセットアップした場合,SAP GUI クライアントで SNC 設定を更新しても,UFT One 側は自動的に更新されません。この不整合により,接続を使用しようとしたときにエラーが発生することがあります。

回避策:SNC 設定をサーバまたは SAP GUI クライアントで更新したら,[Solution Manager 接続]ダイアログ・ボックスを開き,サーバを再選択して情報を更新します。

SAP GUI 7.70 パッチ 2 以降,SAP GUI 7.60 パッチ 11 以降での操作

SNC を使用して Solution Manager サーバへの接続をセットアップしようとしても,最初は成功しないことがあります。

回避策:接続を確立する試みを繰り返します(2~5 回の試行が必要なことがあります)。

先頭に戻る

Solution Manager での GUI テスト・パラメータ

UFT One GUI テストを Solution Manager で複合テストの一部として実行する場合は,テスト・パラメータ名がすべて大文字であることを確認してください。そうでない場合,Solution Manager でのテスト実行は失敗します。

先頭に戻る