TestRail CLI は、任意の JUnit 形式の XML ファイルから簡単に自動テストの結果を TestRail アップロードできるコマンド ライン インターフェイス ツールです。
概要
TestRail CLI を使用すると、ほぼどのようなテスト自動化ツールまたはフレームワークの自動テストの結果でも解析できます (ツールが JUnit 形式の XML ファイルでテスト結果をエクスポートできる場合)。TestRail CLI で使用可能なレポートを簡単に生成できる一般的な自動化フレームワークの例として以下が挙げられます。
-
- Cypress.io
- Playwright
- JUnit
- TestNG
- NUnit
- Pytest
- Robot Framework
コマンド ラインから直接 JUnit 形式のテスト結果を解析して TestRail にアップロードするか、Jenkins、GitLab CI、GitHub Actions、またはその他の CI ツールで自動化されたビルド パイプラインの一部として CLI を実行することで、API の呼び出しやテスト結果のアップロードに関するその他の技術的詳細にわずらわされることなく、テスト コードの作成に集中できます。
TestRail CLI は GitHub にホストされたオープン ソースのプロジェクトであり、誰でも課題を作成したり、さらに新機能や改善を実装するコードを開発したりといった貢献を行うことができます。
さまざまなフレームワークのテスト自動化プロジェクトのサンプルについては、GitHub の自動化フレームワーク統合プロジェクトを参照してください。
TestRail CLI のインストール
TestRail CLI は、テスト結果のアップロードに関してはプログラミング言語を意識する必要はありませんが、ツール自体は Python で開発されており、パブリックな Python Package Index (PyPI) からインストールできます。マシンに TestRail CLI をインストールしたり、エージェントをビルドしたりする場合、OS に合った Python 3.10.4 インストーラーをダウンロードしてインストール ウィザードの指示に従い、pip もインストールすることを推奨します。正常にインストールされたことを確認するには、コマンド ラインから python --version
および pip --version
コマンドを実行します。すると、バージョンが出力されます。
Python のインストールが完了したら、TestRail CLI のインストールは、次の 1 行をシステムのコマンド ラインで実行するか、ビルド パイプラインでスクリプトに追加するだけです。
$ pip install trcli
install コマンドが正常に実行されると、trcli
コマンドを使用して直接 TestRail CLI を呼び出すことができるようになり、次の出力が表示されます。
$ trcli TestRail Connect v1.4.0 Copyright 2021 Gurock Software GmbH - www.gurock.com Supported and loaded modules: - junit: JUnit XML Files (& Similar)
TestRail インスタンスの設定
TestRail CLI を使用する前に、TestRail インスタンスで API を有効化する必要があります。[管理] > [サイト設定] にアクセスして [API] タブをクリックし、[API の有効化] オプションをオンにします。詳細については API 入門ページを参照してください。
テスト自動化ワークフロー
テストを自動化する際、さまざまな方法でテスト管理にアプローチできます。コードで直接テスト設計を行うことを選択する (「コードファースト」アプローチ) チームもあれば、まず、TestRail のようなツールを使って、自動化コードの外でテスト ケースを文書化してからテスト コードを実装し、特定のテストにマッピングすることを選択する (「仕様ファースト」アプローチ) チームもあります。
TestRail CLI には、これらの両方のアプローチをサポートする仕組みがあります。TestRail にテスト ケースを追加せずに、最初からコードでテストを作成する場合、TestRail CLI は、新規自動テストのテスト結果を最初にアップロードしたとき、テスト ケース リポジトリを更新して新規自動テストを作成します。
すでに TestRail で文書化されているテスト ケースに基づいてテストを自動化する場合、自動化コードと TestRail のテスト ケースをリンクして、テスト ケースに自動テストの結果を登録することができます。
実用的な例として、GitHub の Cypress テスト自動化プロジェクト を参考にできます。このプロジェクトには、両方のワークフロー向けに用意されたテスト スイートとともに、使用手順が含まれています。
コードファースト |
仕様ファースト | |
コードファースト
通常、コードで直接テスト設計を行うチームが採用するアプローチです。つまり、チームはテスト コードで直接テスト ケースを設計し、テスト スクリプトを実装し、テスト管理ツールの外で実行を管理します。
利点:
-
- テスト ケースの自動生成
- テスト ケースの自動マッピング
- コードでだけテスト ケースを管理
- コードで直接テスト設計を行なう、より技術的なチームに最適
欠点:
-
- マッピングは壊れやすく、自動化プロジェクトの構造やテスト名が変更されると、壊れる可能性があります。
- あまり経験がないチームでは、テスト ケースが重複する可能性があります。
- TestRail に既存のテスト ケースがある場合、マッピングを作成するために追加の時間が必要です。
TestRail CLI – コードファーストページにこのアプローチの実装方法の詳細があります。
仕様ファースト
自動テスト コードを実装する前にテスト ケースを設計するというアプローチです。このワークフローでは、まず TestRail でテスト ケースの概略と設計を作成するため、さまざまなフォーマットでテスト ケースを作成し、レビュー、カテゴリ分け、優先順位付けを行って、自動化するテスト ケースを選択できます。
利点:
-
- 自動化するべきテスト ケースの優先順位を付けるのに役立ちます。
- コードの構造が変化した場合もケースのマッピングが保たれます。
- 自動作成によってテスト ケースが重複する可能性が減ります。
- 詳細なテスト ケースの設計と計画が可能です。
- 整備されたテスト文書が必要なチームに適しています。
欠点:
-
- コードにケース ID が記載されていないテスト ケースは作成されず、結果もサブミットされません。
- 手作業でマッピングする必要があり、面倒でエラーが発生しやすくなります。
TestRail CLI – 仕様ファーストページにこのアプローチの実装方法の詳細があります。
CLI リファレンスおよび使用例
すべての TestRail CLI パラメーターについて知るには、trcli --help
および trcli parse_junit --help
コマンドを使用するか、TestRail CLI – リファレンスページを参照します。また、TestRail CLI – 使用例ページでは、Test Rail CLI で使用できるオプションの多くの使用例を参照できます。