Files
pear-admin-flask/scripts/test_mobile_interact.py
T
bwstudio 0ffc103e46 feat(plugins): 4 个业务插件代码 + 前台公开页面改造
plugins/navManager:导航 CRUD + 导航分类 CRUD(独立 blueprint)
plugins/friendManager:友情链接 CRUD
plugins/aboutManager:关于本站 CRUD
plugins/siteStats:访问统计主页 + JSON 接口 + /site/* GET 埋点 + nav 卡片点击埋点

applications/view/public/nav.py:导航聚合页 / 分类详情 / JSON 接口,支持 visit_count 注入
applications/view/public/about.py:关于本站公开页
applications/view/public/friend.py:友情链接公开页

templates/public/base.html:响应式首页(搜索框 / 分类抽屉 / 5 主题切换 / footer 隐私小字)
templates/public/index.html / category.html:卡片右下角访问次数
templates/public/about.html / friend.html:关于 + 友链前台页

docs/plugins-development.md:插件开发完整指南(生命周期 + 4 个示例 + FAQ + framework 迁移)

scripts/:探针与端到端验证脚本(probe_*/verify_*/test_*)
2026-09-06 18:18:06 +08:00

32 lines
1.2 KiB
Python

"""简单交互测试:手机端搜索过滤 + 分类 Tab 点击"""
import time
from playwright.sync_api import sync_playwright
with sync_playwright() as pw:
browser = pw.chromium.launch(headless=True, args=['--no-sandbox', '--disable-gpu'])
ctx = browser.new_context(viewport={'width':390,'height':844}, device_scale_factor=2)
page = ctx.new_page()
page.goto('http://192.168.1.10:5000/', wait_until='networkidle')
page.wait_for_timeout(1000)
# 1. 搜索过滤
page.fill('#search-input', '百度')
page.wait_for_timeout(800)
visible = page.locator('.grid .card:not([style*="display: none"])').count()
hidden = page.locator('.grid .card[style*="display: none"]').count()
print(f'搜索"百度":可见 {visible} 条,隐藏 {hidden} 条')
# 2. 清空搜索
page.fill('#search-input', '')
page.wait_for_timeout(800)
visible2 = page.locator('.grid .card:not([style*="display: none"])').count()
print(f'清空后:可见 {visible2} 条')
# 3. 点击第二个分类 Tab
tabs = page.locator('.cat-nav-inner a')
if tabs.count() > 1:
tabs.nth(1).click()
page.wait_for_timeout(800)
print('点击分类 Tab 后 URL:', page.url)
browser.close()