Forum Discussion

ChethanMS's avatar
12 years ago

How to feed data from an excel to an array?

Hi,

Can anyone please let me know how can I pass values to an array?
I have a requirement where a set of values occur more than once. The number of times the set occur differs for each request. Please help me to automate this scenario.

Thanks,
Chethan

6 Replies

  • Hi,

    You can add a DataSource test step, add excel file as DataSource and add a groovy script test step, add a loop.
    So lets assume that you have a DataSource property "number" which you want to add in array. Create a test case property "main_array".

    DataSource
    Groovy Script test step
    Data Source loop (DataSource > Groovy Script test step)

    In the groovy script test step add,

    if( context["array"] == null ) context["array"] = []

    context["array"] << context.expand( '${DataSource#Number}' )

    //log.info context["array"]
    // Set the array in testcase property named main array
    testRunner.testCase.setPropertyValue( "main_array", context["array"])



    This should work!

    Thanks,
    Jeshtha
    • Gareth's avatar
      Gareth
      New Contributor

      Hi,

       

      I have the same problem but the solution proposed does not work.

       

      I get this error when running the Groovy script:

       

      groovy.lang.MissingMethodException: No signature of method: com.eviware.soapui.impl.wsdl.WsdlTestCasePro.setPropertyValue() is applicable for argument types: (java.lang.String, java.util.ArrayList) values: [modelOptions, [W5]] Possible solutions: setPropertyValue(java.lang.String, java.lang.String), getPropertyValue(java.lang.String) error at line: 7

       

      It seems the code is attempting to set a property with an array (java.util.ArrayList) but the method only works setting a string (java.lang.String). I have searched the forums for a solution to this i.e. setting a property with an array - but have not found it.

       

      Can you please advise how to take a list of values (e.g. in Excel) and then convert that to an array (JSON in this case) to set in a Request.

      • JKambli's avatar
        JKambli
        Icon for Staff rankStaff

        Convert the array to string since testCase properties can only save strings, you can reconvert it to array when you wish to reuse it.

         

        Thanks