Background The program is about implementing new Internet Banking platform that aims to consolidate numerous internet instances across the Banking Group onto a shared platform and to implement new functionality for Group Businesses. The program is structured into a number of releases.
The Test Data is required for the different work streams
- Unit and Component Integration Test Data
- System and System Integration Test Data
- Automation Testing Team — Regression Test Data
- Non Functional Test Data
- Business Team — User Acceptance Test Data
Problem Statement
- Numerous amount of test data request to be catered within given time frame.
- Considerable amount of manual effort needed to create & tweak the test data using Web applications, different desktop application, Mainframe systems
- Delivery slippage risk due to unavailability of the above said applications.
- Manual data tweaking through mainframe systems was cumbersome & time consuming.
Solution
- Investigation done to find out APIs responsible for data creation & tweaking through backend
- Developed automation framework including combination of APIs, web applications &
Mainframe system in logical sequence, to do tweaking on the base accounts
API Automation
- Directly can fire the APIs through Microsoft.XMLDOM and XMLHTTP objects for this we have to create a template XML file form the WSDL
- Controller will call a specific API with the required data to be updated in existing XMLs. To update the XML for example <VBScript>
Variables details
strPath (The Directory Path)
srcCCXMLPath(Source XML File Path)
XMLNewFile(Updated XML will be saved on this Location)
destCCXMLPath(Response for the API will saved on this path)
strUpdate(A string with the Node Name and the Values with the separators i.e “;” and “=” )
LinkBUrl(API to be fired on this destination)
Response(Boolean Value for the result of API)
Sample Code
strPath=Environment.Value(“TestDir”)
Set fso = CreateObject(“Scripting.FileSystemObject”)
TestPath = fso.Getparentfoldername(strPath)
srcCCXMLPath = TestPath & “\XML_Template\” & CCXML
destCCXMLPath = TestPath & “\XML_Template\CreditCardXML_Resp.XML”
#And then we calls the reusable functions to update and sent the API on the URL
strUpdatedXML = fnUpdateXML(srcLinkBXMLPath,strUpdate)
#Function body to update the XML File
‘********************************************************************’FUNCTION HEADER
********************************************************************’Name: fnUpdateXML
‘Description: This function is for updating the existing XML file with the passed parameters
‘Input Parameter: XML file name, String in “XMLtag=XMLValue” format
‘ObjectName : XML DOM Object
‘Created By: Kuldeep Sharma ‘*****************************************
Public Function fnUpdateXML(ByVal XMLNewFile, ByVal strUpdateString)
arrSplitNode = split(strUpdateString,”;”)
For i=0 to ubound(arrSplitNode)
arrValue = split(arrSplitNode(i),”=”)
Set xmlDoc = CreateObject( “Microsoft.XMLDOM” )
xmlDoc.load(XMLNewFile)
Set objNodeList = xmlDoc.getElementsByTagName(arrValue(0))
set str = objNodeList.Item(0)
str.text = arrValue(1)
strUpdateXML = xmlDoc.text
xmlDoc.Save(XMLNewFile)
Next
Set xmlDoc = nothing
fnUpdateXML = strUpdateXML
End Function
# We can send this request to the URL with the XMLHTTP Objects
Response = SendXML(srcLinkBXMLPath,destLinkBXMLPath,LinkBUrl)
‘********************************************************************************* ‘FUNCTION HEADER
‘*********************************************************************************
‘Name: SendXML
‘Description: This function is to send the XML to the specified server
‘Input Parameter: source XML file name, Destination XML file name, Server URL
‘ObjectName : XML DOM Object, XML HTTP Object
‘Created By: Kuldeep Sharma ‘*********************************************************************
Set xmlhttp = CreateObject(“Microsoft.XMLHTTP”)
xmlhttp.open “POST” ,url, False
Set xmldom = CreateObject(“Microsoft.XMLDOM”)
xmldom.load(srcXMLFile)
xmlhttp.send xmldom
xmlhttp.ResponseXML.Save(destXMLFile)
resp = FetchXML(destXMLFile, “SeverityCode”)
If resp = “0” Then
SendXML = True
Else
SendXML = False
End If
Set xmlhttp = nothing
Set xmldom =nothing
End Function
”*******************************************************************
Function FetchXML is to ready the API Response if it is Passed
”*********************************************************************’FUNCTION HEADER ‘**********************************************************************
‘Name: FetchXML
‘Description: This function is for fetching XML tag value
‘Input Parameter: XML file name, XML tag name
‘ObjectName : XML DOM Object
‘********************************************************
Public Function FetchXML(ByVal XMLNewFile, ByVal XMLTag)
On Error Resume next
Set xmlDoc1 = CreateObject( “Microsoft.XMLDOM” )
xmlDoc1.load(XMLNewFile)
Set objNodeList = xmlDoc1.getElementsByTagName(XMLTag)
set str = objNodeList.Item(0)
XMLTagValue = str.text
FetchXML = XMLTagValue
Set xmlDoc1 =nothing
End Function
‘****************************************************************************
Features & Benefits
Features
- Factory Model Framework
- Unique Solution of its Kind
- Error Handling on code and functional level
- Plug and Play framework (Completely Modular)
- User Friendly
Benefits
- High Effort Saving.
- Less Manual intervention ensures less probability of error
- Less dependency on UI
- 50 % of effort saving.