본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

WiremockUI

0

WiremockUI는 .NET Framework 4.5 기반의 그래픽 사용자 인터페이스 도구로, Wiremock을 활용한 모ック 서버 생성 및 관리를 시각적으로 지원합니다.

API 테스트모ック 서버시각적 관리요청 로깅프록시

소개

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 저장소에서 직접 다운로드하는 방법도 제공됩니다. 다음 단계를 따릅니다:

  1. WiremockUI.zip 파일을 다운로드합니다.
  2. 다운로드한 ZIP 파일을 원하는 폴더에 압축 해제합니다.
  3. 압축 해제된 폴더에서 Wiremock.exe 파일을 더블 클릭하여 실행합니다.

수동 설치의 경우 별도의 설치 과정이 필요 없으며, 바로 실행할 수 있습니다.

기본 사용법/명령어

WiremockUI는 그래픽 인터페이스 기반 도구이므로 명령줄 사용이 아닌 마우스 클릭을 중심으로 작동합니다. 실행 후 기본적인 사용 흐름은 다음과 같습니다:

  1. 프로그램을 실행하면 왼쪽 패널에 Servers 항목이 표시됩니다.
  2. Servers 항목 위에서 우클릭하여 Add Server를 선택해 새로운 서버를 생성합니다.
  3. 생성된 서버 위에서 우클릭하여 Start를 클릭해 모ック 서버를 시작합니다. 또는 Start and Record를 선택해 프록시 기록 모드로 실행할 수 있습니다.
  4. 서버가 시작되면 아래 로그 창에 요청 및 응답 정보가 실시간으로 표시됩니다.
  5. 서버 위에서 우클릭하여 Open Server folder를 선택하면 시나리오와 맵 파일이 저장된 폴더를 열 수 있습니다.
  6. 시나리오 내에서 우클릭해 Add scenario 또는 Add map를 선택해 구성을 확장할 수 있습니다.
  7. 맵 파일을 더블 클릭하면 내장 편집기가 열려 내용을 수정할 수 있으며, 오른쪽 패널의 JSON Viewer를 통해 트리 구조로 확인할 수 있습니다.
  8. 로그 창에서 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가 설치되어 있지 않은 경우, 다음 방법으로 설치할 수 있습니다:

이 도구는 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