TestRail に JUnit 形式のケースと結果を自動的に登録する

JUnit スタイルの XML ファイルから TestRail にテスト自動化の結果を簡単にアップロードできるコマンドラインインターフェイスツール TestRail CLI の提供を開始しました。

自動化したテストの管理方法にお悩みの方は、ぜひお試しください。

TestRail CLI とは

TestRail CLI は TestRail ユーザーのためのオープンソースのコマンドラインインターフェイスです。TestRail の Professional または Enterprise ライセンスをお持ちであればオンプレミス版、クラウド版を問わずどなたでもご利用いただくことができます。

TestRail CLI を利用するとテスト自動化ツールまたはテストフレームワークの JUnit スタイルの XML ファイルを利用して TestRail に次のことができるようになります。

  • テストケースを新規登録する
  • テスト自動化の結果をアップロードする(テストランの自動作成、結果の追加)
TestRail CLI で自動テスト情報を TestRail に登録する

利用可能なテスト自動化フレームワークには次のものがあります。

  • JUnit
  • TestNG
  • Cypress.io
  • Playwright
  • Robot Framework
  • Pytest
  • NUnit

JUnit スタイルのテスト結果レポートファイルを解析してコマンドラインから直接 TestRail CLI を呼び出して TestRail にアップロードするか、自動ビルドパイプラインの一部として TestRail CLI を実行することで、API 呼び出しやアップロードに関連するその他の技術的な詳細を気にすることなく、テストケースおよび、テスト結果を TestRail に登録することができます。

なお、自動化テストのために作成したテストケースとその実行結果を TestRail で管理することのメリットについては以前投稿したこちらの記事でご紹介していますので、合わせてご確認ください。

TestRail CLI を利用するメリット

TestRail CLI を利用することで TestRail 利用者は組織全体の可視性、トレーサビリティ、およびカバレッジを向上させます。

自動テスト結果管理の効率化

自動テストの管理を効率化するためにこのツールを利用することでユーザーはテストの自動化に集中することができます。

TestRail REST API の 抽象化

TestRail の REST API は TestRail CLI によって抽象化されるため、ユーザーがテストケースや結果の登録に必要な API を理解する必要はありません。JUnit 形式のレポートさえあれば、TestRail にテストケース、テスト結果をインポートすることができます。

保守作業の軽減

TestRail CLI はオープンソースのツールであるため、利用中に何らかの問題が発見された場合でもコミュニティに問題を報告することでサポートを受けることができます。また、新しい機能の追加、改善を要求すること、もしくは自分自身で実装することでよりよりツールにしていくこともできます。

自動テストと手動テストの統合

自動テストの結果を TestRail に登録することで TestRail 上で管理されている自動テストの情報と統合して管理することができるようになります。

テストの進捗状況を追跡する

TestRail 利用者はこれまで登録していた手動テストの結果同様に、登録された自動テストの進捗状況を必要な時に TestRail 上から確認することができます。

品質指標 (メトリクス) の測定

TestRail のレポート機能を活用して自動テスト、手動テストの品質指標を測定することができます。自動テストと手動テスト、異なる方法で実行したテスト結果であっても TestRail 上の同じプロジェクトに登録されている情報であればまとめて出力することができます。これは、プロジェクトに存在するテスト全体の実行可能性やトレーサビリティ、カバレッジを向上させることに繋がります。

TestRail CLI を使ってみる

必要なもの

  • TestRail 環境、アカウント
  • python の実行環境
  • junit 形式のテスト結果レポート

TestRail CLI のインストール

Python と pip3 をインストールします。

Python:

> python --version
Python 3.10.4

pip3:

> pip3 --version
pip 22.1.2 from C:\Users\xxxxx\AppData\Local\Programs\Python\Python310\lib\site-packages\pip (python 3.10)

TestRailCLIツールをインストールします。

pip install trcli

TestRail CLI のバージョン確認

> trcli
TestRail Connect v1.2.0
Copyright 2021 Gurock Software GmbH - www.gurock.com
Supported and loaded modules:

    - junit: JUnit XML Files (& Similar)

TestRail の設定

  1. API を有効にする
    • [管理] > [サイト設定] > [API] > “API の有効化”
  2. カスタムフィールドを登録する
    • [管理] > [カスタマイズ] > [ケース フィールド] タブ
    • システム名 ‘automation_id‘ のフィールドを文字列で作成、テスト結果を登録プロジェクトでフィールドを有効化する
カスタムフィールドの追加
カスタムフィールドの詳細

TestRail CLI でテスト結果を登録

JUnit XML レポート例:

<testsuites name="test suites root">
  <testsuite failures="0" errors="0" skipped="1" tests="1" time="0.05" name="tests.LoginTests">
    <properties><property name="setting1" value="True"/></properties>
    <testcase classname="tests.LoginTests" name="test_case_1" time="159">
      <skipped type="pytest.skip" message="Please skip">skipped by user</skipped>
    </testcase>
    <testcase classname="tests.LoginTests" name="test_case_2" time="650">
    </testcase>
    <testcase classname="tests.LoginTests" name="test_case_3" time="159">
      <failure type="pytest.failure" message="Fail due to...">failed due to...</failure>
    </testcase>
  </testsuite>
</testsuites>

実行コマンド:

trcli -y ^
-h http://localhost:18888/testrail ^
--project "CLITOOL" ^
--username taro@techmatrix.co.jp ^
--password taro ^
parse_junit ^
--title "Automated Tests Run" ^
-f junit_report.xml
  • -h : 結果をアップロードする TestRail URL
  • –project : 結果をアップロードするプロジェクト (事前に TestRail 上に作成されている必要がある)
  • –username : ログインユーザー
  • –password : パスワード
  • parse_junit :レポートファイルを解析し、テスト結果を TestRail にアップロードするための魔法の言葉
  • –title : テストラン名
  • -f : JUnit スタイルの XML ファイル

その他、利用可能なオプションはマニュアルをご確認ください。

実行ログ:

Checking project. Done.
Adding missing suites to project CLITOOL.
Adding missing sections to the suite.
Found test cases not matching any TestRail case (count: 3)
Adding missing test cases to the suite.
Adding test cases: 3/3, Done.
Creating test run. Done.
Adding results: 3/3, Done.
Done.
Submitted 3 test results in 5.9 secs.

登録されたテストケース:

登録されたテストケース

登録されたテスト結果:

登録されたテスト結果

まとめ

本記事では、提供を開始した TestRail CLI についてご紹介しました。

TestRail CLI を利用することで組織、プロジェクトのすべてのテスト作業を TestRailに集約することができるようになります。

今回は、具体的な利用方法についての紹介は省略いたしましたが、お試しになりたい場合は以下のリンク先のドキュメントをご参照ください。

  • GitHub (TestRail CLI のダウンロードはこちらからできます。)
  • TestRail マニュアル (英語ページです。詳細な利用方法や各テストフレームワークでのサンプルを用意しています。)

補足

弊社動作環境は以下の通りです。ご利用の TestRail および TestRail CLI のバージョンによっては正しく動作しない可能性がございますのでご注意ください。

  • Python : 3.10.4
  • pip : 22.1.2
  • TestRail CLI : 1.2.0
  • TestRail : 7.0.2.1016

関連する製品

テスト管理ツール TestRail

Webベースのテスト管理ツールのトップブランドである TestRail。テストケースの管理やテスト結果の記録、チームでの情報共有など、Excel を使ったテスト業務に限界を感じていませんか?TestRail はシンプルで使いやすい UI を提供し、テストにかかるさまざまな管理コストの削減に貢献します。

テスト管理ツール TestRail
Webベースのテスト管理ツールのトップブランドであるTestRail。テストケースの管理やテスト結果の記録、チームでの情報共有など、Excelを使ったテスト業務に限界を感じていませんか?TestRailはシンプルで使いやすいUIを提供し、テストにかかるさまざまな管理コストの削減に貢献します。

eBook 公開中

Paul Gerrard著 効果的なテスト管理12の秘密 (日本語)

テスト計画やテスト管理に役立つ12のトピックを解説します。

詳細はこちら