Files
Claude-Code-Workflow/ccw/frontend/playwright-report/data/e48ac45e7276feee01c6a8acc875404b2031d615.md
catlog22 81725c94b1 Add E2E tests for internationalization across multiple pages
- Implemented navigation.spec.ts to test language switching and translation of navigation elements.
- Created sessions-page.spec.ts to verify translations on the sessions page, including headers, status badges, and date formatting.
- Developed settings-page.spec.ts to ensure settings page content is translated and persists across sessions.
- Added skills-page.spec.ts to validate translations for skill categories, action buttons, and empty states.
2026-01-30 22:54:21 +08:00

6.2 KiB

Page snapshot

- generic [ref=e3]:
  - banner [ref=e4]:
    - link "navigation.header.brand" [ref=e6] [cursor=pointer]:
      - /url: /
      - img [ref=e7]
      - generic [ref=e11]: navigation.header.brand
    - generic [ref=e12]:
      - combobox "Select language" [active] [ref=e13] [cursor=pointer]:
        - img [ref=e14]
        - generic:
          - generic:
            - generic: 🇨🇳
            - generic: 中文
        - img [ref=e21]
      - button "common.aria.switchToDarkMode" [ref=e23] [cursor=pointer]:
        - img [ref=e24]
      - button "common.aria.userMenu" [ref=e27] [cursor=pointer]:
        - img [ref=e28]
  - generic [ref=e31]:
    - navigation "Claude Code Workflow" [ref=e32]:
      - navigation [ref=e33]:
        - list [ref=e34]:
          - listitem [ref=e35]:
            - link "navigation.main.home" [ref=e36] [cursor=pointer]:
              - /url: /
              - img [ref=e37]
              - generic [ref=e40]: navigation.main.home
          - listitem [ref=e41]:
            - link "navigation.main.sessions" [ref=e42] [cursor=pointer]:
              - /url: /sessions
              - img [ref=e43]
              - generic [ref=e48]: navigation.main.sessions
          - listitem [ref=e49]:
            - link "navigation.main.liteTasks" [ref=e50] [cursor=pointer]:
              - /url: /lite-tasks
              - img [ref=e51]
              - generic [ref=e53]: navigation.main.liteTasks
          - listitem [ref=e54]:
            - link "navigation.main.project" [ref=e55] [cursor=pointer]:
              - /url: /project
              - img [ref=e56]
              - generic [ref=e61]: navigation.main.project
          - listitem [ref=e62]:
            - link "navigation.main.history" [ref=e63] [cursor=pointer]:
              - /url: /history
              - img [ref=e64]
              - generic [ref=e67]: navigation.main.history
          - listitem [ref=e68]:
            - link "navigation.main.orchestrator" [ref=e69] [cursor=pointer]:
              - /url: /orchestrator
              - img [ref=e70]
              - generic [ref=e74]: navigation.main.orchestrator
          - listitem [ref=e75]:
            - link "navigation.main.loops" [ref=e76] [cursor=pointer]:
              - /url: /loops
              - img [ref=e77]
              - generic [ref=e82]: navigation.main.loops
          - listitem [ref=e83]:
            - link "navigation.main.issues" [ref=e84] [cursor=pointer]:
              - /url: /issues
              - img [ref=e85]
              - generic [ref=e89]: navigation.main.issues
          - listitem [ref=e90]:
            - link "navigation.main.skills" [ref=e91] [cursor=pointer]:
              - /url: /skills
              - img [ref=e92]
              - generic [ref=e98]: navigation.main.skills
          - listitem [ref=e99]:
            - link "navigation.main.commands" [ref=e100] [cursor=pointer]:
              - /url: /commands
              - img [ref=e101]
              - generic [ref=e104]: navigation.main.commands
          - listitem [ref=e105]:
            - link "navigation.main.memory" [ref=e106] [cursor=pointer]:
              - /url: /memory
              - img [ref=e107]
              - generic [ref=e117]: navigation.main.memory
          - listitem [ref=e118]:
            - link "navigation.main.settings" [ref=e119] [cursor=pointer]:
              - /url: /settings
              - img [ref=e120]
              - generic [ref=e123]: navigation.main.settings
          - listitem [ref=e124]:
            - link "navigation.main.help" [ref=e125] [cursor=pointer]:
              - /url: /help
              - img [ref=e126]
              - generic [ref=e130]: navigation.main.help
      - button "navigation.sidebar.collapseAria" [ref=e132] [cursor=pointer]:
        - img [ref=e133]
        - generic [ref=e137]: navigation.sidebar.collapse
    - main [ref=e138]:
      - generic [ref=e139]:
        - generic [ref=e140]:
          - generic [ref=e141]:
            - heading "skills.title" [level=1] [ref=e142]:
              - img [ref=e143]
              - text: skills.title
            - paragraph [ref=e149]: skills.description
          - generic [ref=e150]:
            - button "common.actions.refresh" [disabled]:
              - img
              - text: common.actions.refresh
            - button "skills.actions.install" [ref=e151] [cursor=pointer]:
              - img [ref=e152]
              - text: skills.actions.install
        - generic [ref=e155]:
          - generic [ref=e156]:
            - generic [ref=e157]:
              - img [ref=e158]
              - generic [ref=e164]: "0"
            - paragraph [ref=e165]: common.stats.totalSkills
          - generic [ref=e166]:
            - generic [ref=e167]:
              - img [ref=e168]
              - generic [ref=e171]: "0"
            - paragraph [ref=e172]: skills.state.enabled
          - generic [ref=e173]:
            - generic [ref=e174]:
              - img [ref=e175]
              - generic [ref=e180]: "0"
            - paragraph [ref=e181]: skills.state.disabled
          - generic [ref=e182]:
            - generic [ref=e183]:
              - img [ref=e184]
              - generic [ref=e187]: "0"
            - paragraph [ref=e188]: skills.card.category
        - generic [ref=e189]:
          - generic [ref=e190]:
            - img [ref=e191]
            - textbox "skills.filters.searchPlaceholder" [ref=e194]
          - generic [ref=e195]:
            - combobox [ref=e196] [cursor=pointer]:
              - generic: skills.filters.all
              - img [ref=e197]
            - combobox [ref=e199] [cursor=pointer]:
              - generic: skills.filters.allSources
              - img [ref=e200]
            - combobox [ref=e202] [cursor=pointer]:
              - generic: skills.filters.all
              - img [ref=e203]
        - generic [ref=e205]:
          - button "skills.filters.all (0)" [ref=e206] [cursor=pointer]
          - button "skills.state.enabled (0)" [ref=e207] [cursor=pointer]:
            - img [ref=e208]
            - text: skills.state.enabled (0)
          - button "skills.state.disabled (0)" [ref=e211] [cursor=pointer]:
            - img [ref=e212]
            - text: skills.state.disabled (0)
          - button "skills.view.compact" [ref=e218] [cursor=pointer]