3.0 KiB
Executable File
3.0 KiB
Executable File
Testing Steps
Run each case with fresh app data so daily pixel deduplication does not hide results. In Xcode’s console, filter by PixelKit Category.
Healthy navigation
- Open a web page.
- Wait at least 5 seconds → no
debug_web_extension_cpm_*pixel is sent. - Open Debug → Web Extensions → Simulate CPM Messaging Breakage (On).
- Open New Tab, Settings, Bookmarks (internal pages), validate no
debug_web_extension_cpm_*pixel is sent
Failure, stuck, and recovery
- Open Debug → Web Extensions → Simulate CPM Messaging Breakage (On).
- Load a web page and wait 5 seconds →
debug_web_extension_cpm_initialization_failed_after_otheris sent; nostuckpixel is sent. - Navigate to another HTTP(S) page and wait 5 seconds →
debug_web_extension_cpm_messaging_stuck_otheris sent. - Select Simulate CPM Messaging Breakage (Off).
- Reload the page →
debug_web_extension_cpm_messaging_recovered_without_extension_reloadis sent. - Navigate again → no additional CPM failure or recovery pixel is sent.
Session restoration
- Open a web page, e.g. https://privacy-test-pages.site/features/autoconsent/banner.html
- Duplicate the tab twice (3 tabs are open)
- Open Settings → General, activate Reopen all windows and tabs from last session
- Restart the browser
- Open Debug → Web Extensions → Simulate CPM Messaging Breakage (On)
- Switch to another tab
- wait 5 seconds →
debug_web_extension_cpm_initialization_failed_after_session_restorationis sent - Switch to the remaining restored tab
- wait 5 seconds →
debug_web_extension_cpm_initialization_failed_after_session_restorationis skipped (as it‘s daily): nodebug_web_extension_cpm_messaging_stuck…is sent - Reload the tab or navigate somewhere else
- wait 5 seconds →
debug_web_extension_cpm_initialization_failed_after_otheris sent;debug_web_extension_cpm_messaging_stuck_session_restorationis sent
Concurrent navigations
- Select Simulate CPM Messaging Breakage (On).
- Load HTTP(S) pages in two tabs before either 4-second timeout expires.
- Wait 5 seconds → initialization failures are observed, but no
debug_web_extension_cpm_messaging_stuck_*pixel is sent. - Start another navigation after those failures and wait 5 seconds →
debug_web_extension_cpm_messaging_stuck_otheris sent.
Extension reload
- Start with Simulate CPM Messaging Breakage (Off) and use the Fire button to trigger extension reloading.
- After data clearing completes, select Simulate CPM Messaging Breakage (On).
- Load a web page and wait 5 seconds → these pixels are sent:
debug_web_extension_cpm_initialization_failed_after_extension_reloaddebug_web_extension_cpm_messaging_extension_reload_failed
- Navigate again and wait 5 seconds →
debug_web_extension_cpm_messaging_stuck_extension_reloadis sent. - Select Simulate CPM Messaging Breakage (Off) and reload →
debug_web_extension_cpm_messaging_recovered_after_extension_reloadis sent.