QA/Push Notifications: Difference between revisions
(initial content) |
|||
Line 29: | Line 29: | ||
= Test Cases = | = Test Cases = | ||
* Test cases are outlined in: https://public.etherpad-mozilla.org/p/push-test | * Test cases are outlined in: https://public.etherpad-mozilla.org/p/push-test | ||
== NOTIFICATIONS API == | |||
'''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 === | |||
'''Verify the doorhanger reports if the site has requested any notification permissions''' | |||
# Click the lock icon in the address bar. | |||
# 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.''' | |||
# <code>setup()</code> | |||
# 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. | |||
'''Verify clicking outside of a notification dismisses it automatically (OS X only).''' | |||
# <code>setup()</code> | |||
# Click outside of the notifications doorhanger. | |||
# Verify the notifications doorhanger is dismissed. | |||
'''Verify clicking on the "Learn more" link opens the target page.''' | |||
# <code>setup()</code> | |||
# 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 that a notification is auto-closed after X seconds.''' | |||
# <code>setup()</code> | |||
# Select "Always Show Notifications" from the notifications doorhanger. | |||
# Verify the notification appears and auto-dismisses after X seconds. | |||
# <code>teardown()</code> | |||
'''Verify that blocking notifications prevents notifications from displaying.''' | |||
# <code>setup()</code> | |||
# Select "Always Block Notifications" from the notifications doorhanger. | |||
# Verify no notification appears. | |||
# Click "pop Notification" button. | |||
# Verify no notification appears. | |||
# <code>teardown()</code> | |||
'''Verify clicking "Not Now" from the notification permissions doorhanger causes the permissions popup to appear again.''' | |||
# <code>setup()</code> | |||
# Select "Not Now" from the notifications doorhanger. | |||
# Verify no notification appears. | |||
# Click "pop Notification" button. | |||
# Verify notification doorhanger appears again. | |||
# <code>teardown()</code> | |||
'''Verify changing notification permissions in the address bar causes the notification permissions screen to reappear.''' | |||
# <code>setup()</code> | |||
# 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. | |||
# <code>teardown()</code> | |||
'''Verify programmatically closing a notification causes it to immediately disappear.''' | |||
# setup() | |||
# Select "Always Show Notifications" from the notifications doorhanger. | |||
# Verify notification appears. | |||
# Click "closeNotification" button. | |||
# Verify notification is immediately dismissed. | |||
# teardown() | |||
'''Verify notification can be manually dismissed by swiping it (OS X only).''' | |||
# setup() | |||
# Select "Always Show Notifications" from the notifications doorhanger. | |||
# Click and drag notification to dismiss it. | |||
# teardown() | |||
'''Verify notification can be dismissed by clicking the close button.''' | |||
# setup() | |||
# Select "Always Show Notifications" from the notifications doorhanger. | |||
# Hover over the doorhanger and click the "Close" button. | |||
# Verify notification is immediately dismissed. | |||
# teardown() | |||
'''Verify setting `requireInteraction` to true causes the notification to remain open until explicitly closed (OS X only).''' | |||
# 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() | |||
'''Verify setting `requireInteraction` to false (default) causes the notification to auto-close after X seconds.''' | |||
# 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() | |||
'''Verify clicking on a notification opens a specified URL.''' | |||
# 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() | |||
'''Verify setting target opens specified URL in the specified window.''' | |||
# 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() | |||
'''Verify setting a target causes a notification to open in the same window.''' | |||
# 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() | |||
'''Verify setting a _blank target causes a notification to open in the new window.''' | |||
# 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() | |||
'''Verify clicking the pop Notification button causes the notification to display multiple times.''' | |||
# 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() | |||
'''Verify the notification is not dismissed when hovering over the notification.''' | |||
# <code>setup()</code> | |||
# 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() | |||
'''Verify the notification is not dismissed when hovering over an item in the submenu (OS X only).''' | |||
# 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() | |||
'''Verify clicking Notification Settings in the notification causes the preferences page to appear.''' | |||
# 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() | |||
'''Verify allowing notifications reports correctly in about:preferences#content''' | |||
# setup() | |||
# Select "Always Show Notifications" from the notifications doorhanger. | |||
# Open about:preferences#content | |||
# Click "Choose" button. | |||
# Verify that https://people.mozilla.org appears in site list and it's status is set to "Allow". | |||
# teardown() | |||
'''Verify blocking notifications reports correctly in about:preferences#content''' | |||
# setup() | |||
# Select "Always Block Notifications" from the notifications doorhanger. | |||
# Open about:preferences#content | |||
# Click "Choose" button. | |||
# Verify that https://people.mozilla.org appears in site list and it's status is set to "Block". | |||
# teardown() | |||
'''Verify a long "Title" doesn't cause the notification to resize.''' | |||
# 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() | |||
'''Verify a long "Body Text" doesn't cause the notification to resize.''' | |||
# 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() |
Revision as of 17:57, 16 October 2015
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 "TBD".
SIGNOFF CRITERIA
Cloud Services QA team will verify that:
- Desktop push notifications are working properly in FF Nightly.
- Interaction between Push service and serviceworkers and desktop URI is working as expected.
- TBD.
Testplan (Overview)
REFERENCE
Test Cases
- Test cases are outlined in: https://public.etherpad-mozilla.org/p/push-test
NOTIFICATIONS API
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
Verify the doorhanger reports if the site has requested any notification permissions
- Click the lock icon in the address bar.
- 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.
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.
Verify clicking outside of a notification dismisses it automatically (OS X only).
setup()
- Click outside of the notifications doorhanger.
- Verify the notifications doorhanger is dismissed.
Verify clicking on the "Learn more" link opens the target page.
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).
Verify that a notification is auto-closed after X seconds.
setup()
- Select "Always Show Notifications" from the notifications doorhanger.
- Verify the notification appears and auto-dismisses after X seconds.
teardown()
Verify that blocking notifications prevents notifications from displaying.
setup()
- Select "Always Block Notifications" from the notifications doorhanger.
- Verify no notification appears.
- Click "pop Notification" button.
- Verify no notification appears.
teardown()
Verify clicking "Not Now" from the notification permissions doorhanger causes the permissions popup to appear again.
setup()
- Select "Not Now" from the notifications doorhanger.
- Verify no notification appears.
- Click "pop Notification" button.
- Verify notification doorhanger appears again.
teardown()
Verify changing notification permissions in the address bar causes the notification permissions screen to reappear.
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()
Verify programmatically closing a notification causes it to immediately disappear.
- setup()
- Select "Always Show Notifications" from the notifications doorhanger.
- Verify notification appears.
- Click "closeNotification" button.
- Verify notification is immediately dismissed.
- teardown()
Verify notification can be manually dismissed by swiping it (OS X only).
- setup()
- Select "Always Show Notifications" from the notifications doorhanger.
- Click and drag notification to dismiss it.
- teardown()
Verify notification can be dismissed by clicking the close button.
- setup()
- Select "Always Show Notifications" from the notifications doorhanger.
- Hover over the doorhanger and click the "Close" button.
- Verify notification is immediately dismissed.
- teardown()
Verify setting `requireInteraction` to true causes the notification to remain open until explicitly closed (OS X only).
- 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()
Verify setting `requireInteraction` to false (default) causes the notification to auto-close after X seconds.
- 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()
Verify clicking on a notification opens a specified URL.
- 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()
Verify setting target opens specified URL in the specified window.
- 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()
Verify setting a target causes a notification to open in the same window.
- 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()
Verify setting a _blank target causes a notification to open in the new window.
- 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()
Verify clicking the pop Notification button causes the notification to display multiple times.
- 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()
Verify the notification is not dismissed when hovering over the notification.
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()
Verify the notification is not dismissed when hovering over an item in the submenu (OS X only).
- 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()
Verify clicking Notification Settings in the notification causes the preferences page to appear.
- 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()
Verify allowing notifications reports correctly in about:preferences#content
- setup()
- Select "Always Show Notifications" from the notifications doorhanger.
- Open about:preferences#content
- Click "Choose" button.
- Verify that https://people.mozilla.org appears in site list and it's status is set to "Allow".
- teardown()
Verify blocking notifications reports correctly in about:preferences#content
- setup()
- Select "Always Block Notifications" from the notifications doorhanger.
- Open about:preferences#content
- Click "Choose" button.
- Verify that https://people.mozilla.org appears in site list and it's status is set to "Block".
- teardown()
Verify a long "Title" doesn't cause the notification to resize.
- 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()
Verify a long "Body Text" doesn't cause the notification to resize.
- 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()