# Instructions - Following Playwright test failed. - Explain why, be concise, respect Playwright best practices. - Provide a snippet of code with the fix, if possible. # Test info - Name: atomic_check.spec.js >> Capability demo page atomic tests verification - Location: test/atomic_check.spec.js:3:1 # Error details ``` Error: page.evaluate: SyntaxError: Failed to execute 'querySelectorAll' on 'Document': 'p[$text="DemoState.testTitle"]' is not a valid selector. at getTexts (eval at evaluate (:302:30), :2:49) at eval (eval at evaluate (:302:30), :5:20) at UtilityScript.evaluate (:304:16) at UtilityScript. (:1:44) ``` # Page snapshot ```yaml - generic [ref=e2]: - navigation [ref=e4] - generic [ref=e7]: - generic [ref=e8]: - heading "项目概览" [level=2] [ref=e9] - button " 切换主题" [ref=e11] [cursor=pointer]: - generic [ref=e12]:  - text: 切换主题 - generic [ref=e13]: - generic [ref=e14]:  - heading "Apigo Base Mega Demo" [level=1] [ref=e15] - paragraph [ref=e16]: 点击左侧菜单查看不同组件的能力展示 - generic [ref=e17]: - heading "基础底层能力验证 (State Core Capability)" [level=4] [ref=e18] - generic [ref=e19]: - generic [ref=e21]: - generic [ref=e22]: 1. $text & 样式绑定 - generic [ref=e23]: - paragraph - button "切换颜色" [ref=e24] [cursor=pointer] - generic [ref=e26]: - generic [ref=e27]: 2. $if 显式模板判断 - button "切换显示" [ref=e29] [cursor=pointer] - generic [ref=e31]: - generic [ref=e32]: 3. $each 循环渲染 - generic [ref=e33]: - list - generic [ref=e35]: - generic [ref=e36]: 4. $if 嵌套 $each - button "切换外层" [ref=e38] [cursor=pointer] - generic [ref=e40]: - generic [ref=e41]: 5. $each 嵌套 $if (条件渲染列表项) - button "切换 Item B 显示" [ref=e43] [cursor=pointer] ```