Skip to content

Commit b596fe5

Browse files
FFQAHwangclaude
andcommitted
fix: conftest에서 context/page fixture override 제거
- 기존: custom context fixture가 pytest-playwright의 video/screenshot 자동 기능을 차단 - 수정: browser_context_args 확장만 유지하여 --video=on, --screenshot=on 정상 동작 - 기본 timeout은 autouse fixture로 적용 → CI에서 테스트 영상(.webm) + 실패 스크린샷(.png) 아티팩트 정상 생성 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 0bc2c3b commit b596fe5

1 file changed

Lines changed: 13 additions & 20 deletions

File tree

fastfive-web-e2e/conftest.py

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
import pytest
2-
from playwright.sync_api import Browser, BrowserContext, Page
3-
from config import BASE_URL, DEFAULT_TIMEOUT, ACTION_TIMEOUT, IS_CI
2+
from config import DEFAULT_TIMEOUT, IS_CI
43

54

5+
# pytest-playwright의 기본 browser_context_args를 확장
6+
# (context/page fixture는 override하지 않아서 --video/--screenshot 자동 동작함)
67
@pytest.fixture(scope="session")
7-
def browser_context_args():
8+
def browser_context_args(browser_context_args):
89
ctx_args = {
10+
**browser_context_args,
911
"viewport": {"width": 1920, "height": 1080},
1012
"ignore_https_errors": True,
1113
}
@@ -18,29 +20,20 @@ def browser_context_args():
1820

1921

2022
@pytest.fixture(scope="session")
21-
def browser_type_launch_args():
22-
args = {
23+
def browser_type_launch_args(browser_type_launch_args):
24+
return {
25+
**browser_type_launch_args,
2326
"headless": IS_CI,
2427
"args": [
2528
"--no-sandbox",
2629
"--disable-dev-shm-usage",
2730
"--disable-blink-features=AutomationControlled",
2831
],
2932
}
30-
return args
3133

3234

33-
@pytest.fixture()
34-
def context(browser: Browser, browser_context_args):
35-
ctx = browser.new_context(**browser_context_args)
36-
ctx.set_default_timeout(DEFAULT_TIMEOUT)
37-
ctx.set_default_navigation_timeout(DEFAULT_TIMEOUT)
38-
yield ctx
39-
ctx.close()
40-
41-
42-
@pytest.fixture()
43-
def page(context: BrowserContext):
44-
p = context.new_page()
45-
yield p
46-
p.close()
35+
# 기본 타임아웃 설정 (context override 대신 autouse fixture로 적용)
36+
@pytest.fixture(autouse=True)
37+
def _set_default_timeout(page):
38+
page.set_default_timeout(DEFAULT_TIMEOUT)
39+
page.set_default_navigation_timeout(DEFAULT_TIMEOUT)

0 commit comments

Comments
 (0)