Charles Setting
Charles Proxy tool을 이용하기 위해서는 설치 및 일부 세팅이 필요하다. 세팅 과정은 여기어때 기술블로그를 참고했다.
1. Charles Proxy Tool 다운로드 및 설치
공식 설치 문서에서 Charles를 다운로드 받을 수 있다. 자신의 OS에 맞는 프로그램을 선택해 다운로드 및 설치하면 된다.
라이선스를 구매하지 않을 경우 30일 동안 무료로 사용 가능하다. (+ 1세션 당 30분까지 사용 가능)
2. Chales PC 세팅
설치가 완료되었다면, PC 프로그램 상 몇 가지 설정이 필요하다. 먼저 CA 인증서를 설치해주어야 한다. 내가 사용하는 OS인 Windows 환경을 예시로 소개하겠다.
인증서 설치
- Charles의 Help 메뉴에서 SSL Proxying > Install Charles Root Certificate 클릭
- 시스템에서 Charles Procy CA 신뢰할 수 있는 인증서 설치
PC 네트워킹 설정
네트워킹을 기록하고 테스트하기 위한 Charles 설정이 필요하다. 다음 순서를 따라 설정하면 된다.
- Charles의 Proxy 메뉴에서 Recording Settings 진입
- include에 * Add, Exclude 에는 공란 후 OK 버튼 클릭 (특정 URL만 기록하길 원한다면 해당 URL을 입력하면 된다.)
- Proxy 메뉴에서 Windows Proxy MacOS Proxy 체크 표시 확인 (만약 PC 네트워킹을 추적하길 원하지 않는다면 해제)
- Proxy 메뉴에서 Proxy Settings 클릭 후 포트 설정(기본: 8888)
- Help 메뉴에서 Local IP Address의 노트북/PC의 IP 주소 확인
3. 모바일(iOS/Android) 연결
PC의 Charles에서 모바일의 네트워킹을 기록하고 테스트하기 위해서는 우선 같은 네트워크에 연결해주어야 한다.(LAN 또는 Wi-fi) Android 기기를 예시로 소개하겠다.
- 노트북/PC와 동일한 Wi-Fi를 디바이스에 연결 후 위에서 Wi-Fi의 프록시 설정을 수동으로 설정
- 위에서 설정한 포트 번호와 Local IP Address를 수동으로 저장
- 사파리 혹은 크롬 웹브라우저에서 https://chls.pro/ssl 입력 후 검색하여 프로파일 다운로드 허용
- 다운로드 받은 인증서 설치(가져오기)
- Charles에 디바이스의 통신 내역이 기록되면 성공
4. 테스트 진행해보기 (Breakpoint test, Throttle test)
간단하게 2가지 테스트를 진행해보았다. HTTP(S) 요청을 가로채 파라미터 등을 원하는 값으로 수정할 수 있는 Breakpoint test와 네트워크 지연을 일으키는 Throttle test를 진행해보았다.
두 테스트를 진행하기 위해서는 우선 테스트할 대상 URL을 SSL Proxying을 Enable로 설정해주어야 한다. 해당 URL에 우클릭 한뒤 'Enable SSL Proxying'을 설정해주면 된다.
1. Breakpoint test
Breakpoint test를 위해서는 테스트할 대상에 대해 breakpoint를 설정해주어야 한다. 위에서 설정한 것과 마찬가지로, 해당 대상에 우클릭한 뒤 'Breakpoints'로 설정해준다.
이후 Charles 상단의 Enable Breakpoints 기능을 클릭해 활성화한 다음 해당 대상에 다시 한번 요청을 보내면, 요청(Request)을 수정할 수 있는 화면이 Charles에 노출된다.
위 화면에서 요청을 원하는 값으로 수정할 수 있다. 내 경우에는 aladin 홈페이지에서 '한강'을 검색한 뒤, searchWord를 '무라카미 하루키'로 바꾸어 보는 테스트를 진행했다.
2. Throttle test
Throttle test는 네트워크 지연을 일으켜 결과를 살펴볼 수 있는 기능을 제공한다.
Proxy > Throttle Settings에서 속도, 대역폭 등 세부 설정을 할 수 있다.
이후 테스트는 Charles 상단의 Start Throttling을 클릭해 테스트를 활성화시킬 수 있다. 이후 해당 대상에 재요청을 보내면 네트워크 지연이 일어나는 것을 확인할 수 있다.
전체적인 테스트 과정은 아래 영상을 통해 확인할 수 있다.
'Minding's Programming > Knowledge' 카테고리의 다른 글
[QA/Testing] 모바일 앱 테스트 자동화 오픈소스 Appium 사용해보기 (0) | 2025.02.20 |
---|---|
[프로젝트] Catch Me My Capital - 합리적인 투자 의사결정을 위한 금융 데이터 파이프라인 및 백테스팅 도구 (테스트 도입 편) (0) | 2025.02.18 |
[Postman/Github Actions] Github Actions를 통해 API 테스트 자동화하기 (0) | 2025.02.13 |
[QA/Testing] Charles Proxy Tool - 테스트 효율을 높일 수 있는 툴 (0) | 2025.02.07 |
[프로젝트] Catch Me My Capital - 합리적인 투자 의사결정을 위한 금융 데이터 파이프라인 및 백테스팅 도구 (프로젝트 소개 편) (0) | 2025.02.06 |