소개
WiremockUI는 .NET Framework 4.5 기반의 그래픽 사용자 인터페이스 도구로, Wiremock을 활용한 모ック 서버 생성 및 관리를 시각적으로 지원합니다. juniorgasparotto가 개발한 이 오픈소스 소프트웨어는 모ック 서버, 시나리오, 맵 관리, 요청 로깅 및 디버깅 기능을 제공하며, Chocolatey 패키지 관리자를 통해 Windows 환경에 쉽게 설치할 수 있습니다. 개발자와 테스터가 API 시뮬레이션, 프록시 동작, 요청 기록 및 재생을 위해 직관적인 인터페이스를 활용할 수 있도록 설계되었습니다.
상세정보
모ック 서버 생성 및 관리
사용자는 서버 목록에서 우클릭하여 Add Server를 선택해 새로운 모ック 서버를 생성할 수 있습니다. 서버 포트는 자동 생성되지만 필요 시 수정이 가능하며, Target URL 필드를 채워 기존 API로부터 초기 데이터를 기록할 수 있습니다. 생성된 서버는 시나리오를 포함할 수 있으며, 각 시나리오는 독립적인 맵 세트를 가집니다.
시나리오 및 맵 관리
각 서버 내에서는 Add scenario를 통해 여러 시나리오를 생성하고, 그 중 하나를 Set as Default로 지정하여 서버 시작 시 활성화할 수 있습니다. 시나리오 내부에서는 Add map을 클릭해 기본 Wiremock 맵 파일을 생성하고, 맵 메뉴에서 이름 변경, 복제, 삭제, 활성화/비활성화, 파일 탐색기에서 열기, Web Request로 실행하기 등의 작업을 수행할 수 있습니다.
맵 편집 및 JSON 뷰어
생성된 맵 파일은 내장 텍스트 편집기를 통해 JSON 또는 XML 형식으로 편집할 수 있으며, 구문 강조 표시(JSON, XML, HTML, JavaScript, C#, PHP, LUA, VB.NET 지원), 자동 줄바꿈, 검색 및 치환, 줄 이동, 포맷팅, 미니파이 등의 기능을 제공합니다. 또한 JSON Viewer 도구를 통해 맵 내용을 트리 구조로 시각화하여 노드를 확장·축소하고, 텍스트 편집기나 JSON 뷰어로 전환하여 상세 내용을 확인할 수 있습니다.
서버 실행 및 제어
서버 목록에서 우클릭 후 Start를 선택하면 모ック 서버가 시작되며, 로그 창이 텍스트와 테이블 형태로 표시됩니다. Start and Record 옵션을 사용하면 프록시 모드로 실행하면서 들어오는 요청을 기록하여 맵으로 저장할 수 있고, Start (Only Proxy)는 저장된 맵을 무시하고 순수 프록시로 동작합니다. 실행 중인 서버는 Restart, Stop, Open Server folder, Open Server URL in browser 등으로 제어할 수 있습니다.
요청 로깅 및 디버깅 도구
서버 실행 시 표시되는 로그 창은 요청의 헤더, 본문, 응답 상태 및 소요 시간을 텍스트와 테이블 형태로 보여줍니다. Re-run requests 기능을 통해 LISTENER 타입 로그 항목에서 Open in WebRequest를 선택해 요청 데이터를 수정하고 재전송할 수 있으며, Compare requests with existing maps 옵션을 통해 로그된 요청과 현재 맵 간의 매칭 여부를 비교할 수 있습니다. 또한 Check the time of a request 기능을 통해 NET.IN과 NET.OUT 타입의 시간을 비교하여 응답 시간을 분석할 수 있습니다(프록시 모드에서만 의미 있음).
내장 도구
WiremockUI는 다음과 같은 내장 도구를 제공합니다:
- Web Request: 간단한 HTTP 요청 실행 도구로, 재시도 및 디버깅에 유용합니다.
- Text Compare: 두 텍스트를 비교하여 차이점을 보여주는 도구로, 맵과 일치하지 않는 요청을 분석할 때 사용됩니다.
- Text Editor: JSON/XML 포맷팅을 지원하는 텍스트 편집기입니다.
- JSON Viewer: JSON 데이터를 트리 형태로 시각화하여 구조를 쉽게 파악할 수 있게 해줍니다.
다운로드·설치 방법
WiremockUI는 두 가지 방법으로 설치할 수 있습니다.
Chocolatey를 통한 설치
Chocolatey 패키지 관리자가 설치된 Windows 환경에서는 관리자 권한으로 PowerShell 또는 CMD를 열고 다음 명령을 실행합니다:
choco install wiremockui
이 명령은 최신 버전의 WiremockUI를 자동으로 다운로드 및 설치합니다. 업데이트가 필요할 때는 다음과 같이 실행합니다:
choco upgrade wiremockui
제거를 원할 경우:
choco uninstall wiremockui
수동 설치 (ZIP 파일)
공식 GitHub 저장소에서 직접 다운로드하는 방법도 제공됩니다. 다음 단계를 따릅니다:
- WiremockUI.zip 파일을 다운로드합니다.
- 다운로드한 ZIP 파일을 원하는 폴더에 압축 해제합니다.
- 압축 해제된 폴더에서
Wiremock.exe파일을 더블 클릭하여 실행합니다.
수동 설치의 경우 별도의 설치 과정이 필요 없으며, 바로 실행할 수 있습니다.
기본 사용법/명령어
WiremockUI는 그래픽 인터페이스 기반 도구이므로 명령줄 사용이 아닌 마우스 클릭을 중심으로 작동합니다. 실행 후 기본적인 사용 흐름은 다음과 같습니다:
- 프로그램을 실행하면 왼쪽 패널에 Servers 항목이 표시됩니다.
- Servers 항목 위에서 우클릭하여 Add Server를 선택해 새로운 서버를 생성합니다.
- 생성된 서버 위에서 우클릭하여 Start를 클릭해 모ック 서버를 시작합니다. 또는 Start and Record를 선택해 프록시 기록 모드로 실행할 수 있습니다.
- 서버가 시작되면 아래 로그 창에 요청 및 응답 정보가 실시간으로 표시됩니다.
- 서버 위에서 우클릭하여 Open Server folder를 선택하면 시나리오와 맵 파일이 저장된 폴더를 열 수 있습니다.
- 시나리오 내에서 우클릭해 Add scenario 또는 Add map를 선택해 구성을 확장할 수 있습니다.
- 맵 파일을 더블 클릭하면 내장 편집기가 열려 내용을 수정할 수 있으며, 오른쪽 패널의 JSON Viewer를 통해 트리 구조로 확인할 수 있습니다.
- 로그 창에서 LISTENER 타입 항목 위에서 우클릭해 Re-run requests 또는 Compare를 선택해 디버깅 작업을 수행할 수 있습니다.
프로그램 상단 메뉴에서 File → Refresh로 화면을 초기 상태를 되돌릴 수 있고, Tools 메뉴에서 내장 도구에 접근할 수 있습니다.
이런 경우에 유용합니다
WiremockUI는 다음과 같은 상황에서 특히 유용하게 사용할 수 있습니다:
- API 개발 중 백엔드가 아직 준비되지 않았을 때, 프론트엔드 팀이 로컬에서 모ック 서버를 실행하여 개발을 지속할 수 있습니다.
- 외부 API에 의존하는 통합 테스트를 수행할 때, 실제 서비스 호출 대신 안정적인 모ック 응답을 사용하여 테스트 속도와 신뢰도를 높일 수 있습니다.
- 운영 중인 서비스의 요청 패턴을 분석하거나 재현해야 할 때, 프록시 기록 모드를 통해 실제 트래픽을 캡처하고 맵으로 저장하여 이후 시뮬레이션에 활용할 수 있습니다.
- JSON 또는 XML 기반의 요청/응답 구조를 시각적으로 편집하고 검증해야 하는 개발자나 테스터가 내장 편집기와 포맷팅 도구를 통해 효율적으로 작업할 수 있습니다.
- 교육 또는 데모 환경에서 API 동작 원리를 보여줄 때, 서버 시작 및 요청/응답 흐름을 실시간으로 시각화하여 이해를 돕을 수 있습니다.
지원 환경·시스템 요구사항
WiremockUI는 다음과 같은 환경에서 실행됩니다:
- 운영 체제: Windows 7 이상 (Windows 10/11 권장)
- 필수 구성 요소: .NET Framework 4.5
.NET Framework 4.5가 설치되어 있지 않은 경우, 다음 방법으로 설치할 수 있습니다:
- Chocolatey를 사용하는 경우:
choco install dotnet4.5 - Microsoft 공식 사이트에서 직접 다운로드: .NET Framework 4.5 다운로드 페이지
이 도구는 Windows Forms 기반 애플리케이션이므로 macOS, Linux 또는 웹 환경에서는 공식적으로 지원되지 않습니다.
최신 버전·업데이트
현재 배포 중인 버전은 1.0.2이며, 이는 Chocolatey 패키지 및 GitHub 릴리스를 통해 제공됩니다. 최신 버전 확인 및 업데이트는 다음과 같이 수행할 수 있습니다:
- Chocolatey 사용 시:
choco upgrade wiremockui명령으로 최신 버전으로 업데이트 가능 - 수동 사용 시: GitHub 저장소의 Releases 페이지에서 최신 ZIP 파일을 다운로드하여 교체 설치
버전 업데이트 시 주요 변경 사항은 릴리스 노트 또는 저장소의 커밋 기록을 참조하시기 바랍니다.
제한 사항·확인 사항
WiremockUI 사용 시 다음 사항을 확인해야 합니다:
- 이 도구는 .NET Framework 4.5에 의존하므로, 해당 버전이 설치되지 않은 Windows 환경에서는 실행되지 않습니다. 특히 Windows 7 이하에서는 별도 설치가 필수입니다.
- WiremockUI는 Wiremock 라이브러리의 기능을 그래픽 인터페이스로 감싼 도구이므로, 고급 Wiremock 설정(예: 커스텀 매칭, 전역 설정 등)은 공식 Wiremock 문서(http://wiremock.org/docs/)를 참조해야 합니다.
- 로그 디버깅 기능 중 Check the time of a request은 프록시 모드에서만 의미 있는 결과를 제공하며, 모ック 서버 모드에서는 정확한 응답 시간 측정이 불가능합니다.
- 내장 텍스트 편집기와 JSON Viewer는 기본적인 기능을 제공하지만, 대용량 파일 처리나 고급 구문 분석에는 한계가 있을 수 있습니다.
- 이 소프트웨어는 오픈소스 프로젝트로 개발 중이므로, 최신 기능 추가나 버그 수정이 즉시 이루어지지 않을 수 있습니다. 기여나 문제 보고는 GitHub 이슈 또는 프로젝트 보드를 통해 가능합니다.
FAQ
- WiremockUI는 무료로 사용할 수 있나요?
네, WiremockUI는 MIT 라이선스 하에 배포되는 오픈소스 소프트웨어로, 개인 및 상업적 목적으로 자유롭게 사용, 수정, 재배포할 수 있습니다.
- WiremockUI는 인터넷 연결이 필요한가요?
기본 모ック 서버 생성 및 로컬 파일 기반 테스트에는 인터넷 연결이 필요하지 않습니다. 그러나 Start and Record 또는 프록시 모드를 통해 외부 API에 접근하려면 활성 인터넷 연결이 필요합니다.
- WiremockUI는 Chocolatey 외에 다른 패키지 관리자를 지원하나요?
현재 공식적으로 지원되는 패키지 관리자는 Chocolatey뿐입니다. 수동 설치 시 ZIP 파일을 직접 다운로드하여 사용할 수 있습니다.
- WiremockUI에서 생성된 맵 파일은 어디에 저장되나요?
실행 파일이 위치한 폴더 내에 숨김 폴더인
.app이 생성되며, 이 폴더 안에 시나리오별로 폴더가 나뉘어 맵 파일(.json)과 응답 파일(__files내)이 저장됩니다. - WiremockUI는 64비트 Windows만 지원하나요?
아니요, 이 도구는 .NET Framework 4.5를 대상으로 하므로 32비트 및 64비트 Windows 환경 모두에서 실행할 수 있습니다. 단, 해당 프레임워크가 설치되어 있어야 합니다.
시스템 요구사항
.NET Framework 4.5


