SystemUtil.Run、SetSecure、Set、Type を理解する: QTP/UFT

⚡ スマートサマリー

SystemUtil.Run は UFT 1 つのコマンドは実行セッションの開始時にファイルまたはアプリケーションを起動し、Set、SetSecure、および Type は開いたウィンドウに値とキーストロークを供給します。

  • 🔘 自動挿入: アプリケーションを起動するには Windows 録画中のスタートメニュー UFT SystemUtil.Run ステップを自動的に作成します。
  • ☑️ 5つの論点: Runコマンドは、file、params、dir、op、modeを受け入れるため、1つのステートメントで対象を開く、編集する、探索する、検索する、または出力することが可能です。
  • ✅ セットとタイプ: Setは値をフィールドに直接書き込みますが、Typeは人間が必要とするmicTabなどの生のキーストロークを送信します。
  • 🧪 安全なパスワードを設定する: 記録されたパスワードは、元のテキストに戻すことができない暗号化された文字列として保存されます。
  • 🛠️ パスワードエンコーダー: Password Encoder GUIとCryptonCMD.exeは、記録セッション外では同じエンコードされた文字列を生成します。
  • 📌 現在の命名規則: QTP ようになりました OpenText 機能テスト(UFT 1)、SystemUtil.Run は従来の InvokeApplication ステートメントに取って代わります。

SystemUtil.Run、SetSecure、Set、Type ステートメント QTP/UFT 脚本1つ

SystemUtil.Run で UFT

すべての記録されたGUIテストには、テスト対象のアプリケーションを画面に表示する最初のステップが必要です。 OpenText 機能テスト(UFT 1つは、以前はマイクロフォーカスでした。 UFT そして元々はHP QTPそのステップは SystemUtil.Run次のコードを理解しましょう

SystemUtil.Run "C:\Program Files\HP\samples\flight\app\flight.exe"
Dialog("Login").WinEdit("Agent Name:").Set "Guru"
Dialog("Login").WinEdit("Agent Name:").Type micTab
Dialog("Login").WinEdit("Password:").SetSecure "4af272a62666d2e"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Close
  • 最初のステップは、 SystemUtil.Run コマンドは、デフォルトで使用されます。 UFT/QTP アプリケーションを開く。 録音中に、 Windows スタートメニュー、「」に移動しましたフライト予約「アプリケーション」。当時、マイクロフォーカスは UFT 実行可能ファイルの場所を特定し、SystemUtil.Run コマンドを挿入してそれを開きます。
  • 2行目はエージェント名の設定です Guru アクティブスクリーンに表示されているとおり
  • 行 3 は、キーボードの Tab キーを押してフォーカスをエージェント名フィールドからパスワード フィールドに移動することであり、これはまさにこのステップです。 人間ユーザーは、画面上の特定のオブジェクトにフォーカスするために、タブキーまたはクリック操作を使用する必要があります。一方、 クイックテスト オブジェクトのプロパティを使用してオブジェクトを直接識別することができ、これらの「操作」操作を必要としません。このステップは削除できます。 UFT この操作を行わなくても、パスワードフィールドを設定することは可能です。
  • 4行目はパスワードを次のように設定しています Mercury. UFT パスワードを自動的に暗号化する 録音中に入力した セキュリティ侵害を回避するために、この値は復号化できません。つまり、この暗号化されたデータを使用して元の値を復元する方法はありません。パスワードエンコーダツールを使用して、パスワードを明示的に暗号化できます。学習目的のため、パスワードは生の形式で使用します。また、操作はSetに変更されます。
  • 5行目は「OK」ボタンをクリックしています
  • 6行目はウィンドウを閉じています

⚠️ バージョンノート: 上記の記録された経路は古い C:\Program Files\HP\samples\flight HPが使用する場所 QTPサンプルフライト予約アプリケーションには、引き続き以下のものが含まれています。 UFT 1つですが、現在のインストールフォルダの下にあるため、今日記録されたスクリプト内の実際のパスは異なります。

詳しくはこちら こちら ビデオにアクセスできない場合

SystemUtil.Run の構文と引数

上記の記録された行では最初の引数しか使用されていませんが、このメソッドは5つの引数を受け入れます。それらすべてを知ることで、SystemUtil.Runは単なる記録ツールではなく、手動で記述できる意図的な起動手順になります。

SystemUtil.Run file, [params], [dir], [op], [mode]
引数 必須? 何それがありません
file 必須 実行するファイルまたはアプリケーションの名前。実行可能ファイル以外のファイルは、関連付けられたアプリケーションで開きます。
paramsは オプション アプリケーションに渡されるパラメータ file 実行ファイルです。デフォルトは空の文字列です。
DIR オプション アプリケーションまたはファイルのデフォルトディレクトリ。デフォルト値は空の文字列です。
op オプション 実行するアクション:開く、編集、探索、検索、印刷。空白の場合は開く操作を実行します。
モード オプション ウィンドウが開いたときの表示方法を制御する整数値。デフォルト値は1です。

その op 引数は、ほとんどのテスターが発見しないものです。それは同じ動詞に対応します Windows エクスプローラーは右クリックで表示されます。

op値 結果
開いた 指定されたファイル、フォルダ、または実行可能ファイルを開きます。 file.
edit エディタを起動し、ドキュメントを編集用に開きます。ファイルが編集可能なドキュメントでない場合は失敗します。
探る 指定されたフォルダーを探索します file.
find 指定されたフォルダパスから検索を開始します。
印刷 指定されたドキュメントを印刷します fileファイルが印刷可能でない場合は失敗します。

『Brooklyn Galaxy』のために、倪氏はブルックリン美術館のコレクションからXNUMX点の名品を選び、そのイメージを極めて詳細に描き込みました。これらの作品は、彼の作品とともに中国ギャラリーに展示されています。彼はXNUMX年にこの作品の制作を開始しましたが、最初の硬貨には、当館が所蔵する モード日常的に重要な値は、0(ウィンドウを非表示にして別のウィンドウをアクティブにする)、1(アクティブにして元のサイズで表示する)、2(最小化してアクティブにする)、3(最大化してアクティブにする)です。より高い値はフォーカスと復元動作を制御しますが、テストではほとんど必要ありません。

SystemUtil.Run の例: アプリケーション、ブラウザー、ファイル

以下の例では、引数を一つずつ追加していくので、各位置で何が追加されるかを確認できます。これらの例を新しいアクションに貼り付けて、一行ずつ実行してみてください。

1) ファイルのみ — 最も短く便利な形式。システムパス上の実行ファイルはフォルダを必要とせず、ドキュメントはどのアプリケーションでも開きます。 Windows 登録済みです。

SystemUtil.Run "notepad.exe"
SystemUtil.Run "C:\Data\Orders.txt"

2) ファイルとパラメータ コマンドラインでアプリケーションが受け付ける内容はすべてここに記述します。こうすることで、ブラウザをホームページではなく特定のアドレスで開くことができます。

SystemUtil.Run "notepad.exe", "C:\Data\Orders.txt"

3) ディレクトリを追加する — アプリケーションが自身のフォルダを作業ディレクトリにしないと起動しない場合に役立ちます。

SystemUtil.Run "flight.exe", "", "C:\Program Files\HP\samples\flight\app\"

4) opを追加する 同じファイルなのに、結果は4通り。

SystemUtil.Run "C:\Data\Orders.txt", "", "", "edit"
SystemUtil.Run "C:\Data", "", "", "explore"
SystemUtil.Run "C:\Data", "", "", "find"
SystemUtil.Run "C:\Data\Orders.txt", "", "", "print"

5) モードの追加 — ウィンドウを最大化して開くことで、後続の手順が部分的に隠れたコントロールによって妨げられることがなくなります。

SystemUtil.Run "notepad.exe", "C:\Data\Orders.txt", "", "open", 3

起動されたウィンドウは通常のテストオブジェクトとなるため、次の行でそのウィンドウを操作できます。公式ドキュメントでは、まさにこの方法で「実行」と「タイプ」および「閉じる」を組み合わせています。

SystemUtil.Run "C:\type.txt", "", "", ""
Window("Text:=type.txt - Notepad").Type "happy days"
Window("Text:=type.txt - Notepad").Close

記述に注目してください テキスト:= そのスニペットの形式:リポジトリエントリは不要です。同じ考え方は、以下で詳しく説明されています。 記述的プログラミング、そして上記のようなハードコードされたパスは通常、 環境変数 つまり、すべてのマシンで同じスクリプトが実行されるということです。

Set、SetSecure、およびType:どのメソッドを使用するか

記録されたスクリプトの2行目から4行目では、同じ種類の編集フィールドに対して3つの異なる方法が使用されています。これらの方法は互換性がなく、間違った方法を選択すると、何も入力されずに処理がスキップされてしまうというよくある原因となります。

方法 送信するもの 次のようなときに使用します
作成セッションプロセスで プレーンテキストの値をフィールドに直接書き込みます。 通常のデータ入力(読み取られても構わないパスワードを含む)。
SetSecure エンコードされた文字列を書き込む UFT 実行時にデコードする。 パスワードフィールドはすべて、その値がスクリプトや結果に表示されないようにするためのものです。
タイプ micTabなどのキーを含む、生のキーストロークを送信します。 キーボードの動作はテストの一部であり、あるいはコントロールは実際のキーにのみ反応する。

解説にあるように、3行目のTabキー入力は、録音機が人間の習慣を捉えたためにのみ存在する。 UFT パスワードフィールドはそのプロパティによって識別されるため、その行を削除しても何も変わりません。SetSecureをSetに置き換えると、同じログインが読みやすいパスワードで実行されます。

Dialog("Login").WinEdit("Password:").Set "mercury"

逆方向に、つまり記録セッション外で値をエンコードするには、 パスワードエンコーダーGUIツールには以下のものが付属しています。 UFT 1つ、そして同じエンコーディングはコマンドラインから利用できます。 CryptonCMD.exe -e 製品の bin フォルダー内。どちらも SetSecure 引数または データテーブルパラメータベンダーは、このエンコード方式はセキュリティ標準ではないことを明言しています。これは画面上で値を隠すものであり、実際の顧客データを保護するものではありません。

これら3つの方法が自然に身につくと、残りの言語もすぐに身につく。 VBScriptの基礎 そしてより広い UFT チュートリアルシリーズ1つ ループ、条件、再利用可能な関数をカバーする一方で オブジェクトスパイとGetROProperty どの物件かを表示します UFT 実際にマッチングしているのは1人です。

よくあるご質問

アプリケーションを起動すると、Run ステートメントがテストに自動的に書き込まれます。 Windows 録画中はスタートメニューまたはファイル名を指定して実行ダイアログボックスを使用してください。ping 手計算で同じ結果を得る。

いいえ。エンコードされた文字列を元のパスワードに戻すことはできません。そのため、失われた値は復号化するのではなく、再エンコードする必要があります。パスワードが変更された場合は、引数全体を置き換えてください。

付属のパスワードエンコーダーツールを使用してください UFT 1つは、CryptonCMD.exe -e に続けて製品のbinフォルダにある文字列を実行することです。どちらの場合も、SetSecure引数またはデータテーブルのセルに適した値が出力されます。

記録および実行設定では、最初のステップの前にアプリケーションを開くことができ、従来の InvokeApplication ステートメントも引き続き機能します。ベンダーは後方互換性のためにのみ InvokeApplication を残しており、代わりに Run の使用を推奨しています。

SystemUtil オブジェクトは、Window(…).Close に加えて、CloseProcessByName、CloseProcessById、CloseProcessByHwnd、CloseProcessByWndTitle、および実行セッションが開始したすべてのプロセスをシャットダウンする CloseDescendentProcesses を提供します。

AIアシスタントは、平易な英語の説明から実行、設定、型付けのステートメントを作成し、ロケーターに問題が発生した場合には修正案を提案できます。ただし、生成されたすべての行は、実行前に実際のオブジェクトのプロパティと照合して確認する必要があります。

Copilotは、サポートするあらゆるエディタでVBScriptを補完するため、ヘルパー関数やテストデータに対するループ処理を素早く構築できます。 UFT Copilotプラグインがインストールされていないため、コードはエディタに貼り付けてそこで検証されます。

原因は通常、パスの誤りです。インストールフォルダが異なる、32ビット版と64ビット版のProgram Filesフォルダが混在している、あるいは存在しないドライブがマッピングされているなどが考えられます。環境変数にパスを格納すれば、この問題は解消されます。