refactor(browser): consolidate browser strategy implementations

Moves common browser functionality into BaseBrowserStrategy class to reduce code duplication and improve maintainability. Key changes:
- Adds shared browser argument building and session management to base class
- Standardizes storage state handling across strategies
- Improves process cleanup and error handling
- Consolidates CDP URL management and container lifecycle

BREAKING CHANGE: Changes browser_mode="custom" to "cdp" for consistency
This commit is contained in:
UncleCode
2025-03-28 22:47:28 +08:00
parent 64f20ab44a
commit 3ff7eec8f3
12 changed files with 1102 additions and 671 deletions

View File

@@ -25,6 +25,7 @@ async def test_cdp_launch_connect():
browser_config = BrowserConfig(
use_managed_browser=True,
browser_mode="cdp",
headless=True
)
@@ -70,8 +71,8 @@ async def test_cdp_with_user_data_dir():
logger.info(f"Created temporary user data directory: {user_data_dir}", tag="TEST")
browser_config = BrowserConfig(
use_managed_browser=True,
headless=True,
browser_mode="cdp",
user_data_dir=user_data_dir
)
@@ -210,7 +211,7 @@ async def run_tests():
results = []
# results.append(await test_cdp_launch_connect())
# results.append(await test_cdp_with_user_data_dir())
results.append(await test_cdp_with_user_data_dir())
results.append(await test_cdp_session_management())
# Print summary