Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(692)

Unified Diff: telemetry/telemetry/internal/browser/tab_unittest.py

Issue 3012573002: Add tab.IsServiceWorkerReadyOrNotRegist() which tells whether serviceworker registration is finished (Closed)
Patch Set: fix presubmit error Created 3 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: telemetry/telemetry/internal/browser/tab_unittest.py
diff --git a/telemetry/telemetry/internal/browser/tab_unittest.py b/telemetry/telemetry/internal/browser/tab_unittest.py
index df7c0b43acd7159defc5b3ef718257c10987a315..f31e6b30798a0d664543ff4209171d1d6446e70c 100644
--- a/telemetry/telemetry/internal/browser/tab_unittest.py
+++ b/telemetry/telemetry/internal/browser/tab_unittest.py
@@ -8,6 +8,7 @@ import time
from telemetry.core import exceptions
from telemetry import decorators
+from telemetry.internal.browser.web_contents import ServiceWorkerState
from telemetry.internal.image_processing import video
from telemetry.testing import tab_test_case
from telemetry.timeline import model
@@ -247,3 +248,17 @@ class MediaRouterDialogTabTest(tab_test_case.TabTestCase):
time.sleep(1)
self.assertEquals(len(self.tabs), 2)
self.assertEquals(self.tabs[1].url, 'chrome://media-router/')
+
+class ServiceWorkerTabTest(tab_test_case.TabTestCase):
+ def testIsServiceWorkerActivatedOrNotRegistered(self):
+ self._tab.Navigate(self.UrlOfUnittestFile('blank.html'))
+ self.assertEquals(self._tab.QueryServiceWorkerState(),
+ ServiceWorkerState.NOT_REGISTERED)
+ self._tab.ExecuteJavaScript(
+ 'if ("serviceWorker" in navigator) { \
falken 2017/09/05 02:16:44 Just curious: do we run telemetry tests on environ
+ navigator.serviceWorker.register("{{ @scriptURL }}") };',
falken 2017/09/05 02:16:44 Looks like the semi-colon should go after the regi
+ scriptURL=self.UrlOfUnittestFile('blank.js'))
+ py_utils.WaitFor(self._tab.IsServiceWorkerActivatedOrNotRegistered,
+ timeout=5)
+ self.assertEquals(self._tab.QueryServiceWorkerState(),
+ ServiceWorkerState.ACTIVATED)

Powered by Google App Engine
This is Rietveld 408576698