Дженкинс не создает отчеты о тестировании JUnit из тестов Katalon в Workspace - PullRequest
0 голосов
/ 06 июня 2018

Вчера я написал и запустил набор тестов Katalon, а сегодня я пытаюсь интегрировать Katalon с Jenkins.Я успешно настроил Jenkins, создал новое задание для тестирования Katalon, в соответствии с этими инструкциями , но когда я начал его собирать, я получаю неудачные сборки.

В частности, я получаю сообщение об ошибке:

Recording test results
ERROR: Step ‘Publish JUnit test result report’ failed: No test report files were found. Configuration error?
Finished: FAILURE

Я скопировал структуру папок Reports из каталога проекта, который я указал, в рабочее пространство Jenkins.После более поздней проверки я обнаружил, что когда Дженкинс выполнял тесты Katalon, файл JUnit_Report.xml фактически создавался в папке Reports проекта, а не в %JENKINS_HOME%\workspace\[project name]\Reports.Я явно сказал ему, чтобы генерировать протоколы испытаний для: Reports/LoginSuite/*/JUnit_Report.xml.

enter image description here

ПРИМЕЧАНИЕ. Я работаю на компьютере с ОС Windows.

Как это исправить, чтобы я мог отображать результаты теста изДженкинс?!

ОБНОВЛЕНИЕ : я изменил свой код оболочки Windows на следующий

C:

cd C:\Katalon

katalon -runMode=console -projectPath="C:\Users\mwarren\Katalon Studio\TestProject" -reportFolder="../../.jenkins/workspace/Katalon Studio Tests/Reports" -reportFileName="report" -retry=0 -testSuitePath="Test Suites/LoginSuite" -browserType="Chrome"

, и он все еще выдает мне ту же ошибку, хотя сейчас тестысоздаются там.

Ответы [ 4 ]

0 голосов
/ 23 августа 2019

Согласно этой ветке , это может произойти при попытке выполнить два экземпляра Katalon одновременно.

Если это так, попробуйте изменить число исполнителей Дженкинса 1.

0 голосов
/ 19 сентября 2018

Скопируйте все отчеты во временную папку, переименуйте каждый xml с именем контрольного примера, а затем скопируйте его обратно в папку junit.

testCasesTxt = sh (
    script: 'sudo find $WORKSPACE -name "*.ts*" -type f -printf "%f\n"',
    returnStdout: true
).trim()

testCasesTxt = testCasesTxt.replace(".ts", "")
testCases =  testCasesTxt.split("\n")


for (int i = 0; i < testCases.size(); i++) {

        script {
            try {
                wrap([$class: 'Xvfb']) {
                    sh """
                                                    cd /opt/katalon
                                                    ./katalon -noSplash -consoleLog  -runMode=console -projectPath=$WORKSPACE/"katalon-project.prj" -reportFolder="Reports" -reportFileName="report" -retry=0 -testSuitePath="Test Suites/${testCases[i]}" -executionProfile="qa" -browserType="Chrome"


                                                    """
                }
            } catch (any) {
                 currentBuild.result = 'FAILURE'
                 throw any //rethrow exception to prevent the build from proceeding
            } finally {

                sh """
                        cd  /home/environment/tmp/
                        cd Reports
                        mkdir  ${testCases[i]}
                        cd $WORKSPACE
                        cp -r Reports/ /home/environment/tmp/Reports/${testCases[i]}
                        cd  /home/environment/tmp/Reports/${testCases[i]}/Reports
                        mv  JUnit_Report.xml  JUnit_Report_${testCases[i]}.xml
                        cd $WORKSPACE
                        cp -r "Data Files/" "/home/environment/tmp/"
                                                """
                //
            }



    }
}
0 голосов
/ 09 июля 2019

Папка отчета создается в папке заданий jenkins.This worked for me Отчеты / ** / JUnit_Report.xml

0 голосов
/ 06 июня 2018

PEBKAC, по-видимому.Я должен был, с getgo, выслушать Дженкинса и установить мой Test Report XMLs как */JUnit_Report.xml

...