Skip to content

Commit a221f35

Browse files
committed
fix: Web版runner的wait和assert_text在target为None时报错 - 与桌面版/手机版逻辑对齐
1 parent 4d356b4 commit a221f35

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

src/testing/blueprint_runner.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -417,8 +417,12 @@ async def _execute_step(
417417
await self._browser.select_option(target, resolved_value)
418418

419419
elif step_def.action == "wait":
420-
timeout = step_def.timeout_ms or 5000
421-
await self._browser.wait_for_selector(target, timeout_ms=timeout)
420+
if target:
421+
timeout = step_def.timeout_ms or 5000
422+
await self._browser.wait_for_selector(target, timeout_ms=timeout)
423+
else:
424+
ms = int(resolved_value) if resolved_value and resolved_value.isdigit() else (step_def.timeout_ms or 1000)
425+
await asyncio.sleep(ms / 1000)
422426

423427
elif step_def.action == "screenshot":
424428
pass # 截图在下面统一做
@@ -427,8 +431,8 @@ async def _execute_step(
427431
await self._browser.page.evaluate("window.scrollBy(0, 400)")
428432

429433
elif step_def.action == "assert_text":
430-
text = await self._browser.get_text(target)
431-
expected_value = resolved_value
434+
text = await self._browser.get_text(target or "body")
435+
expected_value = step_def.expected or resolved_value
432436

433437
if is_formula(expected_value):
434438
# v1.4 公式验证:零AI成本,精确数值校验

0 commit comments

Comments
 (0)