Postman 테스트를 사용하여 변수를 채우는 방법
문제
저는 최근에 몇 가지 API를 빌드하고 Postman을 사용하여 테스트하고 있습니다. 컬렉션을 만들고 여기에 대한 모든 요청을 만들고 폴더에 그룹화했습니다.
나는 Postman 변수를 많이 사용하여 경로, 보낼 데이터 등을 채웁니다.
또한 내 API는 JWT 토큰을 사용하여 내 요청을 인증하고 여기에서 볼 수 있듯이 물론 모든 요청에 변수를 사용했습니다.
그리고 그것은 훌륭하게 작동합니다. 저에게 유일한 문제는 토큰이 일정 시간이 지나면 만료된다는 것입니다. 수명이 긴 JWT 토큰을 사용하지 않으므로(사용해서는 안 됩니다) 만료될 때마다 로그인 엔드포인트를 호출하고 인증하고 토큰을 복사하고 변수에 붙여넣습니다.
그리고 싫어하는 것이 있다면 반복적인 작업이다.
해결책
그래서 이것을 자동화할 수 있는 방법이 있는지 알아보기 위해 Google에 검색하기 시작했고 "Scripting in Postman documentation"에서 답을 찾았습니다.
내가 찾은 것은 JavaScript 코드를 작성하여 엔드포인트에 대한 테스트를 작성할 수 있다는 것입니다. 이 코드는 그 자체로 매우 유용하며 곧 시작하겠지만 사용 가능한
pm
개체를 사용할 수 있다는 것도 알게 되었습니다. 테스트 편집기에서 프로그래밍 방식으로 변수를 작성할 수도 있습니다!그래서 로그인 끝점을 편집하고 "테스트"옵션(이미지 참조)을 선택한 다음 스크립트 작성을 시작했습니다.
다음은 일반 JavaScript인 스크립트입니다.
const { token } = pm.response.json();
// Write to collection variables
pm.collectionVariables.set('jwt_token', token);
pm.test('It should contain the token', () => {
pm.expect(token).to.be.a('string');
});
따라서 Postman을 통해 엔드포인트를 실행하면 테스트가 실행되고 응답 데이터를 읽고 여기에서
token
변수를 가져온 다음 해당 변수를 사용하여 내 컬렉션 변수를 채우면 됩니다.이제 해당 엔드포인트를 실행하면 다른 모든 엔드포인트는 해당 변수를 사용하는 한 올바른 JWT 토큰으로 작동합니다.
놀랍습니다!
또한 내 예제에서는 컬렉션 변수를 사용하지만 전역, 환경 및 로컬 변수에 대해서도 동일한 작업을 수행할 수 있습니다. 여기에 몇 가지 예가 있습니다.
// Global
pm.globals.set("variable_key", "variable_value");
// Enviroment
pm.environment.set("variable_key", "variable_value");
// Collection
pm.collectionVariables.set("variable_key", "variable_value");
// Local variables
pm.variables.set("variable_key", "variable_value");
이러한 변수를 가져오거나 설정 해제할 수도 있습니다. 예를 들면 다음과 같습니다.
// get a variable value
const myVar = pm.variables.get("variable_key");
// unset a variable
pm.variables.unset("variable_key");
자세한 내용은 Postman related docs에서 확인할 수 있습니다.
Reference
이 문제에 관하여(Postman 테스트를 사용하여 변수를 채우는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/darkmavis1980/how-to-use-postman-tests-to-populate-variables-3mln텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)