JUnit レポートのサンプル
JUnit レポート フォーマットは、テスト自動化フレームワークや CI ツールがテスト結果を保存し、視覚化するのに広く使われています。TestRail CLI はレポートを解析し、要素を TestRail エンティティに変換します。それらのエンティティは API によってインポートされます。下記は標準的な JUnit レポートのサンプルです。
<testsuites name="test suites root">
<testsuite failures="0" errors="0" skipped="1" tests="1" time="3049" name="tests.LoginTests">
<properties>
<property name="setting1" value="True"/>
<property name="setting2" value="value2"/>
</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="121">
<failure type="pytest.failure" message="Fail due to...">failed due to...</failure>
</testcase>
</testsuite>
</testsuites>
JUnit タグ
次の表に示すように、TestRail CLI によって Junit レポート タグが解析され、TestRail エンティティに変換されます。
| XML JUnit タグ | TestRail でのマッピング |
|---|---|
<testsuites> |
テスト スイート |
<testsuite> |
セクション |
<testcase> |
テスト ケース |
JUnit テスト スイート
<testsuite> タグが付いた要素は、TestRail のセクションに変換され、プロパティが TestRail のテスト ランの説明に追加されます。下に <property> 子タグを持つ <testsuite> のサンプルを示します。
<testsuites name="test suites root">
<testsuite failures="0" errors="0" skipped="1" tests="1" time="3049" name="tests.LoginTests">
<properties>
<property name="setting1" value="True"/>
<property name="setting2" value="value2"/>
</properties>
(...)
</testsuite>
</testsuites>
| 属性またはタグ | TestRail でのマッピング |
|---|---|
name |
セクション名 |
<property> |
プロパティ名および値が連結され、テスト ランの説明に追加されます。 |
JUnit テストケース
<testcase> タグが付いた要素は TestRail のテスト ケースとそのテスト結果に変換されます。
| 属性 | TestRail でのマッピング |
|---|---|
name |
テスト ケース名 |
time |
テスト結果の経過時間です。 |
テスト結果ステータスは <testcase> タグの子タグによって定義されます。タグがない場合、テスト結果は Passed になります。<failure> タグがある場合、テスト結果は Failed になり、<skipped> タグがある場合、テスト結果は Retest になります。下の表はサンプルを示しています。
| XML 構造 | TestRail のステータス |
|---|---|
<testcase classname="tests.LoginTests" name="test_case_1" time="135"> </testcase> |
Passed |
<testcase classname="tests.LoginTests" name="test_case_1" time="135">
<failure type="errorType" message="Failure message">
Error (stacktrace)
</failure>
</testcase>
|
Failed |
<testcase classname="tests.LoginTests" name="test_case_1" time="135">
<skipped type="skipType" message="Skip test">
Test skipped by user
</skipped>
</testcase>
|
Retest |
属性のデータと、<failure> および <skipped> タグのテキストが下記のフォーマットでテスト結果のコメントに追加されます。
Type: errorType Message: Failure message Text: Error (stacktrace)
JUnit テストケース プロパティ
レポートにカスタム プロパティを追加することで、テスト ケースおよびテスト結果のデータを補足できます。サポートされるプロパティとその意味は、下の表に示されています。
| 名前 | TestRail でのマッピング |
|---|---|
testrail_case_field |
テスト ケース フィールド |
testrail_result_field |
テスト結果フィールド |
testrail_result_comment |
テスト結果のコメントに値を追加します。 |
testrail_attachment |
テスト結果にアップロードする添付ファイルのパスです (最大 256MB) |
これらのプロパティの一部は単一の値だけを要求しますが、フィールド プロパティは、フィールド名と対応する値を必要とします。そのようなプロパティについては、field_name:field_value というフォーマットを使用します。これらのプロパティの使用方法の詳細は、TestRail CLI 使用例ページを参照してください。
<testsuites name="test suites root">
<testsuite failures="0" errors="0" skipped="1" tests="1" time="3049" name="tests.LoginTests">
<testcase classname="tests.LoginTests" name="test_case_1" time="650">
<properties>
<property name="testrail_case_field" value="custom_preconds:My preconditions"/>
<property name="testrail_case_field" value="type_id:3"/>
<property name="testrail_result_field" value="version:1.1"/>
<property name="testrail_result_field" value="custom_field:custom_value"/>
<property name="testrail_result_step" value="passed: Insert login credentials"/>
<property name="testrail_result_step" value="failed: Click submit"/>
<property name="testrail_result_step" value="untested: User should be logged in"/>
<property name="testrail_result_comment" value="Finding 1"/>
<property name="testrail_result_comment" value="Finding 2"/>
<property name="testrail_attachment" value="path_to/logs.log"/>
<property name="testrail_attachment" value="path_to/screenshot.jpg"/>
</properties>
</testcase>
</testsuite>
</testsuites>