POSTMAN에는 API Request를 자동으로 실행시켜주는 몇가지 도구들이 있습니다.
이번 포스트에서는 Newman
이라는, Postman을 CLI환경에서 사용할 수 있는 툴에 대해서 기재해보겠습니다.
Newman
이란, Command-line에서 직접 Postman의 collection을 실행하게 해줄 수 있는 CLI Tool입니다.
Newman
을 사용함으로 인해서
Newman
은 NodeJS를 통해 동작합니다. 설치하기 위해서는 npm
을 통해 아래의 커맨드가 필요합니다.
npm install -g newman
Newman
을 통해 Postman의 collection을 실행시키는 것은 간단합니다.
일단 Postman의 Web버전에서 Collection단위로 share하는 기능이 있습니다. 해당 기능을 이용하여 Public한 URL을 습득한 후, 터미널에서 아래와같이 실행해줍니다.
newman run {COLLECTION_URL}
혹은 Collection을 json형태로 export한 다음, json파일을 parameter로 넘겨 실행하는 방법도 있습니다.
newman run {filePath/COLLECTION.json}
이렇게하면 실행되고, 마지막에는 실행결과를 간략하게 보여줍니다.
그러나 위 방법은 약간 불편할 수 있는데, 그 이유로는 해당 URL이 작성되는 시점은, Collection request들의 snapshot을 토대로 URL이 생성된다는 것입니다. 즉 Collection내부의 request들이 추가되거나, 수정되어도 해당 URL로 실행되는 request들은 변경이 발생하기 전의 내용이라는 것이죠.
이럴때를 대비해서 newman은 API를 이용한 실행도 가능합니다.
uid
라는 element를 확인합니다.newman
을 실행시킵니다.Using Newman with the Postman API
1 Generate an API key
2 Fetch a list of your collections from: https://api.getpostman.com/collections?apikey=$apiKey
3 Get the collection link via it's uid: https://api.getpostman.com/collections/$uid?apikey=$apiKey
4 Obtain the environment URI from: https://api.getpostman.com/environments?apikey=$apiKey
5 Using the collection and environment URIs acquired in steps 3 and 4, run the collection as follows:$ newman run "https://api.getpostman.com/collections/$uid?apikey=$apiKey" \ --environment "https://api.getpostman.com/environments/$uid?apikey=$apiKey"
이러한 Newman을 이용하여 Jenkins에서 직접 실행한다던지 등의 연계를 할 수 있습니다.
Ref.