Skip to content

Commit 3626c6c

Browse files
checkpoint: fix cookie injection
1 parent f83742c commit 3626c6c

2 files changed

Lines changed: 19 additions & 3 deletions

File tree

webqa-agent.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,10 @@ async def run_tests(cfg):
368368
sys.exit(1)
369369

370370
# Build test_configurations
371-
cookies = []
371+
# Read cookies from browser_config
372+
cookies = cfg.get("browser_config", {}).get("cookies", [])
373+
if cookies:
374+
print(f"[INFO] Loaded {len(cookies)} cookies from config")
372375
test_configurations = build_test_configurations(cfg, cookies=cookies)
373376

374377
target_url = cfg.get("target", {}).get("url", "")

webqa_agent/actions/action_handler.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,21 @@ async def go_to_page(self, page: Page, url: str, cookies=None):
138138
self.page = page
139139
if cookies:
140140
try:
141-
cookies = json.loads(cookies)
142-
await self.page.context.add_cookies(cookies)
141+
# Unified format handling: support JSON string, dict, list
142+
cookie_list: list
143+
if isinstance(cookies, str):
144+
cookie_list = json.loads(cookies) # JSON string → list
145+
elif isinstance(cookies, dict):
146+
cookie_list = [cookies] # dict → list
147+
elif isinstance(cookies, (list, tuple)):
148+
cookie_list = list(cookies) # list/tuple → list
149+
else:
150+
raise TypeError(f"Unsupported cookies type: {type(cookies)}")
151+
152+
if not isinstance(cookie_list, list):
153+
raise ValueError("Parsed cookies is not a list")
154+
155+
await self.page.context.add_cookies(cookie_list)
143156
except Exception as e:
144157
raise Exception(f'add context cookies error: {e}')
145158

0 commit comments

Comments
 (0)