ПОСТМАН - Неудачный тест, чтобы быть правдой - PullRequest
0 голосов
/ 24 января 2019

Как новичок у меня есть несколько вопросов Я использую запрос Get, который заполнил бы json ниже.

https://reqres.in/api/users

{
    "total": 12,
    "total_pages": 4,
    "data": [{
        "id": 1,
        "first_name": "George",
        "last_name": "Bluth",
        "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/calebogden/128.jpg"
    }]
}

для 2 тестов, указанных ниже, в то время как 1-й тест проходит, 2-й тест завершается неудачно с сообщением:

 AssertionError: expected false to be truthy

    //Verify Page number total is 12
    var jsonData = JSON.parse(responseBody);
    tests["Checking total page number-Manual"] = jsonData.total === 12;

    //verify is exists and is 1
    var jsonData = JSON.parse(responseBody);
    tests["Checking ID exists and is 1"] = jsonData.id === 1;

Вопрос 1: Пост Github, который я нашел, говорит, что может быть ошибка, и предлагает использовать вместо этого новый эквивалент pm. * Однако я не вижу никакой разницы между 1-м и 2-м. Так почему же 2-й тест провалился?

Вопрос 2: Можно ли написать тест, чтобы убедиться, что для ID: 1 имя - Джордж?

Заранее спасибо за ваше время.

1 Ответ

0 голосов
/ 25 января 2019

Причина, по которой ваш второй тест не пройден, заключается в том, что данные являются массивом, и в этом случае вы должны получить доступ к первому элементу.Вы хотели бы сделать что-то вроде этого (новый синтаксис):

pm.test("Verify id is equal to 1", function() {
    var jsonData = pm.response.json();
    pm.expect(jsonData.data[0].id).to.equal(1);
});

Аналогично для тестирования имя зовут Джордж:

pm.test("Verify id is equal to 1", function() {
    var jsonData = pm.response.json();
    pm.expect(jsonData.data[0].first_name).to.equal("George");
});

Если вы всегда ожидаете, что это будет только один элементв массиве вы можете использовать индекс 0, то есть data [0].Однако, если вы ожидаете, что в массиве данных будет больше элементов, вам придется перебирать их, чтобы найти правильный элемент.

Вот хороший справочник по API:

https://learning.getpostman.com/docs/postman/scripts/postman_sandbox_api_reference/

...