It all started when I tried to work with SharePoint webservices. In this post in stackOverflow , Gloria has defined that if we get a WSDL file then we will be able to get the services in UFT.There was another great post in stackoverflow, showing to define and call an API test from GUI test. I compiled all of them and came up with a set of steps that can be performed to configure Sharepoint Webservices and get data from it using UFT.
How To Configure SharePoint’s Services In UFT ?
As per MSDN site if we get the sharepoint url , and add “_vti_bin/Lists.asmx?WDSL” to the end of the url ,I will be able to get the WSDL file for the corresponding url.
The WSDL will look like- http://server:port/ _vti_bin/Lists.asmx?WDSL.
By this way, I was able to transformed the sharepoint url to equivalent WSDL file. Precondition was to have access to the sharePoint.
Here is a step by step guide to configure the same in UFT and make it a Reusable API Call.
Step-1
Open UFT-> Click on New->Test->Select API Test->Provide the Name of the script->select the location to save the script->Click ok
Step-2
Double Click on the Test Flow-> Click on Import WSDL(situated in the second ribbon , just under run)->Select import from URL Checkbox and provide address as the WSDL link we have created above->Click ok
Step-3
In the left hand side , we will find tool box. If we observe the toolbox, we will get two activities:
1. Local Activities if expanded we will get the webservices->Lists SOAP->Methods
2. Standard Activities if expanded we will get the list of standard operations
Step-4
Drag any services for example I have dragged- GetListAndView into test folder from the webservices list. Also drag WriteToFile from standard activities. The objective here to get the response from the API call and store in a File for further processing.
Step-5
Go to right hand side of the test folder, we will get properties,under properties we will find a drop down . Select start there. Upon selecting start, we need to go to the test input/output parameters.
We need to create Input parameters as –
1. ListName
2. FileName
The objective is to call this API test from some other test and pass these values as parameter to this test.
Step-6
Select the same drop down to get GetListAndView(The service name) under properties.Under Test input/output parameter ->Click on Grid->If we scroll further down, we will get Body tag. Under that we will find ListName.
Click on the anchor icon (Link to data source)->This will open a new window->Under Link from section->select available steps radio->inside Test-> Select Start->right side , it will open all available parameters->Select ListName->Click ok
Now we can see under Body tag the listName value will be binded as
{Step.outputProperties.StartActivity.ListName}
equivalent xml will be:
<ListName>({Step.outputProperties.StartActivity.ListName}_Link(xyz))</ListName>
Step-7
In this step we need to tell UFT to store the output result to a file. Select writeToFile operation under properties from the dropdown.
We can see there are set of inputs. We need to set them one by one. I have set the below values:
Set Content->
Similarly select the anchor icon(Link to data source)-> this content is nothing but our response xml of the webservice. So select the “available steps” radio in the “Link from” level
Select TestFlow->GetListAndView(the service name) ->go to the output tab->Expand the body till second level->Select the node whose child is any.
For this case it was GetListAndViewResult->Click ok
The key content will have the value as-
{Step.outputProperties.stServiceCallActivity18.Body.GetListAndViewResponse.GetListAndViewResult}
Set Mode->Select create new file. I always prefer this as output is not messed up. It always create a new file.
Set Encoding->ASCII
Append new Line-> true
Set File Path-> This is where we will instruct UFT to store the file in the user defined name and path.Click on the anchor icon(Link to data source)->It will open a data source to link->select available steps radio in the link from area.
Expand Test->Select Start->right hand side, we will see all the parameters created under Start->Select FileName->Click ok
The key File path will be populated with the value-
{
Step.OutputProperties.StartActivity.FileName}
Now we have successfully created the reusable webservice Test.