Возникла проблема с чтением названия тестового набора и его статуса с помощью groovy - PullRequest
0 голосов
/ 12 февраля 2019

Я нахожусь в процессе создания сводного отчета для выполнения теста, но я не уверен, где это пошло не так.

Ниже приведен код, который я использовал в сценарии установки: {code}

groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
projectPath = groovyUtils.projectPath
Date date = new Date()
dateTime = date.format('ddMMyy_hhmmss_S').toString()

folderCreate = new File(groovyUtils.projectPath+"\\MySummaryReports");
if(!folderCreate.exists()) {
    folderCreate.mkdirs();
}

context.testSteps=0
context.runners = []
context.testcasenames = []
context.testcasedescription = []
context.filenames = []
context.testcaseStatus = []
context.testcasesTimeTaken = []
context.rowIndex = []
context.prevTime = 0.00

Ниже приведен код для сценариев разрыва:

Date date = new Date()
dateTime = date.format('ddMMyy_hhmmss_S').toString()

groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
projectPath = groovyUtils.projectPath

def totalNoOfSuccessTestcases = 0
def totalNoOfFailedTestcases = 0
double totalTime = 0.0;

for(status in context.testcaseStatus)
{
    if(status.toString()=="FAILED")
    {
        totalNoOfFailedTestcases++
    }
}

try
{
    totalNoOfSuccessTestcases = context.testcasenames.size() - totalNoOfFailedTestcases;
    context.totalNoOfSuccessTestcases = totalNoOfSuccessTestcases
    context.totalNoOfFailedTestcases = totalNoOfFailedTestcases
}catch (Throwable e)
{
    log.info "error: "+e;
}

for(time in context.testcasesTimeTaken){
    totalTime   = totalTime+time;
}

int totalTime1 = totalTime.round()

log.info "totalTime1: "+totalTime1
int hours = totalTime1 / 3600;
int minutes = (totalTime1 % 3600) / 60;
int seconds = totalTime1 % 60;


//context.suiteTime = twoDigitString(hours) + ":" + twoDigitString(minutes) + ":" + twoDigitString(seconds);
//log.info "SuiteTime: "+context.suiteTime;

groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
def testSuiteName = testRunner.testCase.testSuite.name

try
{

    def tcCount = 0;

    for( runner in context.testcasenames )
    {
        log.info(context.testcaseStatus[tcCount].toString() +  "  " + context.testcasenames[tcCount]  )

        if(context.testcaseStatus[tcCount].toString()=="FAILED")
        {
            log.info "test case failed";
        }
        else
        {
            log.info "test case passed";
        }
        tcCount++;
    }
    //writer.write("</TABLE>")
    //writer.write("</html>")
    //writer.flush();
    //writer.close();
}
catch (Throwable e)
{
    log.info "error: "+e;
}




{code}

Я просто пытаюсь распечатать детали в журнале, но не получаю точный вывод.

Примечание: как только я получу вывод, я напишу файл HTML для того же.

...