如何测试使用UFT返回JSON响应的Restful服务?

时间:2015-11-17 12:55:10

标签: hp-uft

我一直在使用QTP 11,现在我们不得不迁移到UFT 12.02。

我们有一些REST服务来测试,问题是它在手动完成后会提供JSON响应。我之前没有使用过C#,所以我可以使用UFT API配置这个服务,并使用我习惯的VB脚本验证响应。

我尝试了以下内容:

    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

但是我没有可用的dll,我无法使用此测试URL。 如果这是正确的方式,那么任何人都可以告诉我如何安装此DLL。

1 个答案:

答案 0 :(得分:3)

UFT内部使用Newtonsoft.Json框架(与许多其他HPE产品一样),因此它已经包含了这样的DLL。 您只需要更新指向UFT \ bin目录的路径,默认情况下为:

lib = "C:\Program Files (x86)\HP\Unified Functional Testing\bin\Newtonsoft.Json.dll"

现在,从API测试的角度来看,您可以使用检查点来验证结果。 See Image