본문 바로가기
QA

Charles Proxy

by 오탄 2025. 10. 19.

1. Proxy 란?

    - 대리인, 중계인

    - 사용자의 요청이 프록시를 통해 전달되고 서버의 응답도 다시 프록시를 거쳐 클라이언트로 전달됨.

Charles Proxy 역할
 SSL Proxying : SSL의 요청과 응답을 볼 수 있다. 
 Bandwidth Throttling : Latency를 줘 Internet 연결을 느리게 할 수 있다.
 AJAX Debugging : XML과 JSON의 요청과 응답을 트리 혹은 텍스트로 볼 수 있다.
 Back-end의 변화를 테스트하기 위해 요청을 반복할 수 있다.
 다른 Inputs값을 테스트하기 위해 요청을 수정할 수 있다.
 Breakpoint되는 부분에 요청값과 응답값을 변경하여 테스트 할 수 있다.

 

2. Charles 설치

샤를의 화면

 

2.1. Android (iOS) 모바일과 연결

2.1.1. Charles Proxy 에서 컴퓨터에 인증서 설치

           - File > Help > SSL Proxying > Install Charles Root Certificate

           - 설치된 인증서(Charles Proxy CA) 를 시스템에서 신뢰할 수 있는 인증서로 설치 (mac 은 키체인)

           - Proxy >  SSL Proxying Setting > Enable SSL Proxying

           - Include 와 Exclude 영역 설정

SSL Proxying Setting > Enable SSL Proxying

2.1.2. Android (iOS) 와 연결

          - 같은 와이파이에 연결

          - 와이파이 프록시 수동 설정

             • 프록시 호스트 이름 = Charles Proxy > Help > Local IP Address

             • 프록시 포트 = Proxy > Proxy Settings > HTTP Proxy > Port
          - 모바일에 인증서 설치

             • https://chls.pro/ssl or 상기 받았던 인증서를 안드로이드 복사 후 설치

             • 설정 > 보안 > 기기에 저장된 인증서 설치 > CA 인증서

 

2.1.3. 연결된 화면

연결 완료된 화면

 

3. Charels 대표 기능

3.1. 네트워크 Latency 설정

        - 응답을 지연(Throttle Setting)

3.2. Breaking Point Setting

        - API 혹은 서버 통신이 요청 온 순간부터 통신을 막을 수 있음.

        - 요청 값을 수정하여 실행하기도 하고 응답값을 수정하여 실행하기도 함.

           • API 혹은 서버 통신이 요청이 오면 요청값을 Edit 할 수 있는 화면이 출력됨.

           • Edit Request 를 눌러 Quary param 등을 수정을 할 수 있고 Execute 를 클릭하면

            수정한 요청값으로 응답을 받게 되고 응답도 실행하게 되면 Client 에 수정된 내용으로 반영 가능

3.3. Map Remote 

        - Protocol, Host 정보, Path 및 Query 를 바꿔서 Client 에 보낼 수 있음.

          • Protocol이 http로 되어있을 때, https로 변경하여 보낼 수 있음.

3.4. Map Local

        - 서버에서 준 JSON 형태의 응답값을 수정하고 JSON 파일로 첨부하여 Client 에서 결과를 테스트

        - Client 디버깅 시 응답값을 하나하나 바꿔가며 이슈의 원인을 파악할 때 사용

        - 테스트 데이터 혹은 API 가 개발 배포 되지 않은 상태에서 Client 의 UI 테스트 시 사용 할 수 있음.

            * Client 가 선 개발 완료 및 배포된 상태인 경우

3.5. 기타

        - Rewrite, Compose 등 다양한 기능을 제공하고 Postman 과 같이 API 테스트에도 사용 가능

 

출처: https://techblog.gccompany.co.kr/charles-proxy-%EC%86%8C%EA%B0%9C-4c4a3bbc8994

'QA' 카테고리의 다른 글

Appium  (0) 2025.10.21
API  (0) 2025.10.15
성능 테스트  (0) 2025.10.15
로컬 환경 만들기  (0) 2025.10.14
키바나  (0) 2025.10.13