Ask a Question

URGENT- SOAPUI- Dynamical XML for creating elements

SOLVED
skaushik9
Occasional Contributor

URGENT- SOAPUI- Dynamical XML for creating elements

Hi, I have a below structure in my Test case

Note - I am using Soapui PRO

1) Data source - reading multiple rows from Excel file
2) Request method
3) Data source loop

When I run the test case, data source takes multiple rows from the Excel file. It loops each row and generates separate XML file for each row. For example

Message 1 for first row in Excel

Header XML elements
<......>
Child XML elements

Ship no 1
Qty 1
Batch number 001

Message 2 for second row in Excel

Header XML elements

Child XML elements

Ship no 2
Qty 5
Batch number 002

_-----------++++++----------

What I want is

Message

Header XML elements

Child XML elements

Ship no 1
Qty 1
Batch number 001

Ship no 2
Qty 5
Batch number 002
8 REPLIES 8
nmrao
Champion Level 2

You may need to change the approach.
What purpose it is solving to have excel? Instead why can't you have desired request in the request itself?


Regards,
Rao.
skaushik9
Occasional Contributor

Thanks for picking this up.

As my number of lines may be different in each request for example it may be 3 or 4 or 6 etc so I am using Excel to pass data to request instead of creating XML elements based on data and hardcoding them with parameters.

Thanks

skaushik9
Occasional Contributor

Rao - Should I provide more details on my requirements or it's clear. See above post
nmrao
Champion Level 2

But the way you have the data is not allowing you to achieve what you are looking for. Then what is the use of data source which you currently have?


Regards,
Rao.
skaushik9
Occasional Contributor

Rao - Can you suggest right solution for my requirements

I have data in Excel sheet. Rows can change for each call to the request. Sometimes I get 2 lines and sometimes I get 3 lines.

I want to ready and pass data from Excel sheet and dynamically created nodes in XML in one message itself

Message Example

Header

......

Nodes

< Item no = ? >
< Batch number =?>

Nodes elements should be dynamically added based on number of rows in Excel


Please advise

Thanks

Sameer Kaushik
skaushik9
Occasional Contributor

Rao - Please advise the solution for my requirements.

I need to read data from Excel and then create child XML nodes based on number of rows in Excel which will be dynamic
skaushik9
Occasional Contributor

Rao - Any update or advice you can provide on above

Sameer Kaushik
Nastya_Khovrina
SmartBear Alumni (Retired)

Hi skaushik9,

 

The DataSource Loop isn't helpful here. If you use it the request is sent each time when you iterate through rows.

 

You can do the following:

1. Continue using the Excel file as a source, but use a Groovy script to read the data from it. 

2. Store the data in the XML file. In this case, you will be able to use the DataSource of the Directory (xml) or File (txt) type to read all the content and write to one property.

Please see the screenshots: 

 

DataSource - Directory

ReadyAPI_2019-04-03_14-41-35.png

ReadyAPI_2019-04-03_14-44-03.png

DataSource - File

ReadyAPI_2019-04-03_14-44-47.png

 


Did my reply answer your question? Give Kudos or Accept it as a Solution to help others. ⬇️⬇️⬇️
cancel
Showing results for 
Search instead for 
Did you mean: