QA/Push Notifications: Difference between revisions
(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 = |
Revision as of 00:37, 17 October 2015
Test Plan (Overview) 
SUMMARY
- The purpose of this wiki is to serve as a general testplan for verifying desktop Push notifications.
OWNERSHIP
- Manual tests will be defined / outlined and executed by the Cloud Services QA Team
- Manual testing will be handed off to Firefox Quality Engineering Team
- Automated E2E smoke tests will be created by the Cloud Services QA Team
- Any further feature automation is TBD (by Firefox Quality Engineering Team)
TEST RESULTS
- Test results will be posted in Bugzilla (component: TBD).
SIGNOFF CRITERIA
Cloud Services QA team will verify that:
- Desktop push notifications are working properly in FF Nightly.
- Interaction between push-service (autopush[3]), ServiceWorkers[1], and desktop UI is working as expected.
Testplan (Overview)
REFERENCE
- [1] http://www.w3.org/TR/service-workers/
- [2] http://www.w3.org/TR/push-api/
- [3] autopush: https://github.com/mozilla-services/autopush/
- [4] push-service: https://github.com/mozilla-services/push-service
Test Cases
NOTIFICATIONS API
Common
Shared steps between Notifications tests:
setup()
- Open https://pdehaan.github.io/push-notification-test/
- Click pop Notification button.
teardown()
- Click on lock icon in the address bar.
- Set Show Notifications permission to "Always Ask".
Tests
Name: Doorhanger default state test
Description: Verify the doorhanger reports if the site has requested any notification permissions.
Steps:
- Click the lock icon in the address bar.
- Verify the permissisons section says "You have not granted this site any special permissions."
Name: TBD
Description: Verify that trying to display a notification causes a dialog to appear.
Steps:
setup()
- Click the "close" button in the upper right corner of the notifications doorhanger.
- Click "pop Notification" button.
- Verify the notification doorhanger appears again and requests permissions.
Name: TBD
Description: Verify clicking outside of a notification dismisses it automatically (OS X only).
Steps:
setup()
- Click outside of the notifications doorhanger.
- Verify the notifications doorhanger is dismissed.
Name: TBD
Description: Verify clicking on the "Learn more" link opens the target page.
Steps:
setup()
- 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).
Name: TBD
Description: Verify that a notification is auto-closed after X seconds.
Steps:
setup()
- Select "Always Show Notifications" from the notifications doorhanger.
- Verify the notification appears and auto-dismisses after X seconds.
teardown()
Name: TBD
Description: Verify that blocking notifications prevents notifications from displaying.
Steps:
setup()
- Select "Always Block Notifications" from the notifications doorhanger.
- Verify no notification appears.
- Click "pop Notification" button.
- Verify no notification appears.
teardown()
Name: TBD
Description: Verify clicking "Not Now" from the notification permissions doorhanger causes the permissions popup to appear again.
Steps:
setup()
- Select "Not Now" from the notifications doorhanger.
- Verify no notification appears.
- Click "pop Notification" button.
- Verify notification doorhanger appears again.
teardown()
Name: TBD
Description: Verify changing notification permissions in the address bar causes the notification permissions screen to reappear.
Steps:
setup()
- Select "Always Show Notifications" from the notifications doorhanger.
- Verify notification appears and auto-dismisses after X seconds.
- Click the lock button in the address bar.
- Change notification permissions to "Always Ask".
- Click "pop Notification" button.
- Verify notification doorhanger appears again.
- Select "Always Show Notifications" from the notifications doorhanger.
- Verify notification appears.
- Click the lock button in the address bar.
- Change notification permissions to "Block".
- Click "pop Notification" button.
- Verify no notification appears.
- Click the lock button in the address bar.
- Change notification permissions to "Allow".
- Click "pop Notification" button appears.
- Verify notification appears.
teardown()
Name: TBD
Description: Verify programmatically closing a notification causes it to immediately disappear.
Steps:
setup()
- Select "Always Show Notifications" from the notifications doorhanger.
- Verify notification appears.
- Click "closeNotification" button.
- Verify notification is immediately dismissed.
teardown()
Name: TBD
Description: Verify notification can be manually dismissed by swiping it (OS X only).
Steps:
setup()
- Select "Always Show Notifications" from the notifications doorhanger.
- Click and drag notification to dismiss it.
teardown()
Name: TBD
Description: Verify notification can be dismissed by clicking the close button.
Steps:
setup()
- Select "Always Show Notifications" from the notifications doorhanger.
- Hover over the doorhanger and click the "Close" button.
- Verify notification is immediately dismissed.
teardown()
Name: TBD
Description: Verify setting `requireInteraction` to true causes the notification to remain open until explicitly closed (OS X only).
Steps:
setup()
- Select "Always Show Notifications" from the notifications doorhanger.
- Set "requireInteraction" dropdown to `true`.
- Click "pop Notification" button.
- Verify that the notification persists until explicitly closed.
teardown()
Name: TBD
Description: Verify setting `requireInteraction` to false (default) causes the notification to auto-close after X seconds.
Steps:
setup()
- Select "Always Show Notifications" from the notifications doorhanger.
- Set "requireInteraction" dropdown to `false`.
- Click "pop Notification" button.
- Verify the notification auto dismisses after X seconds.
teardown()
Name: TBD
Description: Verify clicking on a notification opens a specified URL.
Steps:
setup()
- Select "Always Show Notifications" from the notifications doorhanger.
- Click on the notification.
- Verify that https://www.mozilla.org/en-US/ opens in a new tab.
teardown()
Name: TBD
Description: Verify setting target opens specified URL in the specified window.
Steps:
- Open https://pdehaan.github.io/push-notification-test/
- Set "target" to `_top`.
- Click "pop Notification" button.
- Select "Always Show Notifications" from the notifications doorhanger.
- Verify that https://www.mozilla.org/en-US/ opens in the current tab.
teardown()
Name: TBD
Description: Verify setting a target causes a notification to open in the same window.
Steps:
- Open https://pdehaan.github.io/push-notification-test/
- Set "target" to `foobar`.
- Click "pop Notification" button.
- Select "Always Show Notifications" from the notifications doorhanger.
- Verify that https://www.mozilla.org/en-US/ opens in a new tab.
- Click "pop Notification" button.
- Verify that https://www.mozilla.org/en-US/ opens in the same tab as step 5.
teardown()
Name: TBD
Description: Verify setting a _blank target causes a notification to open in the new window.
Steps:
- Open https://pdehaan.github.io/push-notification-test/
- Set "target" to `_blank` (default).
- Click "pop Notification" button.
- Select "Always Show Notifications" from the notifications doorhanger.
- Verify that https://www.mozilla.org/en-US/ opens in a new tab.
- Click "pop Notification" button.
- Verify that https://www.mozilla.org/en-US/ opens in a new tab.
teardown()
Name: TBD
Description: Verify clicking the pop Notification button causes the notification to display multiple times.
Steps:
setup()
- Select "Always Show Notifications" from the notifications doorhanger.
- Click "pop Notification" button 10 times.
- Verify the notification only appears once (and says "9 new notifications").
- Verify there are 11 notifications in the OSX notifications tray.
teardown()
Name: TBD
Description: Verify the notification is not dismissed when hovering over the notification.
Steps:
setup()
- Select "Always Show Notifications" from the notifications doorhanger.
- Hover over the notification and make sure the notification is not auto-dismissed.
- Move mouse off of notification.
- Verify that the notification disappears after X seconds.
teardown()
Name: TBD
Description: Verify the notification is not dismissed when hovering over an item in the submenu (OS X only).
Steps:
setup()
- Select "Always Show Notifications" from the notifications doorhanger.
- Hover over the notification and click the "..." button in the lower-right corner.
- Click "Disable notifications from this site" menu option.
- Click "pop Notification" button.
- Verify notification doorhanger appears.
teardown()
Name: TBD
Description: Verify clicking Notification Settings in the notification causes the preferences page to appear.
Steps:
setup()
- Select "Always Show Notifications" from the notifications doorhanger.
- Hover over the notification and click the "..." button in the lower-right corner.
- Click "Notification settings" menu option.
- Verify that about:preferences#content opens in a new tab.
teardown()
Name: TBD
Description: Verify allowing notifications reports correctly in about:preferences#content
Steps:
setup()
- Select "Always Show Notifications" from the notifications doorhanger.
- Open about:preferences#content
- Click "Choose" button.
- Verify that https://pdehaan.github.io/ appears in site list and it's status is set to "Allow".
teardown()
Name: TBD
Description: Verify blocking notifications reports correctly in about:preferences#content
Steps:
setup()
- Select "Always Block Notifications" from the notifications doorhanger.
- Open about:preferences#content
- Click "Choose" button.
- Verify that https://pdehaan.github.io/ appears in site list and it's status is set to "Block".
teardown()
Name: TBD
Description: Verify a long "Title" doesn't cause the notification to resize.
Steps:
- Open https://pdehaan.github.io/push-notification-test/
- Set "Title"to a a long string.
- Click "pop Notification" button.
- Verify the title text truncates and doesn't resize notification popup.
teardown()
Name: TBD
Description: Verify a long "Body Text" doesn't cause the notification to resize.
Steps:
- Open https://pdehaan.github.io/push-notification-test/
- Set "Body Text"to a a long string.
- Click "pop Notification" button.
- Verify the body text truncates and doesn't resize notification popup.
teardown()
PUSH API
Common
Shared steps between Push API tests:
setup()
- Open https://pdehaan.github.io/push-notification-test/
- Click "register Service Worker" button.
teardown()
- Click "Unregister Service Worker" button.
Tests
Name: TBD
Description: Verify registering a service worker causes it to appear in about:serviceworkers.
Steps:
setup()
- Verify HTML output is:
registering service worker
registered service worker. scope: https://pdehaan.github.io/push-notification-test/
- Click "Check Service Worker" button.
- Verify HTML output is:
checking service worker
Service worker active
- Open about:serviceworkers
- Verify service worker is registered to https://pdehaan.github.io/ origin.
- Go back to https://pdehaan.github.io/push-notification-test/
- Click "Unregister Service Worker" button.
- Open about:serviceworkers
- Verify "No Service Workers registered." message (refresh page if it was previously open tab).
teardown()
Name: TBD
Description: Verify sending a message to a service worker causes it to echo the message.
Steps:
setup()
- Click "subscribe to push" button.
- Click "sendMsgToSW" button.
- Verify "messageChannel.port1.onmessage: SW echo: HelloWorld" output on page.
- Change text box value to "999".
- Click "sendMsgToSW" button.
- Verify "messageChannel.port1.onmessage: SW echo: 999" output on page.
teardown()
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
- pdehaan@mozilla
- rpappalardo@mozilla
- ryanvm@mozilla