Forum Discussion

BhuvanShanmugam's avatar
BhuvanShanmugam
Contributor
16 years ago

Groovy script to log req/resp data.

Hi,

I used one of the groovy scripts found in the forum to write out the message data to a file.

It created the file as specified, but the output is actually displayed in the MS-DOS window that started the UI.

Here is a screen shot of the script and test case.

Am I missing something here ?

Bhuvan.

5 Replies

  • omatzura's avatar
    omatzura
    Super Contributor
    Hi!

    maybe you need to use "c:\\out.txt" as the path?

    regards,

    /Ole
    eviware.com
  • Ole,

    All of the following creates the file but writes to the MSDOS window.

    C:\\out.txt
    C://out.txt
    C:/out.txt

    But C:\out.txt throws an exception as below.

    The same holds true for lower case c: as well.

    Bhuvan.


    Fri Aug 08 10:00:15 BST 2008:ERROR:org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, Script19.groovy: 2: unexpected char: '\' @ line 2, column 30.org.codehaus.groovy.syntax.SyntaxException: unexpected char: '\' @ line 2, column 30.
    at org.codehaus.groovy.antlr.AntlrParserPlugin.parseCST(AntlrParserPlugin.java:78)
    at org.codehaus.groovy.control.SourceUnit.parse(SourceUnit.java:239)
    at org.codehaus.groovy.control.CompilationUnit$1.call(CompilationUnit.java:143)
    at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:772)
    at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:438)
    at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:271)
    at groovy.lang.GroovyShell.parseClass(GroovyShell.java:488)
    at groovy.lang.GroovyShell.parse(GroovyShell.java:500)
    at groovy.lang.GroovyShell.parse(GroovyShell.java:480)
    at groovy.lang.GroovyShell.parse(GroovyShell.java:539)
    at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.compile(SoapUIGroovyScriptEngine.java:87)
    at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:58)
    at com.eviware.soapui.support.scripting.groovy.SoapUIProGroovyScriptEngineFactory$SoapUIProGroovyScriptEngine.run(SourceFile:51)
    at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:140)
    at com.eviware.soapui.impl.wsdl.panels.teststeps.GroovyScriptStepDesktopPanel$RunAction.actionPerformed(GroovyScriptStepDesktopPanel.java:238)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
    at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
    at java.awt.Component.processMouseEvent(Component.java:6038)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
    at java.awt.Component.processEvent(Component.java:5803)
    at java.awt.Container.processEvent(Container.java:2058)
    at java.awt.Component.dispatchEventImpl(Component.java:4410)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
    at java.awt.Container.dispatchEventImpl(Container.java:2102)
    at java.awt.Window.dispatchEventImpl(Window.java:2429)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
    Caused by: Script19.groovy:2:30: unexpected char: '\'
    at org.codehaus.groovy.antlr.parser.GroovyLexer.mESC(GroovyLexer.java:2123)
    at org.codehaus.groovy.antlr.parser.GroovyLexer.mSTRING_CTOR_END(GroovyLexer.java:2169)
    at org.codehaus.groovy.antlr.parser.GroovyLexer.mSTRING_LITERAL(GroovyLexer.java:1928)
    at org.codehaus.groovy.antlr.parser.GroovyLexer.nextToken(GroovyLexer.java:449)
    at org.codehaus.groovy.antlr.parser.GroovyLexer$1.nextToken(GroovyLexer.java:233)
    at groovyjarjarantlr.TokenBuffer.fill(TokenBuffer.java:69)
    at groovyjarjarantlr.TokenBuffer.LA(TokenBuffer.java:80)
    at groovyjarjarantlr.LLkParser.LA(LLkParser.java:52)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.nls(GroovyRecognizer.java:706)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.newExpression(GroovyRecognizer.java:11495)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.primaryExpression(GroovyRecognizer.java:9232)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.pathExpression(GroovyRecognizer.java:9119)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.postfixExpression(GroovyRecognizer.java:11303)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.unaryExpressionNotPlusMinus(GroovyRecognizer.java:11272)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.powerExpressionNotPlusMinus(GroovyRecognizer.java:10976)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.multiplicativeExpression(GroovyRecognizer.java:10908)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.additiveExpression(GroovyRecognizer.java:10578)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.shiftExpression(GroovyRecognizer.java:7915)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.relationalExpression(GroovyRecognizer.java:10483)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.equalityExpression(GroovyRecognizer.java:10423)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.regexExpression(GroovyRecognizer.java:10371)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.andExpression(GroovyRecognizer.java:10339)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.exclusiveOrExpression(GroovyRecognizer.java:10307)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.inclusiveOrExpression(GroovyRecognizer.java:10275)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.logicalAndExpression(GroovyRecognizer.java:10243)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.logicalOrExpression(GroovyRecognizer.java:10211)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.conditionalExpression(GroovyRecognizer.java:4110)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.assignmentExpression(GroovyRecognizer.java:8892)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.expression(GroovyRecognizer.java:6815)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.varInitializer(GroovyRecognizer.java:2378)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.variableDeclarator(GroovyRecognizer.java:6692)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.variableDefinitions(GroovyRecognizer.java:1959)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.declaration(GroovyRecognizer.java:1828)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.statement(GroovyRecognizer.java:987)
    at org.codehaus.groovy.antlr.parser.GroovyRecognizer.compilationUnit(GroovyRecognizer.java:667)
    at org.codehaus.groovy.antlr.AntlrParserPlugin.parseCST(AntlrParserPlugin.java:74)
    ... 40 more

    1 error
  • omatzura's avatar
    omatzura
    Super Contributor
    Hi,

    hmm.. maybe out is a reserved name in some way.. try using fileOut instead.. and fileName "c:\\out.txt" !?

    regards,

    /Ole
    eviware.com
  • Trying c:\\out.txt instead of c:/out.txt is a wrong track.
    Windows inside uses the forward slash as path separator.
    It is only the very upper layer (cmd.exe) that insists on using
    backslash. When used programmatically it is better to use
    c:/out.txt
  • Praveen_Dsouza's avatar
    Praveen_Dsouza
    Occasional Contributor
    Hi All,

    Instead of a txt file please let me know how to create an HTML file. Also in the HTML file I need to put the assertions like "success" or "failure" for each operation.

    Thanks.