Catch up and refresh the test pages
Background
The current test pages are not a great fit for their purpose and should be updated. They are sometimes confusing, sometimes wrong, out of date, unclear, or broken. They were not designed with automation in mind and as someone who uses them every day, are frustrating to use manually.
I had started with collecting all of the small examples developers/QA had created from tickets into a branch of the testpages that can currently be found on my fork here.
Goals
- Keep backwards compatibility.
- Don't unnecessarily break any teams automation.
- Make new pages clear, easy to use and easy to pass/fail.
- Support latest automation efforts.
- Support making releases faster.
- Cover more edge cases and issues (static content vs dynamic content etc.)
- Don't break running locally.
- Support / aim for explicit checks (like width==0).
What to change
Existing test pages to be updated into new format:
-
Blocking. -
Element Hiding. -
Element Hiding Emulation. -
Filter options - Resource types (Image, Object, Ping, Popup, Script, Stylesheet, Subdocument, WebRTC, WebSocket, XMLHTTPRequest) -
Filter options - Resource type exceptions (Image, Popup, Script, Stylesheet, Subdocument, XMLHTTPRequest) -
Filter options - Constraints (Match Case) -
Filter options - Exceptions (Document, Elem Hide, Element Hiding, Generic Block, Generic Hide) -
Filter options - Site Key Exception -
Circumvention edge cases (Inline style !important, Anonymous iframe document.write()) -
Index page - new structure (Blocking and Hiding, Filter Options - Resource Types, Filter Options - Resource Type Exceptions, Filter Options - Constraints, Filter Options - Exceptions, Filter Options - CSP, Filter Options - Rewrite, Snippets)
New test pages (not previously implemented):
-
Filter options - Resource type exceptions (Object, Ping, WebRTC, WebSocket) -
Filter options - Constraints (Third Party) -
Filter options - CSP -
Filter options - Rewrite -
Filter options - Resource type (Other). Example here -
Snippet - abort-current-inline-script -
Snippet - abort-on-property-read -
Snippet - abort-on-property-write -
Snippet - dir-string -
Snippet - hide-if-contains -
Snippet - hide-if-contains-and-matches-style -
Snippet - hide-if-contains-image -
Snippet - hide-if-contains-image-hash -
Snippet - hide-if-contains-visible-text -
Snippet - hide-if-has-and-matches-style -
Snippet - hide-if-shadow-contains -
Snippet - readd -
Snippet - strip-fetch-query-parameter
Other useful things to cover:
-
Subscription list for whole site.
Actions that need to be taken
-
Standardize on the format for the pages. -
Check if webext automation works on new format. -
Ask other teams about their automation / test page use. -
Ask other teams for feedback about new pages. -
Help other teams ensure automation stays working when switched. -
Discuss and decide how to support some features locally.
Edited by Toni Feliu