| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- IOS
- XCUIElementStaticText
- WDA
- 자동화 테스트
- PYTHON
- 자동화테스트
- Web Driver Agent
- push notification
- xpath
- java
- 푸시알림
- iOS Class Chain
- XCode Console
- Mailpit
- Appium Inspector
- MAC
- 포그라운드
- XCUITest
- Playwright
- appium
- foreground
- Today
- Total
성장기의 히동
[Playwright/Python] Chromium이 열리지 않는 경우, 메모리 충돌이 발생하는 경우 이슈 해결기 본문
🌼
이번 글은 Playwright와 Python을 설치하던 중, 가장 기본적인 Chromium이라는 테스트용 웹이 열리지 않는 이슈를 해결한 경험을 서술했다.
🌱 Playwright / Python을 공부하게 된 계기
Java와 Appium을 통해 iOS 앱 자동화 테스트 환경을 구축했었다.
QA로서 앱만 테스트하는 경우 보다, 웹과 같이 테스트 하는 경우가 많을 것이라고 생각한다.
이전에 내가 직접 개발했던 실시간 채팅 서비스를 직접 QA 해보면서, 개발할 때 고려했던 부분이 품질에 어떤 영향을 미치는지, 그리고 QA로서 어떤 관점으로 테스트 대상을 바라봐야 하는지 깨달을 수 있을 것이라고 생각했다.
새로 나온 Vibium 이라는 웹 자동화 테스트 도구를 이용할까 하다가, 현업에서 실제로 많이 쓰이고 있는 Playwright와 Python을 이용해 기술 스택을 넓히고 보다 다양한 환경에서 안정적인 테스트를 구축하기 위해 경험을 쌓기로 결정했다.
💭 상황 설명
- Python 3.13.12 버전의 가상환경 생성

- Playwright 1.58.0 설치 완료
- Playwright install 명령어를 통해 패키지 설치 완료

아래는 Playwright 공식 홈페이지에서 가져온 예제 코드이다.
import re
from playwright.sync_api import Page, expect
def test_has_title(page: Page):
page.goto("https://playwright.dev/")
# Expect a title "to contain" a substring.
expect(page).to_have_title(re.compile("Playwright"))
def test_get_started_link(page: Page):
page.goto("https://playwright.dev/")
# Click the get started link.
page.get_by_role("link", name="Get started").click()
# Expects page to have a heading with the name of Installation.
expect(page.get_by_role("heading", name="Installation")).to_be_visible()
그런데 아래와 같이 오류가 발생했다.


잘 살펴보면 문제는 아래와 같다.
1. Chromium이 열리지 않았다.
왜냐면, Target page, context or browser has benn closed 에러가 발생했기 때문이다. 그리고 캡쳐하진 않았지만 프로그램이 예기치않게 종료됐다는 팝업도 떴었다!
2. BUS_ADRLN 에러가 발생했다.
3. 부모 프로세스가 죽었다.
태어나서 이런 에러는 처음 봤다. 자바만 하다가, 스크립트 언어로 에러를 읽으려니까 또 눈알이 빠질 것 같았지만~? 해내야 했다.
그래서 AI의 도움을 좀 받아봤다. 여기서 가장 중요한 에러는 BUS_ADRLN 에러였다.
‼️ BUS_ADRLN 에러란?
BUS_ADRALN (Invalid address alignment) 에러는 프로그램이 메모리의 잘못된 정렬 주소에 접근할 때 발생하는 시그널 7(SIGBUS) 에러입니다. 주로 64비트 환경에서 4바이트/8바이트 단위로 정렬되어야 할 데이터가 1바이트 단위로 비정렬 접근될 때 발생하며, 포인터 오류, 잘못된 형변환, 라이브러리 버전 불일치가 주원인입니다.
라고 하더라고요.
그러면 여기서 의심해볼만 한 것들은?
- 내 Mac이 Apple Silicon인가 Intel인가?

안녕? 난 M2칩 Apple Silicon 이라고 해
그리고 가상환경도 arm64로 잘 돌아가고 있었다구~!

- Playwright와 Python이 호환되지 않는 버전인가?

- 그래도 Apple에서 에러 팝업을 띄워줬다는 건 보안 정책에 걸린 건 아닐까?
딱히 걸린 것도 없고.. 전체 디스크 접근 허용 해줘도... 에러가 났다.
그래서 내린 결론이 뭐냐?
Tahoe는 사실 베타 버전이다. 그러니까? OS 버전이랑 꼬였다고 볼 수밖에 없다~!
메모리 충돌이라는데.. 내가 해줄 수 있는 조치는 다 해줬다... 그래서 다운그레이드를 해보기로 했다.
🩵 최종 해결책

Sequoia로 MacOS를 다운그레이드 했다.
해결되지 않던 메모리 충돌 문제가 다운그레이드 한 번으로 해결됐다.
USB 만들고 백업하고 초기화 하고,, 많은 시간이 걸렸지만, 그래도 다운그레이드로 해결되는 일이어서 다행이었다.
사실 중간에 다운그레이드에 실패해서 초기화된 Tahoe에서 다시 시도해봤는데, 역시나 안 됐다. 내 잘못은 아닌듯 하오..
이번 일을 계기로 역시 베타 버전을 설치할 때는 백업을 먼저 해둘 것 ! 을 깨달았다..
진짜 힘들었는데, 그래도 다운그레이드로 해결돼서 다행이다.
'☁️ QA' 카테고리의 다른 글
| [Playwright/Python] Mailpit으로 가상 STMP 서버 구성하기 (2) | 2026.03.12 |
|---|---|
| [Appium, iOS] 푸시 알림 배너를 OCR로 검증하는 방법 - tesseract, tess4j / OCR 자동화 (1) | 2025.12.12 |
| [Appium, iOS] 포그라운드에서 iOS 앱 푸시 알림 테스트 - 알림센터에 등록되지 않는 경우 (0) | 2025.10.23 |
| [Appium, iOS] 같은 로케이터를 사용하는 버튼을 눌렀을 때, 요소를 찾지 못한다는 에러가 발생하는 이유 (0) | 2025.10.17 |
| [Appium, iOS] TypePickerWheel을 조작할 때 발생한 에러 직면기 및 Locator 리팩토링 (0) | 2025.10.15 |