tonicforhealth/testrail-report-aggregator

Tool to aggregation report from JUnit like format to TestRail run report.

v0.1.0 2016-06-03 14:32 UTC

This package is not auto-updated.

Last update: 2024-05-03 16:47:47 UTC


README

License Build Status Scrutinizer Code Quality Code Coverage SensioLabsInsight

Tool to aggregation report from JUnit like format to TestRail run report.

Installation using Composer

$ composer require tonicforhealth/testrail-report-aggregator

Junit report example

<?xml version="1.0" encoding="UTF-8"?>
<testsuites>
    <testsuite name="IDENT.IDENT2.1.9.4 description" tests="1" failures="0"/>
    <testsuite name="IDENT.IDENT2.1.9.5 description" tests="1" failures="0"/>
    <testsuite name="IDENT.IDENT2.1.9.6 description" tests="1" failures="1">
        <failure
                message="Some error text of the Test IDENT.IDENT2.1.9.6"/>
    </testsuite>
</testsuites>

Case sync use ident which find in the name by using regex ^[\w._-]+.[\w]+.[\w]+

Usage

<?php

        $testRunId = 1885;
        $apiUrl = 'https://test.testrail.com/index.php?/api/v2/';
        $user = 'dev@test.com';
        $passwordOrToken = 'chengeMePls'
        $junitXml = 'fixture/simple_junit_report.xml';

        $authentication = new BasicAuth(
            $user,
            $passwordOrToken
        );
        $plugins[] = new AuthenticationPlugin($authentication);

        $pluginClient = new PluginClient(HttpClientDiscovery::find(), $plugins);

        $httpMethodsClient = new HttpMethodsClient($pluginClient, MessageFactoryDiscovery::find());

        $junitReport = new JunitReport($junitXml);

        $testRailReportA = new JUnitToTestRailRunTransformer($testRunId);

        $testRailSync = new TestRailSync($apiUrl, $httpMethodsClient);

        $testRailReport = $testRailReportA->transform($junitReport);

        $testRailSync->sync($testRailReport);

        $testRailSync->pushResults($testRailReport);