【问题标题】:Google Postman: How to get properties of an ArrayGoogle Postman:如何获取数组的属性
【发布时间】:2017-03-15 16:53:54
【问题描述】:

我在检查这个 json 属性时遇到了问题。我想测试一下,如果formName是“TestForm_WF1”,但我不知道如何编写测试来检查这个奇怪的命名数组的属性:

{
  "#!#": [
    {
      "_type": "wfdocument",
      "formName": "TestForm_WF1",

通常我会得到一些输出,例如

[
  {
    "_type": "application",
    ...

我可以使用以下 forEach 函数进行测试:

var response = JSON.parse(responseBody);
response.forEach( function(entry) {
   test["foo"] = entry._type === "application";
   ... 
});

反过来说,属性有自己的属性,可以像这样进行测试:

输出:

{
  "license": {
    "_type": "license",
    ...

测试用例:

var jsonData = JSON.parse(responseBody);
tests["bar"] = jsonData.license._type === "license";

【问题讨论】:

  • 您最后的编辑是另一个问题,所以您需要问另一个问题。
  • 关于您的第二个问题,有两个结果,因为您正在插入两个唯一键。要区分键,请添加索引:response["#!#"].forEach(function(entry, i) => { test[i + "_foo"] = ... })
  • 再次感谢!我是新人,但下次我会记住这一点。

标签: javascript json testing automated-tests postman


【解决方案1】:

对不能与点表示法一起使用的字符使用方括号表示法:

var response = JSON.parse(responseBody);
response["#!#"].forEach( function(entry) {
   test["foo"] = entry._type === "application";
   ... 
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-12
    • 2019-03-15
    • 1970-01-01
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多