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 で使用できるオプションの多くの使用例を参照できます。
					

