
오늘 개발자들 사이에서 API 관련 이야기가 나왔다. 그 중 Talend API Tester라는 API 테스트 웹 도구를 알게되어 포스팅한다.
Talend API Tester란?
Talend API Tester는 크롬 확장프로그램으로 무료로 웹에서 API를 테스트하고 문서화할 수 있는 도구다.
현재 본인은 현업에서 POSTMAN을 사용해 API를 문서화하고 테스트하고 있다. 포스트맨들 사용하는 개발자로서 Talend API Tester를 본 소감은 포스트맨과 비슷한데 기능은 훨씬 적은 그런 API 테스트 도구였다. 물론 크롬 확장프로그램으로 웹에서 관리 가능하고 무료인점이 단점을 없애준다.
[Talend API Tester 다운로드 링크](https://chrome.google.com/webstore/detail/talend-api-tester-free-ed/aejoelaoggembcahagimdiliamlcdmfm
크롬확장프로그램이니 크롬으로 접속하도록 하자.
설치하고 크롬 우측 상단의 퍼즐 모양을 선택하고 설치된 테스터를 클릭해 들어가보면 아래와 같은 창이 뜨게 된다.

언뜻 보면 포스트맨과 굉장히 비슷한 구성을 가지고 있다. 레이아웃 구성도 비슷하다. 그래서 더 좋았다. 포스트맨에 익숙하기 때문에 상당히 반가웠다.
하지만 포스트맨에 비해 기능이 부족하기 때문에 단순하게 사용하기 좋은 도구인 것 같다.
API 테스트를 해보자
API를 테스트하기 위해 먼저 API가 있어야하지 않은가? API없이 테스트하는건 총알 없이 총을 쏘는 것과 같다. 그리해서 Fake REST API를 사용해 테스트 해보기로 하자.
아래는 FakeRESTApi라는 스웨거로 된 Fake REST API다
https://fakerestapi.azurewebsites.net/index.html
들어가서 아래로 스크롤 해 API를 클릭하면 다음과 같이 뜬다.

여기서 Try it out를 클릭하게 되면 Excute 버튼이 나타나게 되는데 눌러보면 API Test 결과를 받아볼 수 있다.

여기서 보면 주소가 나와있는데 저게 API 주소다 저 주소를 복사해서 Talend API Tester의 입력바에 넣어주도록 하자.
(https://fakerestapi.azurewebsites.net/api/v1/Authors)
그리고 메서드는 우리가 가져온 API가 GET 요청으로 되어있으니 동일하게 GET을 선택해주고 Send 버튼을 클릭해보면

HTTP 응답 코드 200으로 요청이 성공적으로 수행된 것을 볼 수 있다. 우측 하단 BODY를 보면 API 응답으로 받은 데이터를 볼 수 있다.
다른 Fake REST API로는 jsonplaceholder가 있다.
https://jsonplaceholder.typicode.com/
위 사이트에서 아래로 스크롤하면 API를 확인할 수 있다.
/posts 100 posts
/comments 500 comments
/albums 100 albums
/photos 5000 photos
/todos 200 todos
/users 10 users
저 중 하나를 들어가 주소를 복사해 동일하게 테스트 해보도록하자.
지금은 API가 없어 form data로 들어가는게 없지만 나중에 한번 데이터도 함께 보내 사용해보는 것도 좋다.
그 외 기능
API 테스트를 작성했으면 상위 트리 안에 Save As를 통해 해당 API를 저장할 수 있다. 처음엔 저장이 안될텐데 이건 부모 폴더가 없어서 그런거니 하단의 프로젝트를 추가해주거나 선택해주면 된다.
또한 다른 API 테스터와 같이 좌측 하단에 Import하고 Export하는 기능이 있다. Export를 하게되면 API를 선택하는 창이 나오고 json으로 저장할 수 있게 된다.
{
"version": 6,
"entities": [
{
"entity": {
"type": "Project",
"id": "76385d60-0413-4f8f-b339-59f4b2e8922e",
"name": "TESTTREE"
},
"children": [
{
"entity": {
"type": "Request",
"method": {
"link": "http://tools.ietf.org/html/rfc7231#section-4.3.1",
"name": "GET"
},
"body": {
"formBody": {
"overrideContentType": true,
"encoding": "application/x-www-form-urlencoded",
"items": []
},
"bodyType": "Text"
},
"uri": {
"query": {
"delimiter": "&",
"items": []
},
"scheme": {
"secure": true,
"name": "https",
"version": "V11"
},
"host": "fakerestapi.azurewebsites.net",
"path": "/api/v1/Authors"
},
"id": "42150d3e-828b-4946-b127-7aff01c44de0",
"name": "TEST",
"headers": []
}
}
]
}
]
}
음... 사실 이걸 직관적으로 보기에는 힘들거 같다. 그러니 따로 이 데이터를 사용해 자동으로 문서화해주는 프로세스를 만들거나 문서화를 위한 다른 방법을 찾아보는게 좋을 것 같다.
끝!