UFT One とバージョン管理システム

関連:GUI テスト、API テスト、関数ライブラリ

UFT One から SVN や Git などのバージョン管理システムを直接使用します。

サポートしているバージョン

サポートしている SVN および Git のバージョンについては、「サポート・マトリクス」を参照してください。

ソース・ファイルを ALM プロジェクトやバージョン管理を行っている ALM プロジェクトに保存している場合は、「ALM バージョン管理」を参照してください。

先頭に戻る

Git または SVN を使用するように UFT One を設定する

UFT One 内で Git または SVN を使用する前に、次のようにローカルで Git または SVN を設定する必要があります。

  1. UFT One を実行しているコンピュータに Git または SVN クライアントをインストールします。

  2. コンピュータで Git または SVN ワークスペースをセットアップします。詳細については、Git または SVN のマニュアルを参照してください。

  3. UFT One でテストを作成し、Git または SVN で使用するように設定したフォルダに保存します。

  4. 標準の Git または SVN コマンドを使用して、Git または SVN のリポジトリにソース・ファイルを追加します。

  5. プロンプトが表示されたら、次のように、ユーザ資格情報を入力します。

    SVN UFT One から SVN リポジトリに対して初めて追加、更新、またはコミットを行うときに、ユーザ資格情報の入力プロンプトが表示されます。
    Git リモート・リポジトリに初めてプッシュするときに、ユーザ資格情報の入力プロンプトが表示されます。

    ユーザ資格情報をクリアする必要がある場合は、[ツール]>[すべての資格情報をクリア (Git/SVN)]を選択します。次の更新またはコミット時にそれらを入力するように求められます。使用している Git のバージョンによっては、保存されているユーザの資格情報を Windows アカウントから削除する必要があります。

    [コントロール パネル]>[ユーザー アカウント]>[資格情報マネージャー]>[Windows 資格情報]に移動し、[汎用資格情報]の下にあるすべての Git 資格情報を削除します。

    注意: すべての資格情報をクリア (Git/SVN)]オプションは、ソース・ファイルのバージョンが管理され、資格情報が以前に保存されている場合にのみ使用できます。

ワークスペースを設定してソース・ファイルを追加すると、関連するアイコンがソリューション・エクスプローラの[テスト]ノードに追加されます。以降は、ソリューション・エクスプローラから直接 SVN コマンドと Git コマンドを使用できます。

注意: 大規模なソリューションや低速のネットワークでは、SVN アイコンと Git アイコンが表示されるまでに数分かかる場合があります。

このような場合、コミットや更新などを実行するには、アイコンが更新されるまで待つ必要があります。

先頭に戻る

ソース・ファイルの変更を更新する

ソリューション・エクスプローラから変更を直接更新します。

UFT One から直接更新できるのは、スタンドアロンのソース・ファイル(テスト対象アクションのように、親ファイルに対する依存関係がないドキュメント)のみです。

たとえば、テストに含まれる 1 つのアクションやテスト内のローカル・オブジェクト・リポジトリから変更を更新するには、テストをコミットする必要があります。

ソース・ファイルを更新するには、次の手順を実行します。

SVN ファイル名(または親ファイル名)を右クリックして[更新]を選択します。
Git

ファイルが格納されているフォルダが Git リポジトリと同期されていることを確認します。

ファイル名を右クリックして[Git プル]を選択します。

注意: ユーザの資格情報をクリアするには、「Git または SVN を使用するように UFT One を設定する」で関連情報を参照してください。

先頭に戻る

ソース・ファイルの変更をコミットする

ソリューション・エクスプローラから変更を直接コミットします。

UFT One から直接コミットできるのは、スタンドアロンのソース・ファイル(テスト対象アクションのように、親ファイルに対する依存関係がないドキュメント)のみです。たとえば、テストに含まれる 1 つのアクションやテスト内のローカル・オブジェクト・リポジトリから変更をコミットするには、テストをコミットする必要があります。

変更をコミットするには、UFT One でファイルを作成した後、次の手順を実行します。

SVN

ソリューション・エクスプローラで、ソース・ファイル(または親ファイル)名を右クリックして[コミット]を選択します。

Git
  1. ファイルが格納されているフォルダが Git リポジトリと同期されていることを確認します。
  2. ソリューション・エクスプローラで、ドキュメントを右クリックして[Git コミット]を選択します。これによってソース・ファイルがローカル・リポジトリに追加され(必要な場合)、変更内容がコミットされます。

    リポジトリにコミットできるのは、テストと外部リソース・ファイル(関数ライブラリ、オブジェクト・リポジトリ、回復シナリオなど)のみです。

    注意: UFT One 15.0.2:.qfl または .txt ファイルとして保存された関数ライブラリは、UTF-8 エンコーディングをサポートします。これにより、GIT で関数ライブラリの比較、マージ、管理が可能になります。

    .vbs ファイルとして、または以前の UFT One バージョンで保存された関数ライブラリは、バイナリ・リソースとしてのみ GIT で管理できます。

  3. (リモート・リポジトリへコミットで任意)ソリューション・エクスプローラでファイルを右クリックし、[Git プッシュ]を選択します。
  4. ダイアログが表示されたら、各自で作成したコミット・メッセージを入力します。フィールドを空白のままにすると、標準設定のメッセージである UFT commit が使用されます。

注意: テストに関連付けられている外部ソース・ファイル(外部アクションや関数ライブラリなど)がある場合、テストをコミットしても外部ファイルの保存とコミットは行われません。外部ファイルは別途保存する必要があります。

先頭に戻る

ソース・ファイルとリポジトリ・バージョンを比較する

UFT One で差分比較を実行できるように、差分ツールを指定します。

UFT One でのソース・ファイルの差分比較は、次の手順で実行します。

  1. [オプション]ダイアログ・ボックスの[バージョン管理システム]表示枠([ツール]>[オプション]>[一般]タブ>[バージョン管理システム]ノード)で、ファイル・タイプごとに UFT One アセット比較ツールのような差分ツールを指定します。

  2. ソリューション・エクスプローラでファイル名を右クリックし、[前のリビジョンと比較]または[Git Diff]を選択します。

    注意: メニューで使用できるコマンドは、使用するバージョン管理システムによって異なります。

    選択した差分ツールが開き、差分比較が実行可能になります。

先頭に戻る

ソース・ファイルを元に戻す

ソリューション・エクスプローラでファイル名を右クリックし、[元に戻す]を選択します。UFT One によって、リポジトリのローカル・コピーに保存されていた旧バージョンが再ロードされ、変更内容は削除されます。

先頭に戻る

ファイル・バージョン間の競合を解決する

ソース・ファイル・バージョン間に競合がある場合、UFT One はダイアログに競合のリストを表示します。このリストから、保存するファイル・バージョンを選択できます。また、必要に応じて、ファイルの 2 つのバージョンをマージすることも可能です。

競合を解決するには、次の手順を実行します。

  1. 競合のリストを表示するダイアログ・ボックスが開いたら、リポジトリに競合が発生しているファイルを選択します。

  2. ダイアログ・ボックスの下で、次のいずれかのオプションを選択します。

    自分の変更を使用 ファイルの変更内容を保存し、リポジトリに保存されているバージョンを上書きします。
    相手の変更を使用 リポジトリ内のバージョンを使用し、自分の変更内容を上書きします。
    マージ

    両方のバージョンをマージします。

    マージに使用するツールの指定は、[オプション]ダイアログ・ボックスの[バージョン システム]表示枠([ツール]>[オプション]>[一般]タブ>[バージョン システム]表示枠)で行います。

    マージ・ツールがない場合、このオプションは使用できません。ただし、オブジェクト・リポジトリ・ファイルの場合は、「オブジェクト・リポジトリ・ファイルのバージョンの競合を手動でマージする - SVN」または「オブジェクト・リポジトリ・ファイルのバージョンの競合を手動でマージする - Git」の手順に従って、競合を調べて手動でマージできます。

    エクスプローラで表示 ファイルが格納されているフォルダを開き、競合を手動で変更します。
  3. 更新されたバージョンをコミットします。

先頭に戻る

オブジェクト・リポジトリ・ファイルのバージョンの競合を手動でマージする - SVN

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

2 つの異なる作業フォルダ内の 2 つのオブジェクト・リポジトリ・ファイル間の競合を調べて手動でマージする場合は、次の手順を実行します。

設定の構成

次のいずれかの方法を選択します。

方法 設定方法
コマンド・ライン・ツール

コマンド・ライン・ツールに次の構文を入力します。

"<UFT One インストール・フォルダ>\bin\QTPDiffApplication.exe" P1: "%base" P2: "%mine" FILE_TYPE: OR_FILE MERGED: "%merged folder"

P1 = ベース・バージョンへのファイル・パス、P2 = 自分のバージョンへのファイル・パス、MERGED = 最終的にマージされたバージョンへのファイル・パスです。MERGED パラメータを P1 と同じ値に設定することをお勧めします。

注:各引数の後には空白スペースを挿入してください。

SVN 設定

差分ビューアとマージ・ツールの設定

注意: この設定が必要なのは、初回だけです。外部ツールへのパスが変更された場合は、元の設定を削除して再設定する必要があります。

  1. 右クリックして、[TortoiseSVN]>[Settings]>[Diff Viewer]を選択します。
  2. [Settings]ダイアログ・ボックスの右側の表示枠で、[Advanced]をクリックし、[Advanced diff settings]ダイアログ・ボックスで[Add...]をクリックします。

  3. [Add extension specific diff program]ダイアログ・ボックスで、以下のパラメータを設定します。

    Filename, extension or mime-type:オブジェクト・リポジトリ・ファイルのファイル拡張子(.tsr または.bdb)を入力します。

    External Program:右側のボタンをクリックして、差分ツール QTPDiffApplication を選択し、「 P1: %base P2: %mine FILE_TYPE: OR_FILE MERGED: %merged」をツール・パスの最後に追加します。

    各引数の後には空白スペースを挿入してください。

  4. ダイアログ・ボックスで[OK]をクリックし、右側の表示枠で[Apply]をクリックします。
  5. Merge Tool]に同じ設定を追加します。

競合の解決

  1. 次の手順を実行して、2 つのファイルをマージします。

    • コマンド・ライン・ツール:上記の表の構文を実行します。
    • SVN 設定:設定を構成した後、競合するオブジェクト・リポジトリ・ファイルを右クリックし、[TortoiseSVN]>[Edit conflicts]を選択します。

    [アセット比較ツール]ダイアログ・ボックスが開き、左側(リモート)にベース・バージョン、右側(ローカル)に自分のバージョンが表示されます。

  2. 各競合を調べ、左側の[リモートからオブジェクトを採用]ボタンをクリックしてベース・バージョンを使用するか、[ローカルからオブジェクトを採用]ボタンをクリックして自分のバージョンを使用します。
  3. 競合の解決が完了したら、ダイアログ・ボックスを閉じます。

先頭に戻る

オブジェクト・リポジトリ・ファイルのバージョンの競合を手動でマージする - Git

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

2 つの異なるブランチの 2 つのオブジェクト・リポジトリ・ファイル間の競合を調べて手動でマージする場合は、次の手順を実行します。

設定の構成

次のいずれかの方法を選択します。

方法 設定方法
Git 設定

差分ビューアとマージ・ツールの設定

注意: この設定が必要なのは、初回だけです。外部ツールへのパスが変更された場合は、元の設定を削除して再設定する必要があります。

  1. 右クリックして、[TortoiseGit]>[Settings]>[Diff Viewer]を選択します。
  2. [Settings]ダイアログ・ボックスの右側の表示枠で、[Advanced]をクリックし、[Advanced diff settings]ダイアログ・ボックスで[Add...]をクリックします。

  3. [Add extension specific diff program]ダイアログ・ボックスで、以下のパラメータを設定します。

    Extension:オブジェクト・リポジトリ・ファイルのファイル拡張子(.tsr または.bdb)を入力します。

    External Program:右側のボタンをクリックして、差分ツール QTPDiffApplication を選択し、「 P1: %base P2: %mine FILE_TYPE: OR_FILE MERGED: %merged」をツール・パスの最後に追加します。

    各引数の後には空白スペースを挿入してください。

  4. ダイアログ・ボックスで[OK]をクリックし、右側の表示枠で[Apply]をクリックします。
  5. Merge Tool]に同じ設定を追加します。
.gitconfig ファイル

次の構文を .gitconfig ファイルに追加します。

[diff]
tool = QTPDiffApplication.exe
[difftool "QTPDiffApplication.exe"]
cmd = "<UFT One installation folder>\bin\QTPDiffApplication.exe" P1: %base P2: %mine FILE_TYPE: OR_FILE MERGED: %merged
[merge]
tool = QTPDiffApplication.exe
[mergetool "QTPDiffApplication.exe"]
cmd = "<UFT One installation folder>\bin\QTPDiffApplication.exe" P1: %base P2: %mine FILE_TYPE: OR_FILE MERGED: %merged

競合の解決

  1. 設定を構成した後、競合するオブジェクト・リポジトリ・ファイルを右クリックし、[TortoiseGit]>[Diff with previous version]を選択します。

    [アセット比較ツール]ダイアログ・ボックスが開き、左側(リモート)にベース・バージョン、右側(ローカル)に自分のバージョンが表示されます。

  2. 各競合を調べ、左側の[リモートからオブジェクトを採用]ボタンをクリックしてベース・バージョンを使用するか、[ローカルからオブジェクトを採用]ボタンをクリックして自分のバージョンを使用します。
  3. 競合の解決が完了したら、ダイアログ・ボックスを閉じます。

先頭に戻る

Git ブランチ

UFT One は、次のコマンドで Git ブランチをサポートします。

ブランチの作成

現在開いているテストを使用して、新しい Git ブランチを作成します。

次の手順を実行します。

  1. ソリューション・エクスプローラで、テストを右クリックして[Git ブランチの作成]を選択します。

  2. 新しいブランチ名を入力し、マスタなどのベース・ブランチを選択します。

  3. 必要に応じて、新しいブランチへの自動切り替えを選択します。

    このオプションを選択すると、UFT One は新しいブランチからテストを再度開きます。このオプションを選択しない場合、UFT One は、開始したのと同じブランチからテストを再度開きます。

ブランチの切り替え

別の Git ブランチで同じテストに切り替えます。

次の手順を実行します。

  1. ソリューション・エクスプローラで、テストを右クリックして[Git ブランチの切り替え]を選択します。
  2. 切り替えるブランチを選択し、作業ツリーをローカルの変更で上書きするかどうかを選択します。

UFT One は、選択したブランチからテストを再度開きます。

ブランチのマージ

別のブランチのデータを、現在 UFT One で開いているブランチにマージします。

ソリューション・エクスプローラで、テストを右クリックして[Git ブランチのマージ]を選択します。

データは選択したブランチにマージされます。UFT One は、マージ前に開始したのと同じブランチでテストを再度開きます。

先頭に戻る