Eviware Forum

soapUI => soapUI => Topic started by: Daniel-yip on March 19, 2008, 10:27:32 am



Title: How to transfer some output to properties
Post by: Daniel-yip on March 19, 2008, 10:27:32 am
I was find a java coding and I want to use the output value for properties transfer, however I don't know how to do. Can you teach me? Thanks

import java.util.Random;

/** Generate random integers in a certain range. */
public final class RandomRange {
 
  public static final void main(String[] args){
    log("Generating random integers in the range 1..10.");
   
    int START = 100;
    int END = 256;
    Random random = new Random();
    for (int idx = 1; idx <= 10; ++idx){
      showRandomInteger(START, END, random);
    }
   
    log("Done.");
  }
 
  private static void showRandomInteger(int aStart, int aEnd, Random aRandom){
    if ( aStart > aEnd ) {
      throw new IllegalArgumentException("Start cannot exceed End.");
    }
    //get the range, casting to long to avoid overflow problems
    long range = (long)aEnd - (long)aStart + 1;
    // compute a fraction of the range, 0 <= frac < range
    long fraction = (long)(range * aRandom.nextDouble());
    int randomNumber =  (int)(fraction + aStart);   
    log("Generated : " + randomNumber);

  }
 
  private static void log(String aMessage){
    System.out.println(aMessage);
    
  }
}


--------------------------------------------------

I was using following coding, but it not work.

def props = testRunner.testCase.getTestStepByName("Properties");    
props.setPropertyValue("randomValue", randomNumber)


Title: Re: How to transfer some output to properties
Post by: omatzura on March 19, 2008, 03:20:01 pm
Hi!

hmm.. what error(s) are you getting?

regards,

/Ole
eviware.com


Title: Re: How to transfer some output to properties
Post by: Daniel-yip on March 26, 2008, 07:19:20 am
ERROR:org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, Script1.groovy: 40: unexpected token: randomNumber @ line 40, column 54.org.codehaus.groovy.syntax.SyntaxException: unexpected token: randomNumber @ line 40, column 54.
   at org.codehaus.groovy.antlr.AntlrParserPlugin.parseCST(AntlrParserPlugin.java:83)
   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(Unknown Source)
   at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
   at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
   at java.awt.Component.processMouseEvent(Unknown Source)
   at javax.swing.JComponent.processMouseEvent(Unknown Source)
   at java.awt.Component.processEvent(Unknown Source)
   at java.awt.Container.processEvent(Unknown Source)
   at java.awt.Component.dispatchEventImpl(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Window.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: Script1.groovy:40:54: unexpected token: randomNumber
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.statement(GroovyRecognizer.java:1079)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.blockBody(GroovyRecognizer.java:1245)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.closableBlock(GroovyRecognizer.java:7097)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.appendedBlock(GroovyRecognizer.java:9580)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.pathElement(GroovyRecognizer.java:9515)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.pathExpression(GroovyRecognizer.java:9145)
   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.strictContextExpression(GroovyRecognizer.java:7464)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.argument(GroovyRecognizer.java:11862)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.argList(GroovyRecognizer.java:5885)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.methodCallArgs(GroovyRecognizer.java:9773)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.pathElement(GroovyRecognizer.java:9500)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.pathExpression(GroovyRecognizer.java:9145)
   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.expressionStatement(GroovyRecognizer.java:7209)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.statement(GroovyRecognizer.java:1053)
   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



Title: Re: How to transfer some output to properties
Post by: Daniel-yip on March 31, 2008, 11:29:04 am
Anyone can help me?


Title: Re: How to transfer some output to properties
Post by: omatzura on March 31, 2008, 11:40:17 am
Hi Daniel,

the error indicates that the "randomValue" variable has not been defined in your script.. Can you show the exact contents of your Groovy Script Step?

regards,

/Ole
eviware.com


Title: Re: How to transfer some output to properties
Post by: Daniel-yip on April 01, 2008, 11:08:22 am
I don't know how to modify the groovy script and let it correct. Can you teach me? Thanks a lot.

Groovy Script:
----------------------------------------

import java.util.Random;

/** Generate random integers in a certain range. */
public final class RandomRange {
 
  public static final void main(String[] args){
    log("Generating random integers in the range 100..999.");
   
    int START = 100;
    int END = 999;
    Random random = new Random();
    for (int idx = 1; idx <= 1; ++idx){
      showRandomInteger(START, END, random);
    }
   
    log("Done.");
  }
 
  private static void showRandomInteger(int aStart, int aEnd, Random aRandom){
    if ( aStart > aEnd ) {
      throw new IllegalArgumentException("Start cannot exceed End.");
    }
    //get the range, casting to long to avoid overflow problems
    long range = (long)aEnd - (long)aStart + 1;
    // compute a fraction of the range, 0 <= frac < range
    long fraction = (long)(range * aRandom.nextDouble());
    int randomNumber =  (int)(fraction + aStart);   
    log("Generated : " + randomNumber);

  }
 
  private static void log(String aMessage){
    System.out.println(aMessage);
    
  }
}

def props = testRunner.testCase.getTestStepByName("Properties");    
props.setPropertyValue("randomValue", String.valueOf{randomNumber))

--------------------------------------

Error:
Tue Apr 01 18:09:54 CST 2008:ERROR:org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, Script2.groovy: 40: unexpected token: randomNumber @ line 40, column 54.org.codehaus.groovy.syntax.SyntaxException: unexpected token: randomNumber @ line 40, column 54.
   at org.codehaus.groovy.antlr.AntlrParserPlugin.parseCST(AntlrParserPlugin.java:83)
   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(Unknown Source)
   at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
   at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
   at java.awt.Component.processMouseEvent(Unknown Source)
   at javax.swing.JComponent.processMouseEvent(Unknown Source)
   at java.awt.Component.processEvent(Unknown Source)
   at java.awt.Container.processEvent(Unknown Source)
   at java.awt.Component.dispatchEventImpl(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Window.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: Script2.groovy:40:54: unexpected token: randomNumber
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.statement(GroovyRecognizer.java:1079)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.blockBody(GroovyRecognizer.java:1245)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.closableBlock(GroovyRecognizer.java:7097)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.appendedBlock(GroovyRecognizer.java:9580)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.pathElement(GroovyRecognizer.java:9515)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.pathExpression(GroovyRecognizer.java:9145)
   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.strictContextExpression(GroovyRecognizer.java:7464)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.argument(GroovyRecognizer.java:11862)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.argList(GroovyRecognizer.java:5885)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.methodCallArgs(GroovyRecognizer.java:9773)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.pathElement(GroovyRecognizer.java:9500)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.pathExpression(GroovyRecognizer.java:9145)
   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.expressionStatement(GroovyRecognizer.java:7209)
   at org.codehaus.groovy.antlr.parser.GroovyRecognizer.statement(GroovyRecognizer.java:1053)
   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



Title: Re: How to transfer some output to properties
Post by: omatzura on April 01, 2008, 01:55:05 pm
Hi,

hmm.. what exactly do you want the randomValue to contain? (ie range, etc.)

regards,

/Ole
eviware.com


Title: Re: How to transfer some output to properties
Post by: Daniel-yip on April 02, 2008, 04:53:43 am
A fixed length random number


Title: Re: How to transfer some output to properties
Post by: omatzura on April 02, 2008, 06:40:57 am
ok.. just try something like

def randomNumber = (int)(Math.random()*10000)
def props = testRunner.testCase.getTestStepByName("Properties");   
props.setPropertyValue("randomValue", String.valueOf{randomNumber))

to set a random int between 0 and 10000

Hope this helps!

regards,

/Ole
eviware.com


Title: Re: How to transfer some output to properties
Post by: Daniel-yip on April 02, 2008, 11:06:13 am
Thanks......but I require the random number with fixed length size. e.g from 1 to 9 or 1000 to 9999 or 1000000000 to 9999999999,....,etc

How can I limit the output random number will jump into specific range?


Title: Re: How to transfer some output to properties
Post by: Daniel-yip on April 08, 2008, 08:30:21 am
Anyone can help?


Title: Re: How to transfer some output to properties
Post by: omatzura on April 09, 2008, 12:46:05 am
Hi,

well, if you want it between 1 to 9, try using

def randomNumber = 1 + (int)(Math.random()*9)
...

or between 1000 to 9999, try using

def randomNumber = 1000 + (int)(Math.random()*9000)
...

etc.

regards,

/Ole
eviware.com


Title: Re: How to transfer some output to properties
Post by: Daniel-yip on April 10, 2008, 09:00:51 am
Hi,

Thanks so much. I was try the

def n = (int)(10)
def randomNumber4 =(int)(Math.pow(10,n-1))+(int)(Math.random()*9*(Math.pow(10,n-1)))
def props = testRunner.testCase.getTestStepByName("Properties");   
props.setPropertyValue("randomValue4", String.valueOf(randomNumber4))


I find that if the n>=10, the random number is incorrect.  Is it exist a limit of properties.

..........

def n = (int)(11)
def randomNumber5 =(int)(Math.pow(10,n-1))
def props = testRunner.testCase.getTestStepByName("Properties");   
props.setPropertyValue("randomValue5", String.valueOf(randomNumber5))

If the n is 11, the value of randomNumber5 in properties is 2147483647. How to increase the limit of these properties?


Title: Re: How to transfer some output to properties
Post by: omatzura on April 10, 2008, 02:13:02 pm
Hi!

try using long or double types instead.. !?

/Ole
eviware.com


Title: Re: How to transfer some output to properties
Post by: Daniel-yip on April 23, 2008, 02:52:58 am
long or double types still not enoug, but I find another way to solve my problem.........anyways thank you so much for your help.