【UFT】ユーティリティまとめ ~環境編~


テスト自動化ツールである、UFT(Unified Functional Testing)
環境メソッド(Environment Method)について、
公式リファレンスを参考にしながら使い方などをまとめたいと思います。

※公式リファレンスは英語のみです。日本語記事がないので、作成をしてみました。

Environment Method

UFTでは、独自の環境変数を21個組み込まれています。
独自の環境変数以外にも、ユーザが定義することが可能な環境変数もあります。
こちらは外部ファイルなども用いることができ、アレンジして使います。

Environmentを操作するオブジェクト

Environment Methodでは、次の3つを使い操作をします

オブジェクト名 概要
Value 環境変数の取得、設定
LoadFromFile 環境変数ファイルのロード
ExternalFileName ロードした環境変数ファイルの名前を返す。
ロードされていない場合は空の文字列を返す

Value Object

環境変数の値を設定・取得することができます。

Valueの例
'環境変数_値の取得_構文
env = Environment.Value(Environment)
'環境変数_値の設定_構文
Environment.Value(Environment) = NewValue

取得可能な環境変数一覧

# 環境変数名 説明
01 ActionIteration 現在実行中のアクション反復を示します
02 ActionName 現在実行中のアクションを示します
03 ControllerHostName 実行指示を別端末からした場合、実行指示を出した端末名を取得
04 GroupName シナリオ識別番号(QCからの実行時などで取得できます)
05 LocalHostName ローカルホスト名
06 OS OS名(Windwos10とか)
07 OSVersion OSのバージョン
08 ProductDir UFTがインストールされているフォルダパス
09 ProductName このシステムを実行しているプログラムの名前(UFTのこと)
10 ProductVer UFTのバージョン
11 ResultDir 実行結果が格納されるフォルダパス
12 ScenarioId シナリオ識別番号
13 SystemTempDir システム一時ディレクトリ
14 TestDir テストが格納されている場所。フォルダパス
15 TestIteration 現在実行中のテスト反復を示します
16 TestName テストの名前
17 UpdatingActiveScreen ActiveScreenの画像と値が更新中であるかを示します
18 UpdatingCheckpoints チェックポイントのプロパティが更新中であるかを示します
19 UpdatingTODescriptions オブジェクトリポジトリが編集中であるかを示します
20 UserName Windwosのログインユーザー名
21 VuserId 仮想ユーザー識別番号

Valueコマンド_サンプルコード

Environment.Value(取得)
ActionIteration         =   Environment.Value("ActionIteration")            ' 現在実行中のアクション反復を示します
ActionName              =   Environment.Value("ActionName")                 ' 現在実行中のアクションを示します
ControllerHostName      =   Environment.Value("ControllerHostName")         ' 実行指示を別端末からした場合、実行指示を出した端末名を取得
GroupName               =   Environment.Value("GroupName")                  ' シナリオ識別番号(QCからの実行時などで取得できます)
LocalHostName           =   Environment.Value("LocalHostName")              ' ローカルホスト名
OS                      =   Environment.Value("OS")                         ' OS名(Windwos10とか)
OSVersion               =   Environment.Value("OSVersion")                  ' OSのバージョン
ProductDir              =   Environment.Value("ProductDir")                 ' UFTがインストールされているフォルダパス
ProductName             =   Environment.Value("ProductName")                ' このシステムを実行しているプログラムの名前(UFTのこと)
ProductVer              =   Environment.Value("ProductVer")                 ' UFTのバージョン
ResultDir               =   Environment.Value("ResultDir")                  ' 実行結果が格納されるフォルダパス
ScenarioId              =   Environment.Value("ScenarioId")                 ' シナリオ識別番号
SystemTempDir           =   Environment.Value("SystemTempDir")              ' システム一時ディレクトリ
TestDir                 =   Environment.Value("TestDir")                    ' テストが格納されている場所。フォルダパス
TestIteration           =   Environment.Value("TestIteration")              ' 現在実行中のテスト反復を示します
TestName                =   Environment.Value("TestName")                   ' テストの名前
UpdatingActiveScreen    =   Environment.Value("UpdatingActiveScreen")       ' ActiveScreenの画像と値が更新中であるかを示します
UpdatingCheckpoints     =   Environment.Value("UpdatingCheckpoints")        ' チェックポイントのプロパティが更新中であるかを示します
UpdatingTODescriptions  =   Environment.Value("UpdatingTODescriptions")     ' オブジェクトリポジトリが編集中であるかを示します
UserName                =   Environment.Value("UserName")                   ' Windwosのログインユーザー名
VuserId                 =   Environment.Value("VuserId")                    ' 仮想ユーザー識別番号

LoadFromFile

指定された環境変数ファイルをロードします。
環境変数ファイルは以下の構文を利用したXMLファイルである必要があります。

LoadFromFile
<Environment>
    <Variable>
        <Name> 変数名 </Name>
        <Value> 値 </Value>
        <Name> hoge </Name>
        <Value> hogehoge </Value>
    </Variable>
</Environment>
Sample_Code
'ロードした環境変数から,Name:hogeを読み込んで、定義している"hogehoge"をstrParamに格納する

Environment.LoadFromFile("C:\Automation\sample.xml")
strParam = Environment.Value("hoge")

ExternalFileName

[ファイル] > [設定] > [環境] > [変数のタイプ:ユーザー定義] で紐づけされている外部環境変数の名前を返します。
何も設定がされていない場合は、空の文字列を返します。

sample_Code
env = Environment.ExternalFileName

If env = "" Then
    print "外部環境ファイルはロードされていないか、空です"
End If


参考・参照

・UFT One Object Model Reference(公式ページ)
https://admhelp.microfocus.com/uft/en/15.0-15.0.1/UFT_Help/Subsystems/OMRHelp/Content/OV_Supp_Util/Utility_ReservedObj.htm?tocpath=Object%20Model%20Reference%20for%20GUI%20Testing%7CUtility%20Objects%7C_____0