플레인 텍스트로 HTTP 요청을 실행하고 테스트하는 Hurl
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
- *개발자 및 DevOps | 초보자~중급자**
핵심 요약
Hurl
은 플레인 텍스트 기반의 HTTP 요청/테스트 도구로,libcurl
엔진을 사용해 IPv6, HTTP/3 등 최신 프로토콜을 지원하며, Rust로 구현된 단일 실행 파일로 설치가 간편함- 요청 체이닝, 값 캡처, 상태코드·헤더·본문 검증 기능을 통해 REST, GraphQL, SOAP, HTML/XML/JSON API 테스트 및 CI/CD 연동 리포트(JUnit, HTML 등) 생성이 가능함
- Postman, curl 대비 텍스트 기반의 버전 관리, 협업, CI/CD 통합에 유리하며, AWS Sigv4 인증, 폴링/재시도, 변수화 기능 등 고급 제어 기능을 제공함
섹션별 세부 요약
1. 기본 동작
.hurl
파일에 여러 HTTP 요청을 순차적으로 작성해 실행 가능Captures
구문을 통해 응답에서 값 추출 및 다음 요청에 변수 주입 가능- REST/JSON, SOAP/XML, GraphQL, HTML 등 다양한 형식 지원
2. 체이닝 및 변수 활용
Xpath
,JSONPath
, 정규표현식 등으로 데이터 추출 및 활용 가능newUuid
,newDate
등 동적 데이터 생성 함수 제공- 요청 간 데이터 전달 및 옵션 커스터마이징 지원
3. 다양한 요청 및 검증 방식
- 쿼리파라미터, 헤더, 인증 등 요청 사양 설정 지원
Asserts
구문으로 상태코드, 바디, 헤더, 쿠키, 응답시간 등 검증 가능- XPath/JSONPath 기반의 REST/GraphQL/SOAP 및 HTML 콘텐츠 테스트 지원
4. 테스트 리포트와 자동화 연동
- 텍스트, HTML, JUnit, TAP, JSON 등 리포트 형식 지원
--parallel
,--retry
등 병렬 실행 및 재시도 기능 제공- CI/CD 파이프라인에 손쉽게 통합 가능
5. 고급 제어 및 유용 기능
--variable
,--user
등 인증 정보 및 변수 설정 지원--json
으로 실행 결과를 JSON 형식으로 출력 가능Homebrew
,npm
,Docker
등 다양한 플랫폼에서 설치 가능
결론
- Hurl은 텍스트 기반의 간결한 문법과 CI/CD 연동 기능을 통해 HTTP 테스트 자동화에 최적화된 도구임.
brew install hurl
또는cargo install --locked hurl
명령으로 간편하게 설치 가능하며, REST/GraphQL/HTML 등 다양한 API 테스트 및 시나리오 자동화에 유리함.