Entering input values for messages can be a manual task. However, when a large number of input values are involved this process can be automated by using external data sources such as RDBMS, Microsoft Excel Spreadsheets or flat files that contain input values. In this tutorial, we will develop a test suite that uses an external Excel Data Source.
This tutorial is a continuation of SOAPSonar Introduction Tutorial 2 – Functional Testing and has prerequisites from that Tutorial
Before starting this Tutorial, the user should ensure they switch SOAPSonar to QA Mode and Project view
1. Create & Populate an Excel Spreadsheet TestData.xls with the first row labeled as State and Population. Populate the values in this spread sheet. As sample Excel file is shown below.
3. Verify that the Excel spreadsheet has been properly loaded, click on the spreadsheet name in t he list of data sources and then click on the REFRESH followed VIEW DATA buttons. The Data contents of the spreadsheet will be displayed in the pop-up window.
4. For testing a Web Services API that returns state population we need to provide State as an input parameter. This value will populate directly from the above created Automation Data Source (ADS). Lets clone a new test first to work with and rename it Autostate in the same way we clones Maryland in Tutorial 2
5. Go to your request and Put your cursor after “for=state:”. Right click to open submenu. Go to [ADS] Automation Data Source -> Quick Select->TestData.xlsx->State. Notice as SOAPSonar automatically recognizes that the data source was added to the project and allows you to automate test input parameters.
6. Once you select the Automatic Data Source (ADS) State as inputs for the request, unique reference IDs for the data sources starting with $ads: will appear. COMMIT
7. Go to Success Criteria tab delete anything entered here. We will create a new success criteria later in this tutorial. SAVE
8. Go to the Run View clear out any other tests and Drag-and-Drop the Autostate to Test Suite under the Default Group as shown in the Figure below. COMMIT. The RUN. Once the test suite is executed, click on Analyze Results in Report View. The test case iterates through all four State values and substitute values in the request as expected.
Testers can generate comprehensive test suite values by simply pointing to reusable data source such as an Excel spreadsheet or a RDBMS. Many of these are available free or commercially. Greatly reducing the time needed to run a test and increasing the number of possible inputs resulting in more testing and higher quality
So far we looked at Automating Requests using ADS. Now, let’s look at automating response validation from the service.
9) Go back to Project View and then Success Criteria Tab and add a new XPath Match criteria. SOAPSonar will automatically recognize that Web Service API response will be in JSON Format. Right-click on the JSON value 37253956 node and select Compare Element Value( to validate Population).
10. Go to Criteria Rules tab and delete hardcoded value 37253956.
Click on CHOOSE DYNAMIC CRITERIA. Select Current Variables-> $ads:Population:F09C24D4$. COMMIT the test. SAVE.
11. Go to Run View and RUN the test. Now SOAPSonar will not only look at the HTTP response code but also compare Value that was returned by the service with expected results stored in Excel file. Did all 4 pass?
12. Lets set one to fail. Go back and edit your Testdata.xls file with a line 6. Fill in say state 25 and put 25 under the population as well. Save your Excel file and rerun the test. Can you see 5 tests where now run and 1 failed?