Bug 1488468 - Remove wait.until calls and improve formatting in test_main_tab_scalar; r=davehunt

Depends on D7904

Differential Revision: https://phabricator.services.mozilla.com/D7905

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Raphael Pierzina 2018-10-05 19:16:47 +00:00
Родитель 57fd289426
Коммит eb225d3d97
1 изменённых файлов: 27 добавлений и 15 удалений

Просмотреть файл

@ -2,34 +2,46 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from marionette_driver.wait import Wait
from telemetry_harness.testcase import TelemetryTestCase
def check_is_shutdown_ping(ping):
"""Check for a shutdown ping."""
if ping["type"] != "main":
return False
if ping["payload"]["info"]["reason"] != "shutdown":
return False
return True
class TestMainTabScalars(TelemetryTestCase):
"""Tests for Telemetry Scalars."""
def test_main_tab_scalars(self):
wait = Wait(self.marionette, 10)
"""Test for Telemetry Scalars."""
with self.marionette.using_context(self.marionette.CONTEXT_CHROME):
tab1 = self.browser.tabbar.selected_tab
tab2 = self.browser.tabbar.open_tab()
wait.until(lambda m: len(self.browser.tabbar.tabs) == 2)
self.browser.tabbar.switch_to(tab2)
tab3 = self.browser.tabbar.open_tab()
wait.until(lambda m: len(self.browser.tabbar.tabs) == 3)
self.browser.tabbar.switch_to(tab3)
self.browser.tabbar.close_tab(tab3, force=True)
wait.until(lambda m: len(self.browser.tabbar.tabs) == 2)
self.browser.tabbar.close_tab(tab2, force=True)
wait.until(lambda m: len(self.browser.tabbar.tabs) == 1)
self.browser.tabbar.switch_to(tab1)
ping = self.wait_for_ping(self.restart_browser, lambda p: p['type'] == 'main'
and p['payload']['info']['reason'] == 'shutdown')
assert ping['type'] == 'main'
assert ping['clientId'] == self.client_id
scalars = ping['payload']['processes']['parent']['scalars']
assert scalars['browser.engagement.max_concurrent_tab_count'] == 3
assert scalars['browser.engagement.tab_open_event_count'] == 2
assert scalars['browser.engagement.max_concurrent_window_count'] == 1
ping = self.wait_for_ping(self.restart_browser, check_is_shutdown_ping)
assert ping["type"] == "main"
assert ping["clientId"] == self.client_id
scalars = ping["payload"]["processes"]["parent"]["scalars"]
assert scalars["browser.engagement.max_concurrent_tab_count"] == 3
assert scalars["browser.engagement.tab_open_event_count"] == 2
assert scalars["browser.engagement.max_concurrent_window_count"] == 1