Confirmed users
33
edits
(Adding spinning GIF) |
(Add some more formatting, 140% cooler now.) |
||
| Line 1: | Line 1: | ||
= https://irccloud.mozilla.com/file/8eTYehOd/hot.gif | = Test Plan (Overview) https://irccloud.mozilla.com/file/8eTYehOd/hot.gif = | ||
| Line 40: | Line 38: | ||
=== Common === | === Common === | ||
'''setup()''' | Shared steps between Notifications tests: | ||
'''<code>setup()</code>''' | |||
# Open https://pdehaan.github.io/push-notification-test/ | # Open https://pdehaan.github.io/push-notification-test/ | ||
# Click '''pop Notification''' button. | # Click '''pop Notification''' button. | ||
'''teardown()''' | '''<code>teardown()</code>''' | ||
# Click on lock icon in the address bar. | # Click on lock icon in the address bar. | ||
# Set '''Show Notifications''' permission to "Always Ask". | # Set '''Show Notifications''' permission to "Always Ask". | ||
| Line 56: | Line 56: | ||
# Verify the permissisons section says "You have not granted this site any special permissions." | # Verify the permissisons section says "You have not granted this site any special permissions." | ||
'''Verify that trying to display a notification causes a dialog to appear.''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify that trying to display a notification causes a dialog to appear.<br/> | |||
'''Steps:'''<br/> | |||
# <code>setup()</code> | # <code>setup()</code> | ||
# Click the "close" button in the upper right corner of the notifications doorhanger. | # Click the "close" button in the upper right corner of the notifications doorhanger. | ||
| Line 65: | Line 66: | ||
'''Verify clicking outside of a notification dismisses it automatically (OS X only).''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify clicking outside of a notification dismisses it automatically (OS X only).<br/> | |||
'''Steps:'''<br/> | |||
# <code>setup()</code> | # <code>setup()</code> | ||
# Click outside of the notifications doorhanger. | # Click outside of the notifications doorhanger. | ||
| Line 71: | Line 74: | ||
'''Verify clicking on the "Learn more" link opens the target page.''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify clicking on the "Learn more" link opens the target page.<br/> | |||
'''Steps:'''<br/> | |||
# <code>setup()</code> | # <code>setup()</code> | ||
# Click the "Learn more..." link in the notifications doorhanger. | # Click the "Learn more..." link in the notifications doorhanger. | ||
# Verify the browser redirects to https://www.mozilla.org/en-US/firefox/push/ (in a new tab). | # Verify the browser redirects to https://www.mozilla.org/en-US/firefox/push/ (in a new tab). | ||
'''Verify that a notification is auto-closed after X seconds.''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify that a notification is auto-closed after X seconds.<br/> | |||
'''Steps:'''<br/> | |||
# <code>setup()</code> | # <code>setup()</code> | ||
# Select "Always Show Notifications" from the notifications doorhanger. | # Select "Always Show Notifications" from the notifications doorhanger. | ||
| Line 83: | Line 90: | ||
'''Verify that blocking notifications prevents notifications from displaying.''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify that blocking notifications prevents notifications from displaying.<br/> | |||
'''Steps:'''<br/> | |||
# <code>setup()</code> | # <code>setup()</code> | ||
# Select "Always Block Notifications" from the notifications doorhanger. | # Select "Always Block Notifications" from the notifications doorhanger. | ||
| Line 92: | Line 101: | ||
'''Verify clicking "Not Now" from the notification permissions doorhanger causes the permissions popup to appear again.''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify clicking "Not Now" from the notification permissions doorhanger causes the permissions popup to appear again.<br/> | |||
'''Steps:'''<br/> | |||
# <code>setup()</code> | # <code>setup()</code> | ||
# Select "Not Now" from the notifications doorhanger. | # Select "Not Now" from the notifications doorhanger. | ||
| Line 101: | Line 112: | ||
'''Verify changing notification permissions in the address bar causes the notification permissions screen to reappear.''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify changing notification permissions in the address bar causes the notification permissions screen to reappear.<br/> | |||
'''Steps:'''<br/> | |||
# <code>setup()</code> | # <code>setup()</code> | ||
# Select "Always Show Notifications" from the notifications doorhanger. | # Select "Always Show Notifications" from the notifications doorhanger. | ||
| Line 122: | Line 135: | ||
'''Verify programmatically closing a notification causes it to immediately disappear.''' | '''Name:''' TBD<br/> | ||
# setup() | '''Description:''' Verify programmatically closing a notification causes it to immediately disappear.<br/> | ||
'''Steps:'''<br/> | |||
# <code>setup()</code> | |||
# Select "Always Show Notifications" from the notifications doorhanger. | # Select "Always Show Notifications" from the notifications doorhanger. | ||
# Verify notification appears. | # Verify notification appears. | ||
# Click "closeNotification" button. | # Click "closeNotification" button. | ||
# Verify notification is immediately dismissed. | # Verify notification is immediately dismissed. | ||
# teardown() | # <code>teardown()</code> | ||
'''Verify notification can be manually dismissed by swiping it (OS X only).''' | '''Name:''' TBD<br/> | ||
# setup() | '''Description:''' Verify notification can be manually dismissed by swiping it (OS X only).<br/> | ||
'''Steps:'''<br/> | |||
# <code>setup()</code> | |||
# Select "Always Show Notifications" from the notifications doorhanger. | # Select "Always Show Notifications" from the notifications doorhanger. | ||
# Click and drag notification to dismiss it. | # Click and drag notification to dismiss it. | ||
# teardown() | # <code>teardown()</code> | ||
'''Verify notification can be dismissed by clicking the close button.''' | '''Name:''' TBD<br/> | ||
# setup() | '''Description:''' Verify notification can be dismissed by clicking the close button.<br/> | ||
'''Steps:'''<br/> | |||
# <code>setup()</code> | |||
# Select "Always Show Notifications" from the notifications doorhanger. | # Select "Always Show Notifications" from the notifications doorhanger. | ||
# Hover over the doorhanger and click the "Close" button. | # Hover over the doorhanger and click the "Close" button. | ||
# Verify notification is immediately dismissed. | # Verify notification is immediately dismissed. | ||
# teardown() | # <code>teardown()</code> | ||
'''Verify setting `requireInteraction` to true causes the notification to remain open until explicitly closed (OS X only).''' | '''Name:''' TBD<br/> | ||
# setup() | '''Description:''' Verify setting `requireInteraction` to true causes the notification to remain open until explicitly closed (OS X only).<br/> | ||
'''Steps:'''<br/> | |||
# <code>setup()</code> | |||
# Select "Always Show Notifications" from the notifications doorhanger. | # Select "Always Show Notifications" from the notifications doorhanger. | ||
# Set "requireInteraction" dropdown to `true`. | # Set "requireInteraction" dropdown to `true`. | ||
# Click "pop Notification" button. | # Click "pop Notification" button. | ||
# Verify that the notification persists until explicitly closed. | # Verify that the notification persists until explicitly closed. | ||
# teardown() | # <code>teardown()</code> | ||
'''Verify setting `requireInteraction` to false (default) causes the notification to auto-close after X seconds.''' | '''Name:''' TBD<br/> | ||
# setup() | '''Description:''' Verify setting `requireInteraction` to false (default) causes the notification to auto-close after X seconds.<br/> | ||
'''Steps:'''<br/> | |||
# <code>setup()</code> | |||
# Select "Always Show Notifications" from the notifications doorhanger. | # Select "Always Show Notifications" from the notifications doorhanger. | ||
# Set "requireInteraction" dropdown to `false`. | # Set "requireInteraction" dropdown to `false`. | ||
# Click "pop Notification" button. | # Click "pop Notification" button. | ||
# Verify the notification auto dismisses after X seconds. | # Verify the notification auto dismisses after X seconds. | ||
# teardown() | # <code>teardown()</code> | ||
'''Verify clicking on a notification opens a specified URL.''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify clicking on a notification opens a specified URL.<br/> | |||
'''Steps:'''<br/> | |||
# <code>setup()</code> | # <code>setup()</code> | ||
# Select "Always Show Notifications" from the notifications doorhanger. | # Select "Always Show Notifications" from the notifications doorhanger. | ||
| Line 172: | Line 197: | ||
'''Verify setting target opens specified URL in the specified window.''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify setting target opens specified URL in the specified window.<br/> | |||
'''Steps:'''<br/> | |||
# Open https://pdehaan.github.io/push-notification-test/ | # Open https://pdehaan.github.io/push-notification-test/ | ||
# Set "target" to `_top`. | # Set "target" to `_top`. | ||
| Line 181: | Line 208: | ||
'''Verify setting a target causes a notification to open in the same window.''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify setting a target causes a notification to open in the same window.<br/> | |||
'''Steps:'''<br/> | |||
# Open https://pdehaan.github.io/push-notification-test/ | # Open https://pdehaan.github.io/push-notification-test/ | ||
# Set "target" to `foobar`. | # Set "target" to `foobar`. | ||
| Line 192: | Line 221: | ||
'''Verify setting a _blank target causes a notification to open in the new window.''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify setting a _blank target causes a notification to open in the new window.<br/> | |||
'''Steps:'''<br/> | |||
# Open https://pdehaan.github.io/push-notification-test/ | # Open https://pdehaan.github.io/push-notification-test/ | ||
# Set "target" to `_blank` (default). | # Set "target" to `_blank` (default). | ||
| Line 203: | Line 234: | ||
'''Verify clicking the pop Notification button causes the notification to display multiple times.''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify clicking the pop Notification button causes the notification to display multiple times.<br/> | |||
'''Steps:'''<br/> | |||
# <code>setup()</code> | # <code>setup()</code> | ||
# Select "Always Show Notifications" from the notifications doorhanger. | # Select "Always Show Notifications" from the notifications doorhanger. | ||
| Line 212: | Line 245: | ||
'''Verify the notification is not dismissed when hovering over the notification.''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify the notification is not dismissed when hovering over the notification.<br/> | |||
'''Steps:'''<br/> | |||
# <code>setup()</code> | # <code>setup()</code> | ||
# Select "Always Show Notifications" from the notifications doorhanger. | # Select "Always Show Notifications" from the notifications doorhanger. | ||
| Line 221: | Line 256: | ||
'''Verify the notification is not dismissed when hovering over an item in the submenu (OS X only).''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify the notification is not dismissed when hovering over an item in the submenu (OS X only).<br/> | |||
'''Steps:'''<br/> | |||
# <code>setup()</code> | # <code>setup()</code> | ||
# Select "Always Show Notifications" from the notifications doorhanger. | # Select "Always Show Notifications" from the notifications doorhanger. | ||
| Line 231: | Line 268: | ||
'''Verify clicking Notification Settings in the notification causes the preferences page to appear.''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify clicking Notification Settings in the notification causes the preferences page to appear.<br/> | |||
'''Steps:'''<br/> | |||
# <code>setup()</code> | # <code>setup()</code> | ||
# Select "Always Show Notifications" from the notifications doorhanger. | # Select "Always Show Notifications" from the notifications doorhanger. | ||
| Line 240: | Line 279: | ||
'''Verify allowing notifications reports correctly in about:preferences#content''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify allowing notifications reports correctly in about:preferences#content<br/> | |||
'''Steps:'''<br/> | |||
# <code>setup()</code> | # <code>setup()</code> | ||
# Select "Always Show Notifications" from the notifications doorhanger. | # Select "Always Show Notifications" from the notifications doorhanger. | ||
| Line 249: | Line 290: | ||
'''Verify blocking notifications reports correctly in about:preferences#content''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify blocking notifications reports correctly in about:preferences#content<br/> | |||
'''Steps:'''<br/> | |||
# <code>setup()</code> | # <code>setup()</code> | ||
# Select "Always Block Notifications" from the notifications doorhanger. | # Select "Always Block Notifications" from the notifications doorhanger. | ||
| Line 258: | Line 301: | ||
'''Verify a long "Title" doesn't cause the notification to resize.''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify a long "Title" doesn't cause the notification to resize.<br/> | |||
'''Steps:'''<br/> | |||
# Open https://pdehaan.github.io/push-notification-test/ | # Open https://pdehaan.github.io/push-notification-test/ | ||
# Set "Title"to a a long string. | # Set "Title"to a a long string. | ||
# Click "pop Notification" button. | # Click "pop Notification" button. | ||
# Verify the title text truncates and doesn't resize notification popup. | # Verify the title text truncates and doesn't resize notification popup. | ||
# teardown() | # <code>teardown()</code> | ||
'''Verify a long "Body Text" doesn't cause the notification to resize.''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify a long "Body Text" doesn't cause the notification to resize.<br/> | |||
'''Steps:'''<br/> | |||
# Open https://pdehaan.github.io/push-notification-test/ | # Open https://pdehaan.github.io/push-notification-test/ | ||
# Set "Body Text"to a a long string. | # Set "Body Text"to a a long string. | ||
# Click "pop Notification" button. | # Click "pop Notification" button. | ||
# Verify the body text truncates and doesn't resize notification popup. | # Verify the body text truncates and doesn't resize notification popup. | ||
# teardown() | # <code>teardown()</code> | ||
| Line 278: | Line 325: | ||
=== Common === | === Common === | ||
'''setup()''' | Shared steps between Push API tests: | ||
'''<code>setup()</code>''' | |||
# Open https://pdehaan.github.io/push-notification-test/ | # Open https://pdehaan.github.io/push-notification-test/ | ||
# Click "register Service Worker" button. | # Click "register Service Worker" button. | ||
'''teardown()''' | '''<code>teardown()</code>''' | ||
# Click "Unregister Service Worker" button. | # Click "Unregister Service Worker" button. | ||
=== Tests === | === Tests === | ||
'''Verify registering a service worker causes it to appear in about:serviceworkers.''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify registering a service worker causes it to appear in about:serviceworkers.<br/> | |||
'''Steps:'''<br/> | |||
# <code>setup()</code> | # <code>setup()</code> | ||
# Verify HTML output is: | # Verify HTML output is: | ||
| Line 305: | Line 356: | ||
'''Verify sending a message to a service worker causes it to echo the message.''' | '''Name:''' TBD<br/> | ||
'''Description:''' Verify sending a message to a service worker causes it to echo the message.<br/> | |||
'''Steps:'''<br/> | |||
# <code>setup()</code> | # <code>setup()</code> | ||
# Click "subscribe to push" button. | # Click "subscribe to push" button. | ||
| Line 314: | Line 367: | ||
# Verify "messageChannel.port1.onmessage: SW echo: 999" output on page. | # Verify "messageChannel.port1.onmessage: SW echo: 999" output on page. | ||
# <code>teardown()</code> | # <code>teardown()</code> | ||
== PUSH API - REFERENCE == | |||
'''Push WebSocket Endpoints:''' | |||
{| | |||
|- | |||
| '''source:''' || https://mana.mozilla.org/wiki/display/SVCOPS/SimplePush#SimplePush-Deployments | |||
|} | |||
'''PUSH ENDPOINTS - STAGE:''' | |||
{| | |||
|- | |||
| '''Production:''' || wss://push.services.mozilla.com/ | |||
|- | |||
| '''Production:''' || wss://updates.push.services.mozilla.com/ | |||
|- | |||
| '''Staging:''' || wss://autopush.stage.mozaws.net/ | |||
|- | |||
| '''Staging:''' || wss://updates-autopush.stage.mozaws.net/ | |||
|- | |||
| '''Dev:''' || wss://autopush.dev.mozaws.net/ | |||
|} | |||
'''STATUS / HEALTH:''' | |||
{| | |||
|- | |||
| '''Production:''' || https://updates.push.services.mozilla.com/health | |||
|- | |||
| '''Production:''' || https://updates.push.services.mozilla.com/status | |||
|- | |||
| '''Staging:''' || https://updates-autopush.stage.mozaws.net/health | |||
|} | |||
= CONTACTS = | = CONTACTS = | ||