Перейти к содержимому

walenberg

Регистрация: 12 дек 2018
Offline Активность: 15 мар 2019 17:52
-----

Мои темы

Postaman и тестирование *json ответа

12 марта 2019 - 21:24

всем привет, в общем мучаюсь второй день с попытками сделать автотесты api более универсальными.

В общем есть пример json ответа

{
    "channels": [
        {
            "display_alias": "pervijkanal",
            "sharing": true,
            "is_radio": false,
            "title": "Pervijkanal HD",
            "cid": "pervijkanal",
            "group_index": 0,
            "recording": true,
            "qualities": [
                {
                    "logo_black_84": "/images/channels/logos/2a2a4aee64bbd6f7f817/black/84x48.png",
                    "title": "Pervijkanal HD",
                    "stream_types": [
                        "hds",
                        "hls",
                        "smooth_playready",
                        "dash",
                        "dash_widevine",
                        "dash_playready",
                        "hls5_fairplay",
                        "hls7_fairplay",
                        "hls5",
                        "hls7"
                    ],
                    "level": "hd",
                    "logo_white_42": "/images/channels/logos/2a2a4aee64bbd6f7f817/white/42x24.png",
                    "logo_token": "2a2a4aee64bbd6f7f817",
                    "logo_black_42": "/images/channels/logos/2a2a4aee64bbd6f7f817/black/42x24.png",
                    "logo_white_84": "/images/channels/logos/2a2a4aee64bbd6f7f817/white/84x48.png",
                    "availability": "available"
                }
            ],
            "recommendations": true,
            "selective_recall_seconds": 1,
            "id": "pervijkanal",
            "aliases": [
                "Pervijkanal"
            ]
        },
        {
            "display_alias": "vtorojkanal",
            "sharing": true,
            "is_radio": false,
            "title": "Vtorojkanal HD",
            "cid": "vtorojkanal",
            "group_index": 0,
            "recording": true,
            "qualities": [
                {
                    "logo_black_84": "/images/channels/logos/42a29350387ee5fda8fe/black/84x48.png",
                    "title": "Vtorojkanal HD",
                    "stream_types": [
                        "hds",
                        "hls",
                        "smooth_playready",
                        "dash",
                        "dash_widevine",
                        "dash_playready",
                        "hls5_fairplay",
                        "hls7_fairplay",
                        "hls5",
                        "hls7"
                    ],
                    "level": "hd",
                    "logo_white_42": "/images/channels/logos/42a29350387ee5fda8fe/white/42x24.png",
                    "logo_token": "42a29350387ee5fda8fe",
                    "logo_black_42": "/images/channels/logos/42a29350387ee5fda8fe/black/42x24.png",
                    "logo_white_84": "/images/channels/logos/42a29350387ee5fda8fe/white/84x48.png",
                    "availability": "available"
                }
            ],
            "recommendations": true,
            "selective_recall_seconds": 1,
            "id": "vtorojkanal"
        }       
    ]
}

В этом ответе мне необходимо проверить display_alias

для каждого канала, их больше сотни.

 

Пытался сделать for, но получается ерунда.

Проверял путем 

tests["Pervijkanal.Display_alias"] = data.channels[0].display_alias === "pervijkanal"; 

но это не вариант, потому как позиция канала может измениться, и тогда все автотесты пойдут коту под хвост.

 

Может быть кто-то подскажет более элегантное решение?