環境変数 QTP (UFT例付き

⚡ スマートサマリー

環境変数 QTP (NAIST) と UFT すべてのアクション、関数ライブラリ、リカバリーシナリオが読み取れる値を1つ保存することで、1つのテストで実行できます。 URLs、認証情報、パス、言語文字列をどこにもハードコーディングせずに使用します。

  • 🔘 グローバルスコープ: テスト内のすべてのアクション、関数ライブラリ、およびリカバリシナリオから、1つの変数が参照可能です。
  • ☑️ 2つの家族: 組み込み変数は読み取り専用です。ユーザー定義変数は、自由に作成および変更できます。
  • 内部対外部: 内部変数はテスト内に保存され、外部変数は共有可能なXMLファイルに格納されます。
  • 🧪 アクセサ1台: Environment.Value は、VBScript から任意の変数を読み取り、ユーザー定義の変数を書き込みます。
  • 🛠️ 実行時読み込み: Environment.LoadFromFile は実行時に変数セット全体を切り替えるため、1つのスクリプトで複数の環境を制御できます。
  • 📌 ローカライズを前提に設計されています。 Swapping XMLファイルは、一切の手順を変更することなく言語文字列を変更します。

組み込みおよびユーザー定義の環境変数 QTP (NAIST) と UFT 1

環境変数とは何ですか?

環境変数 は、コンピュータ上の動的な「オブジェクト」であり、値を格納でき、その値は、1 つ以上のソフトウェア プログラムによって参照されることができます。 Windows.

環境変数は動的な性質を持ち、変更可能です。プログラムが参照できる環境変数は多数あり、それらの変数はプログラムのコンピューティング環境に関する情報を取得するのに役立ちます。テストツールは、これらの変数に加えて独自のリストを保持しています。 Windows 用意されています。

UFT 環境変数1つ

マイクロフォーカス UFT 環境変数は、すべてのアクション、関数ライブラリ、および復旧シナリオからアクセスできます。

⚠️ バージョンノート: この製品はHP QuickTest Professionalとして出荷され、Unified Functional Testingに名称変更され、現在では OpenText 機能テスト(UFT XNUMX)環境オブジェクトと以下の画面は変更されていません。製品名だけが移動しました。 公式環境オブジェクトリファレンス 現在の構文を継承します。

の種類 QTP 環境変数

環境変数は、テストでグローバルに使用できる変数です。 環境変数には XNUMX 種類あります

  • 組み込み変数
  • ユーザー定義変数 (2 つのサブタイプがあります)
    • インナー
    • 外部

組み込み変数は、マシンとテスト実行に関する情報を記述するもので、読み取り専用です。ユーザー定義変数にはユーザー自身のデータが格納され、スクリプトから書き込み可能なのは内部変数のみです。

組み込み変数

In QTP、組み込み変数は事前定義された変数です。これにより、ユーザーは実行中のテストに関する情報を取得したり、OS に関する情報を取得したりできます (Operaテストが実行されているシステム)。組み込み変数の一部には、アクションの反復、 Operaシステム、テスト ディレクトリ、ローカル ホスト名、 Operaシステムのバージョンなど

ファイルに移動 -> 設定 -> 環境変数セクションを表示するには、「環境」タブをクリックします。すると、環境変数の一覧が表示されます。ペインを開くと、以下に示すように、組み込みのリストが表示されます。

テスト設定ダイアログの環境ペインには、組み込みの QTP 環境変数

環境変数から取得した値は、実行セッション中に必要に応じて取得して使用できます。これらは、テスターが最も頻繁に参照する名前です。

組み込み変数 返ってくるもの
OS Operaテストを実行するマシンのtingシステムファミリー
OSバージョン Operatingシステムバージョン
テスト名 現在実行中のテスト名
テストディレクトリ テストが保存されているフォルダ
アクション名 現在実行中のアクションの名前
アクションイテレーション 現在のアクションの反復回数
ローカルホスト名 ローカルマシンのホスト名
結果ディレクトリ 実行結果が書き込まれるフォルダ

例:

MsgBox Environment.Value("OSVersion")

その一行だけで、実行セッションからオペレーティングシステムのバージョンが直接抽出されます。

OSVersion組み込み環境変数によって返される値を表示するメッセージボックス

ユーザー定義変数

テストの実行前に、これらはユーザーによって定義される変数です。 さまざまなテストにわたってグローバルに使用することも、XNUMX つのテストに制限することもできます。

ユーザー定義変数は XNUMX 種類に分類されました

  • インナー
  • 外部
  1. ユーザー定義 - 内部変数これらの変数は、テストを実行する前にユーザーによって定義され、特定のテストでのみ使用可能です。
  2. ユーザー定義 - 外部変数: これらの変数はユーザーによって定義され、さまざまなテストにわたってグローバルに使用できます。

外部変数を読み込む方法は2つあります。1つ目は、テスト実行前に環境タブまたはユーザー定義画面で「変数を読み込む」チェックボックスをオンにし、XMLファイルを選択することで手動で読み込む方法です。2つ目は、スクリプトコマンドを使用する方法で、これについてはこのページの後半で説明します。

ユーザー定義変数は、次のように作成できます。変数タイプをユーザー定義に切り替え、名前と値の行を追加します。

環境ペインに新しいユーザー定義環境変数を追加する QTP テスト設定

処理が完了した行は、ユーザー定義リストに表示されます。

ユーザー定義の環境変数 Guru環境パネルに値とともに99がリストされています

次のように変数にアクセスできます

MsgBox Environment.Value("Guru99")

メッセージボックスには、その変数名に格納されている値が表示されます。

ユーザー定義環境変数の値を表示するメッセージボックス Guru99

環境オブジェクトのメソッドとプロパティ

どちらのリストにも、1つの方法でアクセスできます。 VBScript Environment と呼ばれるオブジェクト。このオブジェクトは、1 つのプロパティ、1 つのメソッド、および 1 つの読み取り専用プロパティを公開しており、それが API のすべてです。

Member タイプ 何それがありません
プロパティ 環境変数を取得し、ユーザー定義の環境変数を設定します。
LoadFromFile 方法 実行時に外部環境変数XMLファイルを読み込む
外部ファイル名 プロパティ 環境ペインで選択した外部ファイル、または空の文字列を返します。

読み取りはどこでも可能です。書き込みはユーザー定義の内部変数に対してのみ可能です。組み込み変数とファイルから読み込まれた変数は読み取り専用です。

' Read any variable
strVersion = Environment.Value("OSVersion")

' Write a user-defined internal variable
Environment.Value("Guru99") = "SecondValue"

' Check which external file is active
If Environment.ExternalFileName = "" Then
    MsgBox "No external environment file is loaded"
End If

同じステートメントは、アクション、関数ライブラリ、または 回復シナリオ.

外部環境変数XMLファイルの作成と読み込み方法

外部ファイルを使用することで、変数リストが共有可能なアセットに変換され、編集手順なしで開発環境、ステージング環境、本番環境に対して1つのテストを実行できるようになります。

  1. まず、環境設定パネルで値を内部ユーザー定義変数として定義してください。
  2. エクスポート そのペインのボタンは、正しい XML あなたにとっての構造。
  3. 環境ごとに1つのファイルを保存してください。例えば、EnvDev.xmlとEnvProd.xmlのようにです。
  4. テスト対象ファイルを「変数を読み込む」チェックボックスで指定するか、スクリプトからファイルを読み込みます。

このファイルは、以下の構文で記述された変数と値のペアのフラットなリストです。

<Environment>
  <Variable>
    <Name>This is the first variable name</Name>
    <Value>This is the first variable value</Value>
  </Variable>
</Environment>

コードからの読み込みは2行のガードで行われます。ファイルが既にアクティブかどうかを確認し、アクティブでない場合にのみ読み込みます。

fileName = Environment.ExternalFileName
If fileName = "" Then
    Environment.LoadFromFile "C:\testEnv.xml"
End If

ベストプラクティスとよくある間違い

問題のほとんどは、構文よりもスコープやスペルミスに起因します。以下の表は、テスターが最も頻繁に遭遇する不具合の一覧です。

症状 原因となる 修正する
変数は空の値を返します 名前のスペルが間違っているか、このテストには追加されていません。 名前が完全に一致しています。環境パネルでスペルを再確認してください。
代入行で実行エラーが発生しました スクリプトは組み込み変数または外部から読み込まれた変数に書き込みます ユーザー定義の内部変数のみを割り当てることができます。
外部ファイルは無視されます チェックボックスがオンになっておらず、LoadFromFile が呼び出されていません。 チェックボックスにチェックを入れるか、スクリプトからファイルを読み込んでください。
他の場所で共有変数が欠落しています 変数は内部変数として定義されました 外部のXMLファイルに移動して、すべてのテストで読み込めるようにする。
  • リストが増えてもペインの視認性を維持できるよう、命名規則を統一してください。
  • XMLファイルはソース管理下に置き、実際のパスワードを決して保存しないでください。
  • 実行中に一定のままとなる値には環境変数を予約し、行ごとのデータは データ表.

よくあるご質問

XML ファイル内の平文パスワードは、ファイルを開く人なら誰でも読み取ることができます。ユーザー名を環境変数に保存し、パスワードは暗号化された値として渡します。 SetSecure ガイド。

いいえ。組み込み変数は読み取り専用なので、値を代入すると実行エラーが発生します。新しい値を受け入れるのは、ユーザー定義の内部変数のみです。外部ファイルから読み込まれた変数も、テスト内では読み取り専用です。

言語ごとに1つの外部ファイルがあり、そのロケールのインターフェース文字列とエンドポイントが格納されます。ping このファイルは期待されるすべての値を一度に変更するため、フランス語版ビルドと日本語版ビルドの検証は同じ手順で行えます。

環境変数は実行全体を通して単一の値を保持し、すべてのアクションから参照可能です。データテーブルパラメータは反復ごとに異なる値を提供し、シートに属するため、データ駆動型のケースに適しています。

AIツールがハードコードされたスイートをスキャンします URLs、パス、認証情報などを確認し、それらを置き換えるための環境変数を提案します。機械学習モデルは、環境間でずれが生じる値も検出し、適切なエントリが外部ファイルに移動されるようにします。

Copilotは、Environment.ValueおよびLoadFromFile呼び出しを確実に実行します。これは、オブジェクトのAPIが非常に小さいためです。この提案はあくまでも下書きとして扱ってください。Environmentペインにどの名前が存在するかはCopilotでは把握できないため、実行前にそれぞれを確認してください。

はい。Environmentオブジェクトは、アクション、関数ライブラリ、リカバリシナリオのいずれからもアクセスできるため、リカバリハンドラは、特別な処理をすることなく、環境名などのフラグに基づいて分岐できます。

テスト設定ダイアログの環境ペインには、選択したファイルの名前が表示されます。コードでは、ExternalFileNameプロパティは同じ名前を返します。実行時に外部ファイルが読み込まれなかった場合は、空の文字列が返されます。