ブランチ機能を用いると、プロジェクト全体で管理するテストケースやその実行に影響を与えずに、独自のワークスペースで変更を追加・検証することができます。この機能を用いることで、チームが安全かつ迅速なコラボレーションを行うことができます。
本機能は、現在エンタープライズプランのお客様のみがご利用いただけます。スタンダードプランのお客様へは正式版公開と同時の機能提供となる予定です。
以下の機能はご利用いただけません。正式版リリースまでの機能拡充を目指して開発中です。
- ブランチ上で、新規にテストケースや共有ステップを作成・削除できる
- コンフリクトが発生した場合に、専用の画面で直感的にコンフリクトを解消できる
目次
1. ブランチを用いるユースケース
- 失敗したテストケースを個人のブランチで修正・検証し、他の人の作業に影響を与えない
- リリース予定の新機能を
develop
ブランチでテストし、リリースと同時にmain
にマージする
2. ブランチを使う
ブランチはプロジェクトの下に作られる独立したワークスペースです。他のブランチに影響を与えずに、個人の変更を追加・検証することができます。
MagicPodのプロジェクトはすべてブランチで管理されています。明示的にブランチを作っていなくとも、プロジェクトのリソースは暗黙にmain
ブランチ内に存在しており、これをデフォルトブランチと呼びます。
ブランチ内で検証した全ての変更は、準備が整った段階でデフォルトブランチにマージすることができます。
2-1. ブランチを作る
プロジェクト配下のページでは、右上のブランチアイコンからブランチを作成できます。
ブランチを作成すると、メニューの表示が変化し、作成したブランチに切り替わります。
ブランチの一覧を見ると、今作成したブランチ以外にデフォルトブランチが表示されています。これが、プロジェクト全体の主要なワークススペースであり、状況に応じてどちらのワークスペースで編集を行うか切り替えることができます。
これにより、テストケースや共有ステップなどを、デフォルトブランチに影響を与えずに編集・実行する準備が整いました。
なお、新規のブランチはデフォルトブランチからのみ作ることができます。つまり、デフォルト以外のブランチAからブランチBを作ることはできません。
2-2. テストケースを編集する
ブランチ内では、通常と同じようにテストケースと共有ステップを編集することができます。誤ったブランチで編集を行わないよう、右上のメニューの表示で、目的のブランチで編集していることを確認してください。
ブランチ内で編集したテストケースや共有ステップの一覧はブランチの詳細ページから確認することができます。右上のメニューで「ブランチ詳細・マージ」をクリックしてください。
「変更を確認」メニューから個別の変更履歴を確認できます。
以下の機能はブランチ内での利用が制限されます。
- テストケース・共有ステップの新規作成
- ベータ版では利用できませんが、正式版までに利用可能となるよう現在開発を進めています
- テストケース名や説明などの編集
- UIの使用数確認
- 削除されたUIを含むテストケースの一覧での確認
右上にメニューが存在しないページでは、表示されている内容が全てのブランチで共有されていることを意味します。例えば、以下のリソースを更新した場合は、他ブランチでも同様の更新が適用されます。
- 一括実行設定
- テストケースラベル
- 多言語データパターン
- 画像差分
2-3. テストケースを実行する
ブランチ内ではテストケースの単体・一括実行をいずれもサポートしています。
単体実行の方法は変わりません。テストケース編集画面の左下から実行してください。ブランチを切り替えて実行したい場合は右上のメニューからブランチを切り替えてください。
一括実行では、実行前にブランチを選ぶことができます。「テストを一括実行」ボタンをクリックした後、実際に実行が開始される前にブランチを選ぶ画面が表示されます。
コマンドラインによる一括実行でもブランチを指定することができます。詳細はMagicPod Web APIのページでPOST /v1.0/{organization_name}/{project_name}/batch-run/
のリクエスト形式をご確認ください。また、一括実行の「コマンドラインで実行」メニューからもリクエストの形式を確認することができます。
2-4. マージする
ブランチ内での編集・動作確認が終わったら、変更内容をデフォルトブランチにマージしましょう。右上のメニューからブランチ詳細ページに移動し、変更一覧を確認してください。
不要な変更や意図しない変更を確認した場合は各変更行の右メニューから「変更を破棄」をクリックしてください。ブランチで編集を加える前の状態に戻すことができます。間違えて変更の破棄をしてしまった場合でも、履歴ページで任意のバージョンに戻すことができます。
一覧の変更を全て確認し終えたら、マージボタンをクリックしてブランチをマージしてください。マージコメントをブランチでの編集内容に沿ったものにすることで、チームの他のメンバーにとっても履歴が理解しやすくなります。
なお、ブランチをマージするとそのブランチは閉じられ、変更を追加したり、そのブランチでのテストを実行することはできなくなります。
- テストケース
- 共有ステップ
- テストケースと共有ステップ内で使用されるUI
- データパターン
2-5. コンフリクトを解決する
デフォルトブランチと、そこから作成したブランチの両方で同じテストケースを編集した場合にコンフリクトが発生します。コンフリクトが発生している状態ではブランチをマージすることはできません。それぞれのブランチで加えた異なる変更はシステムで自動解決できないため、手動で解決していただく必要があります。
コンフリクトが発生したリソースは画面上で警告が表示され、「コンフリクトを解決する」メニューを開くことで、解決するためのヒントを得ることができます。
上記のケースではmain
とdevelop
ブランチのそれぞれでテストケースに異なる変更を加えたためにコンフリクトが発生したようです。まずは画面上に表示されている2つのリンクをクリックして、それぞれの変更内容を確認しましょう。
main
での変更:
develop
での変更:
変更を確認すると、main
ではボタンの表示まで待機する処理が追加され、develop
ではコマンドがクリックから指定位置クリックに変更されています。これらを総合して考えると、以下のように変更することが正しいと思われるため、main
での変更を手作業でdevelop
ブランチにも適用し、develop
ブランチの内容を正しい状態になるように編集します。
編集が完了したらブランチ詳細ページに戻り、「解決済みにする」をクリックしてコンフリクトを解決してください。
編集せずに「解決済みにする」こともできますが、デフォルトブランチ側での変更をかき消してしまったり、不整合な結果を招く可能性があります。
現状ではコンフリクトの解決は手間のかかる操作になっていますので、なるべくコンフリクトが起きないように運用していただけますと幸いです。ブランチ機能の正式版リリースまでには、コンフリクトをより直感的に解決できる画面を用意できるよう、開発を進めております。
3. サポートバージョン
ブランチを用いてローカル環境でテストを作成・実行する場合はMagicPodDesktopのバージョンを1.19.0以上にアップデートしてください。最新のMagicPodDesktopはこちらからダウンロードしてください。
テストの実行環境にクラウド・外部クラウドサービスを用いる場合はアップデートは必要ありません。
4. よくある質問
Q.
ブランチを切り替えたところ、「ページが見つかりません」と表示されました。
A.
例えば、main
ブランチにテストケースAが存在していてdevelop
ブランチには存在しないという場合に、テストケースAを編集中にmain
からdevelop
にブランチを切り替えることで「ページが見つかりません」が表示されることがあります。一般に、片側のブランチでテストケースや共有ステップが削除またはゴミ箱に入っている状態で同様の現象が発生する可能性があります。
テストケースの一覧ページ等でブランチを切り替えていただければこの問題は発生しませんので、ページを移動して再度お試しください。
Q.
ブランチをマージした後に、類似した2つの共有UIが作成されていることがあるのは何故ですか?
A.
特殊なケースで、マージのタイミングで元々の共有UI(例えば画面1
)と類似した新たな共有UIが作成される(画面1
と画面1(1)
の2つになる)ことがあります。これは、例えば以下のようなケースで発生します。
main
ブランチではテストケースAのみが共有UI画面1
を使用していたdevelop
ブランチを作成し、画面1
に変更を加えたmain
ブランチではテストケースBが新たに画面1
を使用するようになったdevelop
ブランチをマージした
この際に、単純に画面1
をdevelop
ブランチの内容で上書きしてしまうと、テストケースBの実行に意図しない問題を生じる可能性があります。そのため、新たに共有UIを作成し、テストケースAでは画面1
を、テストケースBでは画面1(1)
を使用することで、意図通りの動作になることを保証しています。