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

51 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### 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.