playwright-test

โดย posthog

เขียน playwright test ให้แน่ใจว่ามันรันได้ และไม่ flaky

npx skills add https://github.com/posthog/posthog --skill playwright-test

Read @playwright/README.md for best practices, gotchas, and how to run tests.

Rules

  • Follow the best practices in the README strictly
  • After UI interactions, always assert on UI changes, do not assert on network requests resolving
  • Keep looping until all tests pass. Do not give up or ask the user for help. You must resolve every failure yourself.

Instructions

You are to plan an end to end playwright test for a feature.

Step 1: Plan the test(s) to be done.

Use the Playwright MCP tools (e.g., mcp__playwright__browser_navigate, mcp__playwright__browser_click, mcp__playwright__browser_screenshot) to interact with the browser and plan your tests.

After your exploration, present the plan to me for confirmation or any changes.

Step 2: Implement the test plan

  • Write the tests, making sure to use common patterns used in neighbouring files.
  • Run the tests with BASE_URL='http://localhost:8010' pnpm --filter=@posthog/playwright exec playwright test <file name> --retries 0 --workers 3
  • Debug any failures. Look at screen shots, if needed launch the playwright mcp skills to interact with the browser. Go back to step 1 after attempting a fix.

Step 3: Ensure no flaky tests

After all tests pass in the file, run with --repeat-each 10 added to the command. This will surface any flaky tests.

If any test fails across the 10 runs, treat it as a real failure: go back to Step 2, debug, fix, and re-run Step 3. Do not proceed to Step 4 until every run of every test passes.

Step 4: Report

Once all tests pass, output a single line: Testing Complete

Skills เพิ่มเติมจาก posthog

error-tracking-hono
posthog
การติดตามข้อผิดพลาดของ PostHog สำหรับ Hono
tuning-incremental-sync-config
posthog
การกำหนดค่าการซิงค์จะอยู่บน ExternalDataSchema และสามารถเปลี่ยนแปลงได้ตลอดเวลาผ่าน external-data-schemas-partial-update การเปลี่ยนแปลงส่วนใหญ่จะไม่ทำลายข้อมูล (มีผลในการซิงค์ครั้งถัดไป) แต่บางอย่าง (การเปลี่ยน sync_type, การเปลี่ยนคีย์หลัก) จำเป็นต้องจัดการอย่างระมัดระวังเพื่อหลีกเลี่ยงการทำให้ข้อมูลที่ซิงค์เสียหาย
error-tracking-ruby
posthog
การติดตามข้อผิดพลาดของ PostHog สำหรับ Ruby
authoring-log-alerts
posthog
สร้างการแจ้งเตือนบันทึกที่มีประโยชน์และมีสัญญาณรบกวนต่ำสำหรับบริการในโปรเจกต์ PostHog ใช้เมื่อผู้ใช้ขอให้ตั้งค่าการแจ้งเตือนสำหรับบันทึกของพวกเขา แนะนำการแจ้งเตือนที่ควรเพิ่ม…
making-scenes-tab-aware
posthog
Guides converting PostHog frontend scenes to be tab aware for internal scene tabs. Use when adding or refactoring a `SceneExport` scene, fixing state leaking…
posthog-survey-creator
posthog
สร้างและกำหนดค่าแบบสำรวจใน PostHog ผ่านการสนทนาที่มีคำแนะนำ ใช้ทักษะนี้เมื่อผู้ใช้ต้องการสร้างแบบสำรวจ รวบรวมความคิดเห็นจากผู้ใช้ ดำเนินการ…
authoring-scouts
posthog
วิธีการเขียน แก้ไข และปรับแต่ง PostHog Signals scouts — เอเจนต์ตามกำหนดการที่สแกนโปรเจกต์และเขียนรายงานลงในกล่องข้อความ Signals ใช้เมื่อผู้ใช้…
integration-ruby
posthog
PostHog การผสานรวมสำหรับแอปพลิเคชัน Ruby ใดๆ ที่ใช้ Ruby SDK