Files
obsidian-vault/work/projects/CPM Breakage Testing Steps.md

3.0 KiB
Raw Permalink Blame History

Testing Steps

Run each case with fresh app data so daily pixel deduplication does not hide results. In Xcodes console, filter by PixelKit Category.

Healthy navigation

  1. Open a web page.
  2. Wait at least 5 seconds → no debug_web_extension_cpm_* pixel is sent.
  3. Open Debug → Web Extensions → Simulate CPM Messaging Breakage (On).
  4. Open New Tab, Settings, Bookmarks (internal pages), validate no debug_web_extension_cpm_* pixel is sent

Failure, stuck, and recovery

  1. Open Debug → Web Extensions → Simulate CPM Messaging Breakage (On).
  2. Load a web page and wait 5 seconds → debug_web_extension_cpm_initialization_failed_after_other is sent; no stuck pixel is sent.
  3. Navigate to another HTTP(S) page and wait 5 seconds → debug_web_extension_cpm_messaging_stuck_other is sent.
  4. Select Simulate CPM Messaging Breakage (Off).
  5. Reload the page → debug_web_extension_cpm_messaging_recovered_without_extension_reload is sent.
  6. Navigate again → no additional CPM failure or recovery pixel is sent.

Session restoration

  1. Open a web page, e.g. https://privacy-test-pages.site/features/autoconsent/banner.html
  2. Duplicate the tab twice (3 tabs are open)
  3. Open Settings → General, activate Reopen all windows and tabs from last session
  4. Restart the browser
  5. Open Debug → Web Extensions → Simulate CPM Messaging Breakage (On)
  6. Switch to another tab
  7. wait 5 seconds → debug_web_extension_cpm_initialization_failed_after_session_restoration is sent
  8. Switch to the remaining restored tab
  9. wait 5 seconds → debug_web_extension_cpm_initialization_failed_after_session_restoration is skipped (as its daily): no debug_web_extension_cpm_messaging_stuck… is sent
  10. Reload the tab or navigate somewhere else
  11. wait 5 seconds → debug_web_extension_cpm_initialization_failed_after_other is sent; debug_web_extension_cpm_messaging_stuck_session_restoration is sent

Concurrent navigations

  1. Select Simulate CPM Messaging Breakage (On).
  2. Load HTTP(S) pages in two tabs before either 4-second timeout expires.
  3. Wait 5 seconds → initialization failures are observed, but no debug_web_extension_cpm_messaging_stuck_* pixel is sent.
  4. Start another navigation after those failures and wait 5 seconds → debug_web_extension_cpm_messaging_stuck_other is sent.

Extension reload

  1. Start with Simulate CPM Messaging Breakage (Off) and use the Fire button to trigger extension reloading.
  2. After data clearing completes, select Simulate CPM Messaging Breakage (On).
  3. Load a web page and wait 5 seconds → these pixels are sent:
    • debug_web_extension_cpm_initialization_failed_after_extension_reload
    • debug_web_extension_cpm_messaging_extension_reload_failed
  4. Navigate again and wait 5 seconds → debug_web_extension_cpm_messaging_stuck_extension_reload is sent.
  5. Select Simulate CPM Messaging Breakage (Off) and reload → debug_web_extension_cpm_messaging_recovered_after_extension_reload is sent.