Playwright Trace Viewer无录制内容:我的配置哪里出错了?
Playwright Trace文件为空的问题修复
问题根源
你在@BeforeEach里给context开启了追踪,但测试方法里的页面是通过browser.newPage()创建的——这个页面不属于开启追踪的context,相当于追踪了一个完全没被使用的上下文,自然生成的trace.zip是空的。
具体修复
1. 修正页面创建方式
把测试方法里的:
Page page = browser.newPage();
改成从已开启追踪的context创建页面:
Page page = context.newPage();
2. 优化代码(可选)
可以提前在类里声明Page变量,在@BeforeEach里初始化,避免重复代码:
public class TestSearchPage { static Playwright playwright; static Browser browser; BrowserContext context; Page page; // 新增Page变量 @BeforeEach void createContextAndPage() { context = browser.newContext(); context.tracing().start(new Tracing.StartOptions() .setScreenshots(true) .setSnapshots(true) .setSources(true) ); page = context.newPage(); // 从context初始化页面 } @Test void shouldSearch() throws InterruptedException { SearchPage searchPage = new SearchPage(page); // 直接使用已初始化的page searchPage.navigate(); ... } }
验证
重新运行测试后,执行你的命令:
mvn exec:java -e -D exec.mainClass=com.microsoft.playwright.CLI -D exec.args="show-trace trace.zip"
就能看到包含测试操作的完整追踪内容了。
内容的提问来源于stack exchange,提问作者fotrenc
相关产品推荐
相关产品推荐

