You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Playwright调用page.goto时触发‘Test ended.’错误的求助

Playwright调用page.goto时触发‘Test ended.’错误的求助

嘿,刚接触Playwright碰到这个问题太正常啦,我一眼就瞅出问题所在啦!

你看你在uiLogin函数里调用PW.visit(page, route_root_page);的时候,没有加await关键字!因为PW.visit是一个异步方法(前面标了async),如果不加await,代码会直接跳过这个导航操作继续往下执行,甚至可能你的测试已经跑完结束了,但page.goto还在后台尝试导航,这时候Playwright的测试上下文已经被销毁,自然就会抛出Error: page.goto: Test ended.的错误。

修复方法很简单,只需要给调用加上await:

static async uiLogin(username, password, page) {
    const loginPage = new LoginPage(page);
    // 这里加上await,等待导航完成再执行后续操作
    await PW.visit(page, route_root_page);
    await loginPage.enterUsername(username);
    await loginPage.enterPassword(password);
    await loginPage.clickLoginBtn();
}

额外小提醒:

Playwright里几乎所有和页面交互的方法都是异步的,比如元素定位、点击、输入这些,调用的时候一定要记得加上await,不然很容易出现这种时序问题,导致测试行为不符合预期或者报错。

备注:内容来源于stack exchange,提问作者simpleMan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 08:03:00