Open biancadanforth opened 6 years ago
See Issue #20
Verify pwmgr
- ask
and pwmgr
- save
probes work:
shield.savant.enabled
pref to true
.about:telemetry#events-tab
for the current ping. Observe there are two events, pwmgr
- ask
and pwmgr
- save
and both events have the same flow_id
value in the extra
field.Verify pwmgr
- ask
and pwmgr
- update
probes work:
about:telemetry#events-tab
there are two events: pwmgr
- ask
and pwmgr
- update
and both events have the same flow_id
value in the extra
field.Verify pwmgr_use
- use
works:
Note: Unlike the other Password Manager probes, this event happens in the content as opposed to the parent process.
about:telemetry#event-tab
there is a new event: pwmgr_use
- use
.Verify pwmgr
- ask
probe works:
about:telemetry#events-tab
for the current ping, and click on “Events” in the side menu.ask
.See Issue #24
Verify login_form
- load
works:
shield.savant.enabled
to true
in about:config
.login_form
event (see #24 for why there might be more than one event fired for a single login page) with a method of load
in about:telemetry#events-tab
for the most recent main
ping.Verify login_form
- submit
works:
shield.savant.enabled
to true
in about:config
.login_form
probe with a method of submit
in about:telemetry#events-tab
for the most recent main
ping. Note the limitations of recording this event, as described in #24 , such as it will not fire for login forms that do not use a <form>
element.Note: Add-on install/uninstall events change the "environment", triggering the existing main ping with all of its appended events to fire, and a new main ping with no events appended to appear. So look for these events in both the current main ping and the previous main ping.
See Issue #25
Verify addon
- install_start
and addon
- install_finish
shield.savant.enabled
to true
in about:config
.addon
probe with a method of install_start
and install_finish
in about:telemetry#events-tab
. These two events should have the same add-on ID in the value
field. Note this addon ID.Verify value
field addon ID is the same for events with the same add-on. && Verify addon
- uninstall_start
and addon
- uninstall_finish
about:telemetry#events-tab
that the addon
- install_start
and addon
- install_finish
event value in the value
field for Add-on B are different than that for Add-on A.about:addons
.about:telemetry#events-tab
that the addon
- uninstall_start
and addon
- uninstall_finish
event value
value matches that of the original value
for Add-on A from Step 3 above.
Note: the uninstall event will not fire until you close out of about:addons
; this is a usability feature in case the user decides to undo the uninstall.Verify addon
- enable
and addon
- disable
about:addons
.about:addons
.about:telemetry#events-tab
the addon
probe with a method of enable
and disable
. These two events should have the same value in the value
field.See Issue #27
Verify bookmark
- add
shield.savant.enabled
to true
in about:config
.about:telemetry#events-tab
the bookmark
- save
event has been captured.Verify follow_bookmark
- open
about:telemetry#events-tab
the follow_bookmark
- open
event has been captured.Verify bookmark
- remove
about:telemetry#events-tab
the bookmark
- remove
event has been captured.See Issue #29
Verify tab
- open
shield.savant.enabled
to true
in about:config
.open
and select
events fire.about:telemetry#events-tab
the tab
- open
event has been captured.Verify tab
- close
close
event.about:telemetry#events-tab
the tab
- close
event has been captured.Verify tab
- select
select
event.about:telemetry#events-tab
the tab
- select
event has been captured.See Issue #31 .
Verify follow_urlbar_link
- bookmark
shield.savant.enabled
to true
in about:config
.about:telemetry#events-tab
the follow_urlbar_link
- bookmark
event has been captured.Verify follow_urlbar_link
- history
shield.savant.enabled
to true
in about:config
.about:telemetry#events-tab
the follow_urlbar_link
- history
event has been captured.Note: These events take place in the content process; you'll need to switch the default of parent to content in the top right corner dropdown on about:telemetry#events-tab
to view them.
See Issue #33 .
Verify readermode
- on
shield.savant.enabled
to true
in about:config
.<article>
HTML element, like this medium.com article).about:telemetry#events-tab
the readermode - on
event has been captured in the content process.Verify readermode
- off
about:telemetry#events-tab
the readermode - off
event has been captured in the content process.See Issue #35 .
Verify library_menu
- open
shield.savant.enabled
to true
in about:config
.about:telemetry#events-tab
the library_menu - open
event has been captured.Verify hamburger_menu
- open
about:telemetry#events-tab
the hamburger_menu - open
event has been captured.Verify dotdotdot_menu
- open
about:telemetry#events-tab
the dotdotdot_menu - open
event has been captured.
TESTPLAN.md
Preparations
How to obtain a Firefox build with the patch
Preferred method
For a given Bugzilla bug (ex: 1462725) that you are NI-ed on, under the "MozReview Requests" section, click on any of the links in the "Diff" column.
You will be taken to Review Board. In the second section of that page, notice the header "Commit(s) successfully landed on try". To the far right of that header are a couple of links. Click the "See it in Treeherder" link.
You will be taken to the Treeherder page for this patch. Select the desired OS opt build job (ex: for Mac OS, this would be "OS X Cross Compiled opt").
A new section will appear at the bottom of the page. In the "Job Details" tab, scroll down until you find the row with the Firefox binary for the chosen OS (for Mac OS, this would be the row containing "artifact uploaded: target.dmg"), and click on the link in that row. This will download the file.
Note: On a Mac, you will be prompted to move the "Nightly" application to the Applications folder. Please note that you can only have one instance of Firefox opened at a time, unless you open the second instance of Firefox from the "Terminal" application's command line (ex:
/Applications/Nightly.app/Contents/MacOS/firefox-bin
).Alternate method
See README (#1 ) Development section.
How to find event telemetry pings in
about:telemetry
Navigate to
about:telemetry
in the URL bar. By default, the"current ping"
will be selected. Event telemetry is currently appended to the"main ping"
, though there are plans to change this in the future.You can change which ping to show by clicking the down arrow next to the
"current ping"
label in the top left corner of the page.Select the "Archived ping data" radio button and under "Ping Type", choose "main" in the dropdown menu.
You can choose between different main pings under "Ping" in the dropdown menu. For QA purposes, we will typically be looking at the
"current ping"
, which is often the"main"
ping, or we will be looking at the top two most recent"main"
pings.Clicking off that menu, note the sidebar of different kinds of data available in the main ping. If and only if there is any event telemetry recorded in a given
"main"
ping, there will be an "Events" tab in the sidebar.Functional tests
Basic Study Behavior (Bug 1462725)
Study Preference
shield.savant.enabled
boolean pref is set totrue
in a clean profile throughabout:config
, performing a search in the URL bar will generate a corresponding ping inabout:telemetry
. Conversely, when theshield.savant.enabled
boolean pref is set tofalse
in a clean profile throughabout:config
, performing a search in the URL bar will NOT generate a corresponding ping inabout:telemetry
.Eligibility
"browser.privatebrowsing.autostart"
set totrue
) and then the study is enabled ("shield.savant.enabled"
set totrue
), the study will end ("shield.savant.enabled"
set tofalse
and"end_study"
telemetry ping sent with an object value of"ineligible"
). No further "savant" category probes will show up inabout:telemetry
."browser.privatebrowsing.autostart"
tofalse
. Then set"shield.savant.enabled"
totrue
. The study should start up, recording all“savant”
category probes. Then set"browser.privatebrowsing.autostart"
totrue
. Close out and restart Firefox. On reopening Firefox, the study should end with reason “ineligible”, submitting a final”end_study”
savant ping and no further “savant” category probes will show up in about:telemetry.End study
There are only 3 study endings for this study (See the README for a description of each of these endings):
To check that the
"study-disable"
event fires correctly:about:config
, set the"shield.savant.enabled"
pref totrue
.false
.about:telemetry
that there is a"savant"
event telemetry ping with a method of"end_study"
and an object of"study-disable"
.Study duration
Test that when the study expires, it stops collecting data for the
”savant”
probes (requires a try build, see Study Preference section above).Study expired during the session.
shield.savant.enabled
totrue
.”savant”
newtab search event shows up in about:telemetry.”savant”
event for the URL bar.”end_study”
ping with an object of”expired”
. The study expired during shutdown of the previous session.Study expired between sessions
shield.savant.enabled
totrue
.”end_study”
event in about:telemetry with an object of”expired”
.