Я работаю в Postman и хочу построить такую конструкцию теста:
var login_status = pm.environment.get("LOGIN_STATUS");
var jsonData = pm.response.json();
pm.test("TESTS", function () {
if (login_status === 1) {
pm.expect...(test 1);
}else if (login_status === 2) {
pm.expect...(test 2);
}else if (login_status === 3) {
pm.expect...(test 3);
но у меня работает не так, как я хочу.
По моей логике, Postman должен проверять статус входа и использовать только один pm.expect ... в соответствии со значением login_status.
Как я могу использовать оператор if в Postman? Спасибо!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Оператор сравнения, который вы используете, возвращает false, поскольку он проверяет тот же type, попробуйте использовать ==, а не ===.
Значения, хранящиеся в файле среды Postman, представляют собой string, и в тесте вы выполняете строгое равенство с number.
Вы также можете попробовать изменить значение number на значение string, например login_status === "1", или использовать строгое неравенство, чтобы тип, который вы используете, не имел значения, например, этот login_status !== 2.
Вы даже можете просто использовать функцию parseInt(), когда получаете значение из файла.
parseInt(pm.environment.get("LOGIN_STATUS"))
Это полностью зависит от вас и того, как вы хотите построить чек.
Более подробную информацию об операторе сравнения можно найти здесь: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Identity
Пожалуйста. :) Вы хотите принять этот ответ?
Что не работает? Не могли бы вы предоставить более подробную информацию? Выдает ошибку?