I have been using QTP 11 and we have had to migrate to UFT 12.02 now.
We have some REST services which have come for testing and problem is that it gives a JSON Response when done manually. I have not worked on C# before so is there any way I can configure this service using UFT API and validate the response using VB script which I am accustomed to.
I tried the following:
Dim lib, url, xmlHttp, json, JsonConvert, xmlDoc
lib = "C:\Bin\Net35\Newtonsoft.Json.dll"
url = "http://api.geonames.org/citiesJSON?north=44.1&south=-9.9&east=-22.4&west=55.2&lang=de&username=demo"
Set xmlHttp = CreateObject("Microsoft.XMLHTTP")
xmlHttp.open "POST", url, False
xmlHttp.send
json = "{ ""?xml"": { ""@version"": ""1.0"", ""@standalone"": ""no"" }, ""root"":" & xmlHttp.responseText & "}"
Set JsonConvert = DOTNetFactory.CreateInstance("Newtonsoft.Json.JsonConvert", lib)
Set xmlDoc = JsonConvert.DeserializeXmlNode(json)
MsgBox xmlDoc.InnerXml
But I do not have the dll available with me, I am unable to test the URL with this. If this is the correct way then can anyone let me know how can I get this dll installed.
UFT internally uses Newtonsoft.Json framework (like many other HPE products), so it already includes such DLL. You just need to update the path to point to UFT\bin directory, which by default is:
lib = "C:\Program Files (x86)\HP\Unified Functional Testing\bin\Newtonsoft.Json.dll"
Now, from API testing perspective, you can use checkpoints to validate the results. See Image