t.me/atinfo_chat Telegram группа по автоматизации тестирования

Проблема отображения названия @Step в allure-report, если запуск тестов осуществляется с jar файла

Теги: #<Tag:0x00007f9b0f15bc18> #<Tag:0x00007f9b0f15ba38> #<Tag:0x00007f9b0f15b8d0> #<Tag:0x00007f9b0f15b740>

Добрый день,
возникла проблема с изображением названия @Step в allure report, если запускаем тесты уже с готового JAR файла.

Если в pipeline не указана jar, а запускаем с обычного gradla, то все отлично, видим название @Step

Перебрала всю pipelinu и build.gradle но так и не могу понять что ещё надо добавить

Вот рабочая часть build.gradle s allure i Shadowjar:

...
plugins {
...
    id 'io.qameta.allure' version '2.8.1'
...}
allure {
    version = '2.13.2'
    autoconfigure = true
    aspectjweaver = true
    allureJavaVersion = '2.13.2'
}
dependencies{
...
implementation group: 'io.qameta.allure', name: 'allure-selenide', version: '2.13.2'
implementation group: 'io.qameta.allure', name: 'allure-testng', version: '2.13.2'
...
}
...
import com.github.jengelman.gradle.plugins.shadow.transformers.*
shadowJar {
    zip64 true
    manifest {
        attributes 'Implementation-Title': 'Testing Jar File',
                'Main-Class': 'project/.../'
    }
    from sourceSets.test.output
    configurations = [
            project.configurations.compileClasspath,
            project.configurations.testRuntime
    ]
    exclude '**/Log4j2Plugins.dat'
    // Required for Spring
    mergeServiceFiles()
    append 'META-INF/spring.handlers'
    append 'META-INF/spring.schemas'
    append 'META-INF/spring.tooling'
    transform(PropertiesFileTransformer) {
        paths = ['META-INF/spring.factories' ]
        mergeStrategy = "append"
    }
}
publishing {
    publications {
        shadow(MavenPublication) { publication ->
            project.shadow.component(publication)
        }
    }
    repositories {
        maven {
            url 'https://nexus.../'
            credentials {
                username = username
                password = password
            }
        }
    }
}

Вот часть pipeline в которой указанo использование jar и публикация алуре репорта:

...
              stage('Get TEST jar from Nexus') {
                when { environment name: 'JAR_EXEC', value: 'true' }
                steps {
                    // GET latest available version of artifact from NEXUS
                    // Artifact name defined in variable ARTIFACT_NAME
                    sh 'curl -s --cacert /certificate....pem -X GET "https://nexus...=jar" -L -o "${ARTIFACT_NAME}" > /dev/null'
                }
            } // stage: get test
...
 stage('Execute test suite from JAR') {
                when { environment name: 'JAR_EXEC', value: 'true' }
                environment {
                    LC_ALL = 'en_US.UTF-8'
                    LANG    = 'en_US.UTF-8'
                    LANGUAGE = 'en_US.UTF-8'
                    TESTNG_PARAMS = extendedChoiceParameter.getTestNgCliParams()
                    EXEC_PARAMS = "-Dselenide.remote=https://../hub -Dselenide.browserSize=1920x1080 -Dcapabilities.browserName=chrome -Dcapabilities.browserVersion=80.0 -Dchromeoptions.args=no-sandbox,disable-dev-shm-usage -Dcapabilities.enableVNC=true -Dcapabilities.enableVideo=false"
                }
                steps {
                    script {
                        if (env.TEST_NOTIFICATION_TO_SLACK && Boolean.parseBoolean("${env.TEST_NOTIFICATION_TO_SLACK}")) {
                            echo 'Enable TEST-Slack notification'
                        } else {
                            // disable it as default
                            env.TEST_NOTIFICATION_TO_SLACK = "false"
                        }

                        // Prepare workspace, cleanup result folders if exists
                        sh 'if [ -d "${WORKSPACE}/build" ]; then rm -Rf "${WORKSPACE}/build"; fi'
                        sh 'if [ -d "${WORKSPACE}/allure-report" ]; then rm -Rf "${WORKSPACE}/allure-report"; fi'
                        sh 'if [ -d "${WORKSPACE}/test-output" ]; then rm -Rf "${WORKSPACE}/test-output"; fi'
                        sh 'if [ -d "${WORKSPACE}/allure-results" ]; then rm -Rf "${WORKSPACE}/allure-results"; fi'
                    }
                    println("SUITE_FILE: "+SUITE_FILE)
                    println("TESTNG_PARAMS: "+TESTNG_PARAMS)
                    println("EXEC_PARAMS: "+EXEC_PARAMS)
                    wrap([$class: 'BuildUser']) {
                        sh "java ${EXEC_PARAMS} ${TESTNG_PARAMS} -TESt_NOTIFICATION_TO_SLACK=${TEST_NOTIFICATION_TO_SLACK} -jar ${ARTIFACT_NAME} ${SUITE_FILE}"
                    }

                    // Handle TestNG report
                    sh 'if [ -d "${WORKSPACE}/test-output" ]; then cp -R "${WORKSPACE}/test-output" "${WORKSPACE}/build/reports/tests/test-output"; fi'
                }
            }
        } // stages
        post('Publish Allure report') {
            always {
                script {
                    allure([
                        includeProperties: false,
                        jdk: '',
                        properties: [],
                        reportBuildPolicy: 'ALWAYS',
                        results: [[path: 'build/allure-results']]
                    ])

                    if("${currentBuild.currentResult}" == 'UNSTABLE') {
                        currentBuild.result = 'FAILURE'
                        echo "Test failures appear mark the build as FAILED"
                    }  
                }
                
                dir('build/reports/tests/') {
                    echo 'Publish properties'
                    sh 'for file in * ; do if [[ ! "$file" == "remoteChromeTest" ]]; then newFileName=`echo "$file" | tr -d "[:space:]" | tr -d "[:blank:]" | tr -cd \\\'.A-Za-z0-9_\\\'` ; mv -- "$file" "$newFileName" || true ; fi ; done'
                    sh 'ls -lhati'
                    archiveArtifacts artifacts: '**',
                            excludes: 'test/**',
                            allowEmptyArchive: true
                }

Если кто-то сталкивался с данной проблемой и решил ее, подскажите пожалуйста, как вы это решили.

Ниже приложила куски репортов

Заранее благодарю

withoutSteps - там где запускаем тесты с jar

withSteps - там где groovy файл без упоминания jar файла и билдим с гредла