Как создать агрегированный отчет о тестировании спокойствия в параллельном конвейере Дженкинса - PullRequest
0 голосов
/ 27 мая 2018

Мы параллельно запускаем декларативный конвейер Jenkins для сценариев разнесенного тестирования и используем спокойствие для создания отчетов о тестировании.В настоящее время мы должны проверять различные отчеты о тестировании в соответствии с конкретными сценариями тестирования (например, 10 сценариев тестирования с 10 отчетами о спокойствии).Теперь мы хотим сгенерировать только 1 агрегированный отчет.Как настроить в конвейере?Пожалуйста, верните мне, если вам нужна дополнительная информация.Спасибо за чью-либо помощь.

pipeline {
agent { node ("cm-linux") }
stages {
    stage('run-parallel-regression-testing') {
        steps {
            parallel(
                Run1_LoginPage: {
                  node('cm-windows'){
                  withEnv(["JAVA_HOME=${tool '1.8.0.65_Windows'}", "PATH+MAVEN=${tool 'maven-3.0.4'}/bin"]){
                    deleteDir()
                    checkout([$class: 'GitSCM',
                    branches: [[name: '*/Ted']],
                    doGenerateSubmoduleConfigurations: false,
                    extensions: [],
                    gitTool: 'GIT_windows',
                    submoduleCfg: [],
                    userRemoteConfigs: [[credentialsId: '<Credential>',
                    url: '<GITHUB ADDRESS>']]])
                  bat 'mvn clean -Dtest=Run1_LoginPage -Dwebdriver.remote.url="<seleniumgrid hub address>" verify'
                    publishHTML([allowMissing: false,
                    alwaysLinkToLastBuild: true,
                    keepAll: true,
                    reportDir: 'target\\site\\serenity',
                    reportFiles: 'index.html',
                    reportName: 'Run1_LoginPage'])
                          }
                      }
                  },
                Run2_SearchTab: {
                  node('cm-windows'){
                  withEnv(["JAVA_HOME=${tool '1.8.0.65_Windows'}", "PATH+MAVEN=${tool 'maven-3.0.4'}/bin"]){
                    deleteDir()
                    checkout([$class: 'GitSCM',
                    branches: [[name: '*/Ted']],
                    doGenerateSubmoduleConfigurations: false,
                    extensions: [],
                    gitTool: 'GIT_windows',
                    submoduleCfg: [],
                    userRemoteConfigs: [[credentialsId: '<credential id>',
                    url: '<github address>']]])
                  bat 'mvn clean -Dtest=Run2_SearchTab -Dwebdriver.remote.url="<seleniumgrid hub address>" verify'
                    publishHTML([allowMissing: false,
                    alwaysLinkToLastBuild: true,
                    keepAll: true,
                    reportDir: 'target\\site\\serenity',
                    reportFiles: 'index.html',
                    reportName: 'Run2_SearchTab'])
                        }
                    }
                },

                Run4_AccountTab: {
                  node('cm-windows'){
                  withEnv(["JAVA_HOME=${tool '1.8.0.65_Windows'}", "PATH+MAVEN=${tool 'maven-3.0.4'}/bin"]){
                    deleteDir()
                    checkout([$class: 'GitSCM',
                    branches: [[name: '*/Ted']],
                    doGenerateSubmoduleConfigurations: false,
                    extensions: [],
                    gitTool: 'GIT_windows',
                    submoduleCfg: [],
                    userRemoteConfigs: [[credentialsId: '<credential id>',
                    url: '<github address>']]])
                  bat 'mvn clean -Dtest=Run4_AccountTab -Dwebdriver.remote.url="<seleniumgrid hub address>" verify'
                    publishHTML([allowMissing: false,
                    alwaysLinkToLastBuild: true,
                    keepAll: true,
                    reportDir: 'target\\site\\serenity',
                    reportFiles: 'index.html',
                    reportName: 'Run4_AccountTab'])
                            }
                        }
                    },
                Run3_CustomerTab: {
                  node('cm-windows'){
                  withEnv(["JAVA_HOME=${tool '1.8.0.65_Windows'}", "PATH+MAVEN=${tool 'maven-3.0.4'}/bin"]){
                    deleteDir()
                    checkout([$class: 'GitSCM',
                    branches: [[name: '*/Ted']],
                    doGenerateSubmoduleConfigurations: false,
                    extensions: [],
                    gitTool: 'GIT_windows',
                    submoduleCfg: [],
                    userRemoteConfigs: [[credentialsId: '<credential id>',
                    url: '<github address>']]])
                  bat 'mvn clean -Dtest=Run3_CustomerTab -Dwebdriver.remote.url="<seleniumgrid hub address>" verify'
                    publishHTML([allowMissing: false,
                    alwaysLinkToLastBuild: true,
                    keepAll: true,
                    reportDir: 'target\\site\\serenity',
                    reportFiles: 'index.html',
                    reportName: 'Run3_CustomerTab'])
                            }
                        }
                    }
            )
        }
    }
}

}

1 Ответ

0 голосов
/ 10 января 2019

Посмотрите здесь: https://serenity -bdd.github.io / theserenitybook / latest / serenity-parallel.html # _configuring_parallel_batch_execution_with_jenkins_2_dsl

, сохранив частичные результаты и удалив их одинпо одному в конце вы получите папку со всеми результатами теста, скопированными вместе.

Чего не хватает в этом примере, так это этапа агрегации.Вы должны запустить «mvn serenity: aggregate» перед публикацией отчета.Он объединяет все результаты одного теста на странице обзора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...