Forum Discussion

Ashik's avatar
Ashik
Occasional Contributor
13 years ago

Bug on soapui

Hi folks,
Am working on groovy scripts on soapui normal version.When i write the data's to external excel file,the file gets unfound, it becomes 0kb and i couldnt write anything.Could anyone please help me out to bdebug this error.

Ashik

4 Replies

  • It's most likely a bug in your Groovy script, not in SoapUI.
  • Ashik's avatar
    Ashik
    Occasional Contributor
    hi...
    this is the scripts...i spent a lot on this..could you help me out.


    import java.io.File;
    import com.eviware.soapui.support.*;
    import java.util.*;
    import java.util.Date;
    import jxl.*;
    import jxl.write.*
    import java.lang.*;


    def Exp_Value = context.expand( '${EXPECTED VALUE}' )
    log.info (Exp_Value)
    def Response_Value = context.expand( '${SUM}' )
    log.info (Response_Value)



    if (Exp_Value == Response_Value)
    {
    def getStep = testRunner.testCase.getTestStepByName( "Properties" )
    getStep.setPropertyValue("Teststatus", "PASSED")
    }
    else
    {
    def getStep = testRunner.testCase.getTestStepByName( "Properties" )
    getStep.setPropertyValue("Teststatus", "FAILED")
    }


    def test_status = context.expand( '${Teststatus}' )
    log.info(test_status)

    Workbook workbook1 = Workbook.getWorkbook(new File("D:\\data\\write.xls"));

    WritableWorkbook objWritableExcel = Workbook.createWorkbook(new File("D:\\data\\write.xls"), workbook1)

    WritableSheet objSheet = objWritableExcel.getSheet(0);

    k = objSheet.getRows();
    l = objSheet.getColumns();

    for (tc_row in 1..k-1)

    Label N1 = new Label(0,tc_row,Exp_Value)
    objSheet.addCell(N1)
    Label N2 = new Label(1,tc_row,Response_Value)
    objSheet.addCell(N2)
    Label N3 = new Label(2,tc_row,test_status)
    objSheet.addCell(N3)
    objWritableExcel.write()
    objWritableExcel.close()
    workbook1.close()
    testRunner.gotoStepByName( "Groovy Script1")

  • import java.io.File;
    import jxl.*;
    import jxl.write.*

    Workbook wb
    WritableWorkbook workbook
    WritableSheet sheet
    def Label label
    def row = 0
    def col = 0

    def excelfile = new File("D:/books/write.xls")

    if(!excelfile.exists()) {
    //if it does not exist, crate it and write to the first row
    workbook = Workbook.createWorkbook(excelfile)
    sheet = workbook.createSheet('SheetName', 0)

    label = new Label(0, row, 'Exp_Value')
    sheet.addCell(label)
    label = new Label(1, row, 'Response_Value')
    sheet.addCell(label)
    label = new Label(2, row, 'test_status')
    sheet.addCell(label)
    row++;
    } else {
    wb = Workbook.getWorkbook(excelfile)
    workbook = Workbook.createWorkbook(excelfile, wb)
    sheet = workbook.getSheet('SheetName')

    //if it does exist, write some values
    row = sheet.getRows()

    number = 1

    (1 .. 3).each {
    (0 .. 2).each {
    column ->
    label = new Label(column, row, number.toString())
    sheet.addCell(label)
    number++
    }

    row += 1
    }
    }




    workbook.write()
    workbook.close()

    if (wb != null)
    {
    wb.close()
    }
  • This

    Workbook workbook1 = Workbook.getWorkbook(new File("D:\\data\\write.xls"));

    WritableWorkbook objWritableExcel = Workbook.createWorkbook(new File("D:\\data\\write.xls"), workbook1)


    will only work, if the file already exists.