Forum Discussion
Hi Dave,
You have Datasource's which I guess means you have the licensed version of SoapUI.
Datasources and datasource loops are for data driven (aka functional) tests whereby you exercise one or more service calls using the datasource values as parameters for the service call(s).
The most simplest example might look like
Assuming the data source content looks like this....
| Customer ID | Customer Name |
| 1 | John |
| 2 | Paul |
| 3 | George |
| 4 | Ringo |
The Datasource would look like this....
The service call being exercised then needs to pick up the Customer Id to use in this iteration. E.g.
The $ syntax above reads the current customerId value from the datasource.
You can type this directly, or use the nifty Get Data option. Click in the Value cell and ensure the cursor is there. Sometimes you have to double-click. Then right-mouse click to open the context menu. Select Get Data.
The Get Data screen allows you to navigate around your Workspace to select the value you want to pull in. E.g.
If you've followed this far, you'll see that using the datasource and 'Get Data' you can exercise one service call with almost unlimited values. You don't need separate service call test steps per row in the datasource.
You could then extend the test to call additional services to form sort of use case. E.g. Get Customer, Amend Customer, Customer places order. Each step would be called once per iteration...
IMHO, the data-driven tests are the best feature of ReadyAPI and are definitely worth persevering with.
Here is a link to SMartBears own guide... https://support.smartbear.com/readyapi/docs/testing/data-driven/index.html?sbsearch=Data%20Driven%20Tests
That makes sense (and I use each day) if you want to use data from "Row 1" in each "Test Step Request".
but in my example, I will have different assertions for each "Test Step Request".
e.g. Row 1 data for Customer ID1 will have credit limit of 1000 and current sale = 1200 so ASSERTION is FAILED CREDIT CHECK.
Row 2 data for CUSTOMER ID 2 will have credit limit of 1000 and current sale = 900 so ASSERTION wil be to check that response is PASSED CREDIT Check.
Each test step will have a different test result. I could create multiple Test cases in ReadyAPI but that would mean having multiple datasources to manage with 1 test entry in each excel. messy.