Как получить значения из Get Response Body - Robot framework - PullRequest
0 голосов
/ 25 августа 2018
**Output from Response Body**
{"data":[{"id”:122,"name”:”Test 1“,”description”:”TEST 1 Test 2 …..}]},{"id”:123,"name”:”DYNAMO”……}]},{"id”:126,”name”:”T DYNAMO”……

*** Keywords ***    
Capture The Data Ids 
@{ids}=     Create List    122  123  126  167  190   
    ${header}    Create Dictionary    Authoriztion...   
    ${resp}      Get Response    httpsbin    /data    

    ${t_ids}=       Get Json Value    ${resp.content}    /data/0/id

Проблема

Я создал список вышеуказанных идентификаторов в тестовом примере, и мне нужно сравнить созданные данные с идентификатором, возвращенным в теле ответа.t_ids возвращает 122, а когда 0 заменяется на 1, возвращает 123

Вместо того, чтобы захватывать отдельные идентификаторы, возможно ли поместить их в цикл for?

: FOR $ {i} IN $ {ids} \ $ {the_id = Получить значение Json $ {resp.content} / data / $ {i} / id?

Я пробовал этои не удалось.

Каково возможное решение для сравнения идентификаторов из данных ответов с созданным списком?

Спасибо.

1 Ответ

0 голосов
/ 27 августа 2018

Возможно то, что вы хотите, но всегда полезно знать, какую структуру данных содержит ваша переменная. В приведенном ниже примере загрузка файла JSON заменяет полученный ответ в ${resp.content}. Насколько мне известно, это строка, которая также возвращает Get File.

Пример разбит на файл json и файл робота.

so_json.json

{
    "data":[
        {
            "id":122,
            "name": "Test 1",
            "description": "TEST 1 Test 2"
        },
        {
            "id": 123,
            "name": "DYNAMO"
        },
        {
            "id": 126,
            "name": "T DYNAMO"
        }
        ]
 }

so_robot.robot

*** Settings ***
Library    HttpLibrary.HTTP
Library    OperatingSystem    
Library    Collections    


*** Test Cases ***
TC
    ${json_string}  Get File    so_json.json
    ${json_object}  Parse Json    ${json_string}
    :FOR  ${item}    IN    @{json_object['data']}
    \    Log To Console    ${item['id']}

Что, в свою очередь, дает следующий результат:

==============================================================================
Robot - Example                                                             
==============================================================================
Robot - Example.SO JSON                                                     
==============================================================================
TC                                                                    122
123
126
| PASS |
------------------------------------------------------------------------------
Robot - Example.SO JSON                                               | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Robot - Example                                                       | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...