SapGuiInvokeMethod、SapGuiSetProperty、SapGuiGetProperty の関数を使用すると、アクティブな画面上にある任意のコントロールの低レベル プロパティにアクセスできます。 これにより、たとえばテキスト コントロールが読み取り専用であることを確認したり、ラベルの背景色を決めたりできます。
SAPGUI テストに使用する SAPGUI スクリプト記述 API は大規模な COM ライブラリであり、Silk Performer によるコントロールへのアクセスおよびアクションの実行を許可します。 これと同じ COM ライブラリは上述の API 呼び出しによって使用できます。 個々のコントロールが提供するメソッドおよびプロパティのリストにアクセスするには、SAPGUI スクリプト記述 API のタイプ ライブラリを調査する必要があります。 そのためには、タイプ ライブラリを効率的に調査にするツールが必要です (Microsoft Visual Studio に付属する Ole32View など)。 ツールを使用して sapfewse.ocx ファイルを開きます。このファイルは、\FrontEnd\SapGui の SAPGUI インストール ディレクトリにあります。 下のイメージは、ラベル コントロールでアクセスできるプロパティを表しています。
コントロールの ID がわかっているコントロールの名前を取得するには、次の呼び出しを使用します。
SapGuiGetProperty("/usr/lbl[1,2]", "Name", sOutValue); Print("The control has the following name:" + sOutValue);
ほとんどのプロパティが文字列、数字またはブール値パラメータといった単純データ型を返します。 他のオブジェクトを返すプロパティもあります。たとえば、Parent プロパティは現在のコントロールの親コントロールを返します。 プロパティが別のコントロールを返す場合、コントロールは一時的にキャッシュに保存され、SAPGUI_ACTIVEOBJECT の定数を介してアクセスできます。 次は、親プロパティの名前を取得するコードのサンプルです。
SapGuiGetProperty("/usr/lbl[1,2]", "Parent"); SapGuiGetProperty(SAPGUI_ACTIVEOBJECT, "Name", sOutValue); Print("The parent control has the following name:" + sOutValue);
SAP はその SAPGUI 640 クライアントに新しいプロパティとメソッドを導入しました。 たとえば、640 を使用すると、ラベルやチェックボックスの背景色を取得できます。 そのため、640 でスクリプトを作成する場合は、必ずエージェントも 640 で実行され、同じパッチ レベルが使用されている必要があります。 そうでない場合、エージェントで使用できないプロパティを要求したり、エラーが生成されたりすることがあります。
SAP は次のプロパティを持つコンポーネントで構成されます (ComClass GuiComponent)。
コントロールなどのビジュアル コンポーネントは、次の追加のプロパティを持ちます (ComClass GuiVComponent)。
各コントロール タイプは、タイプ ライブラリ調査ツールを介して COM タイプ ライブラリで確認可能な追加のプロパティを持つことがあります。