Дата проверки равна вчерашней дате с использованием POSTMAN - PullRequest
0 голосов
/ 05 декабря 2018

Я выполняю запрос GET, используя POSTMAN, и ответ JSON ниже:

{
    "Version": "1.0.524.0",
    "BuildName": "Live",
    "BuildDate": "04/12/2018 18:58:50.85 \r\n"
}

Дата сборки увеличивается на единицу каждый день, и я хочу написать скрипт, чтобы проверить, была ли увеличена датаа если нет, то это проваленный тест.В настоящее время у меня есть это:

pm.test("Check Build Date", function (CheckDate) {
    pm.expect(pm.response.text()).to.include("04/12/2018 18:58:50.85");
});

Однако я знаю, что если я запусту этот скрипт завтра, он не будет работать, и я получу следующую ошибку:

FAIL Check Build Date | AssertionError: expected '{"Version":"1.0.524.0","BuildName":"Live","BuildDate":"05/12/2018 18:58:50.85 \\r\\n"}' to include '04/12/2018 18:58:50.85'

Кто-нибудь может помочь, пожалуйста?

1 Ответ

0 голосов
/ 05 декабря 2018

Если ваше тело ответа является объектом, как в вашем вопросе, вы можете использовать pm.response.json().BuildDate и проверить, что оно равно этому значению.

pm.test("Check Build Date", () => {
    pm.expect(pm.response.json().BuildDate).to.equal("04/12/2018 18:58:50.85 \r\n");
});

Не уверен, почему у вас есть эти \r\n значения в строке в этом ответе, они кажутся мне не в том месте.


Чтобы узнать, что день увеличился на 1, вам необходимо сохранить состояние последнего запуска и проверить его.Вы могли бы это сделать, установив ее как переменную environment.

Отправьте первоначальный запрос, чтобы получить и установить BuildDate.Теперь у вас будет это значение для использования в Check запросе.

pm.environemnt.set('lastBuildDate', pm.response.json().BuildDate)

В запросе на проверку вы можете получить что-то вроде этого:

const moment = require('moment')

let dateDiff = moment(pm.reponse.json().BuildDate).isAfter(pm.environment.get('lastBuildDate'))

pm.test("Check Build Date", () => {
    pm.expect(dateDiff).to.be.true
})

Если вы просто хотите что-то, что проверяет, если BuildDate после того, как вы делаете запрос - Вы можете использовать что-то вроде этого:

const moment = require('moment')

let dateNow  = moment().format("DD/MM/YYYY hh:mm:ss.SS")
let dateDiff = moment(pm.response.json().BuildDate).isAfter(dateNow)

pm.test("Check Build Date", () => {
    pm.expect(dateDiff).to.be.true
})

Это, очевидно, не то, что вы хотите сделать, но я бы посоветовал взглянуть на * 1027Модуль * momentjs , как вы видите, это то, что вы можете использовать для своего случая использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...