UFT11.50 - 服务测试 - 如何从响应正文中获取数据

时间:2013-03-01 06:06:59

标签: testing service qtp hp-uft

{
    "Id": 456,
    "Type": null,
    "Name": "Store112",
    "Root": "\\\\server\\ShareFolder",
    "Username": "alm",
    "Password": null
}

这是来自HTTP请求的JSON文件响应主体,如何获取“ID”属性的值? UFT QTP 是否有支持此功能的功能?

2 个答案:

答案 0 :(得分:3)

为了使用响应中的特定JSON属性,您应该执行以下操作。

  1. 在属性窗格
  2. 中选择 HTTP 标签
  3. 响应正文部分,从下拉列表中选择JSON
  4. 加载预期JSON响应的示例 Screen shot of steps 1-3
  5. 然后在要使用该值的活动中,点击输入参数的链接图标,选择 HTTP 标签,然后从输出<中选择Id属性/ strong>部分。 Linking the value

答案 1 :(得分:1)

使用QTP10本身不可能这样做,但取决于你想从JSON文件中获得多少数据(只有ID或者你想解析整个事物)以及JSON文件有多复杂(多个子对象)等)你可以使用以下策略:

  1. 最通用:尝试查找VBScript JSON解析器like these guys
  2. 最hackery:创建Internet Explorer应用程序实例,将(java)脚本元素附加到空文档,并将此元素内的响应主体评估为变量。通过读出DOM将此变量作为对象导入QTP。现在,您可以通过id = ImportedObject.ID
  3. 获取ID
  4. 最简单:使用正则表达式在响应正文中获取类似""ID"": *([^,]*)的模式的ID。
  5. 除非您想从JSON文件中获取更多信息,否则我会选择3。