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

Unified Diff: tools/telemetry/telemetry/internal/actions/action_runner_unittest.py

Issue 1647513002: Delete tools/telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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: tools/telemetry/telemetry/internal/actions/action_runner_unittest.py
diff --git a/tools/telemetry/telemetry/internal/actions/action_runner_unittest.py b/tools/telemetry/telemetry/internal/actions/action_runner_unittest.py
deleted file mode 100644
index d17c4a7df3d772d0346bf565bbb844a42f539116..0000000000000000000000000000000000000000
--- a/tools/telemetry/telemetry/internal/actions/action_runner_unittest.py
+++ /dev/null
@@ -1,287 +0,0 @@
-# Copyright 2014 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-import unittest
-
-from telemetry.core import exceptions
-from telemetry import decorators
-from telemetry.internal.actions import page_action
-from telemetry.page import action_runner as action_runner_module
-from telemetry.testing import tab_test_case
-import mock
-from telemetry.timeline import model
-from telemetry.timeline import tracing_config
-from telemetry.web_perf import timeline_interaction_record as tir_module
-
-
-class ActionRunnerInteractionTest(tab_test_case.TabTestCase):
-
- def GetInteractionRecords(self, trace_data):
- timeline_model = model.TimelineModel(trace_data)
- renderer_thread = timeline_model.GetRendererThreadFromTabId(self._tab.id)
- return [
- tir_module.TimelineInteractionRecord.FromAsyncEvent(e)
- for e in renderer_thread.async_slices
- if tir_module.IsTimelineInteractionRecord(e.name)
- ]
-
- def VerifyIssuingInteractionRecords(self, **interaction_kwargs):
- action_runner = action_runner_module.ActionRunner(self._tab,
- skip_waits=True)
- self.Navigate('interaction_enabled_page.html')
- action_runner.Wait(1)
- config = tracing_config.TracingConfig()
- config.SetNoOverheadFilter()
- config.enable_chrome_trace = True
- self._browser.platform.tracing_controller.StartTracing(config)
- with action_runner.CreateInteraction('InteractionName',
- **interaction_kwargs):
- pass
- trace_data = self._browser.platform.tracing_controller.StopTracing()
-
- records = self.GetInteractionRecords(trace_data)
- self.assertEqual(
- 1, len(records),
- 'Failed to issue the interaction record on the tracing timeline.'
- ' Trace data:\n%s' % repr(trace_data._raw_data))
- self.assertEqual('InteractionName', records[0].label)
- for attribute_name in interaction_kwargs:
- self.assertTrue(getattr(records[0], attribute_name))
-
- # Test disabled for android: crbug.com/437057
- # Test disabled for linux: crbug.com/513874
- @decorators.Disabled('android', 'chromeos', 'linux')
- @decorators.Disabled('win') # crbug.com/570955
- def testIssuingMultipleMeasurementInteractionRecords(self):
- self.VerifyIssuingInteractionRecords(repeatable=True)
-
-
-class ActionRunnerTest(tab_test_case.TabTestCase):
- def testExecuteJavaScript(self):
- action_runner = action_runner_module.ActionRunner(self._tab,
- skip_waits=True)
- self.Navigate('blank.html')
- action_runner.ExecuteJavaScript('var testing = 42;')
- self.assertEqual(42, self._tab.EvaluateJavaScript('testing'))
-
- def testWaitForNavigate(self):
- self.Navigate('page_with_link.html')
- action_runner = action_runner_module.ActionRunner(self._tab,
- skip_waits=True)
- action_runner.ClickElement('#clickme')
- action_runner.WaitForNavigate()
-
- self.assertTrue(self._tab.EvaluateJavaScript(
- 'document.readyState == "interactive" || '
- 'document.readyState == "complete"'))
- self.assertEqual(
- self._tab.EvaluateJavaScript('document.location.pathname;'),
- '/blank.html')
-
- def testWait(self):
- action_runner = action_runner_module.ActionRunner(self._tab)
- self.Navigate('blank.html')
-
- action_runner.ExecuteJavaScript(
- 'window.setTimeout(function() { window.testing = 101; }, 50);')
- action_runner.Wait(0.1)
- self.assertEqual(101, self._tab.EvaluateJavaScript('window.testing'))
-
- action_runner.ExecuteJavaScript(
- 'window.setTimeout(function() { window.testing = 102; }, 100);')
- action_runner.Wait(0.2)
- self.assertEqual(102, self._tab.EvaluateJavaScript('window.testing'))
-
- def testWaitForJavaScriptCondition(self):
- action_runner = action_runner_module.ActionRunner(self._tab,
- skip_waits=True)
- self.Navigate('blank.html')
-
- action_runner.ExecuteJavaScript('window.testing = 219;')
- action_runner.WaitForJavaScriptCondition(
- 'window.testing == 219', timeout_in_seconds=0.1)
- action_runner.ExecuteJavaScript(
- 'window.setTimeout(function() { window.testing = 220; }, 50);')
- action_runner.WaitForJavaScriptCondition(
- 'window.testing == 220', timeout_in_seconds=0.1)
- self.assertEqual(220, self._tab.EvaluateJavaScript('window.testing'))
-
- def testWaitForElement(self):
- action_runner = action_runner_module.ActionRunner(self._tab,
- skip_waits=True)
- self.Navigate('blank.html')
-
- action_runner.ExecuteJavaScript(
- '(function() {'
- ' var el = document.createElement("div");'
- ' el.id = "test1";'
- ' el.textContent = "foo";'
- ' document.body.appendChild(el);'
- '})()')
- action_runner.WaitForElement('#test1', timeout_in_seconds=0.1)
- action_runner.WaitForElement(text='foo', timeout_in_seconds=0.1)
- action_runner.WaitForElement(
- element_function='document.getElementById("test1")')
- action_runner.ExecuteJavaScript(
- 'window.setTimeout(function() {'
- ' var el = document.createElement("div");'
- ' el.id = "test2";'
- ' document.body.appendChild(el);'
- '}, 50)')
- action_runner.WaitForElement('#test2', timeout_in_seconds=0.1)
- action_runner.ExecuteJavaScript(
- 'window.setTimeout(function() {'
- ' document.getElementById("test2").textContent = "bar";'
- '}, 50)')
- action_runner.WaitForElement(text='bar', timeout_in_seconds=0.1)
- action_runner.ExecuteJavaScript(
- 'window.setTimeout(function() {'
- ' var el = document.createElement("div");'
- ' el.id = "test3";'
- ' document.body.appendChild(el);'
- '}, 50)')
- action_runner.WaitForElement(
- element_function='document.getElementById("test3")')
-
- def testWaitForElementWithWrongText(self):
- action_runner = action_runner_module.ActionRunner(self._tab,
- skip_waits=True)
- self.Navigate('blank.html')
-
- action_runner.ExecuteJavaScript(
- '(function() {'
- ' var el = document.createElement("div");'
- ' el.id = "test1";'
- ' el.textContent = "foo";'
- ' document.body.appendChild(el);'
- '})()')
- action_runner.WaitForElement('#test1', timeout_in_seconds=0.2)
- def WaitForElement():
- action_runner.WaitForElement(text='oo', timeout_in_seconds=0.2)
- self.assertRaises(exceptions.TimeoutException, WaitForElement)
-
- def testClickElement(self):
- self.Navigate('page_with_clickables.html')
- action_runner = action_runner_module.ActionRunner(self._tab,
- skip_waits=True)
-
- action_runner.ExecuteJavaScript('valueSettableByTest = 1;')
- action_runner.ClickElement('#test')
- self.assertEqual(1, action_runner.EvaluateJavaScript('valueToTest'))
-
- action_runner.ExecuteJavaScript('valueSettableByTest = 2;')
- action_runner.ClickElement(text='Click/tap me')
- self.assertEqual(2, action_runner.EvaluateJavaScript('valueToTest'))
-
- action_runner.ExecuteJavaScript('valueSettableByTest = 3;')
- action_runner.ClickElement(
- element_function='document.body.firstElementChild;')
- self.assertEqual(3, action_runner.EvaluateJavaScript('valueToTest'))
-
- def WillFail():
- action_runner.ClickElement('#notfound')
- self.assertRaises(exceptions.EvaluateException, WillFail)
-
- @decorators.Disabled('android', 'debug', # crbug.com/437068
- 'chromeos') # crbug.com/483212
- def testTapElement(self):
- self.Navigate('page_with_clickables.html')
- action_runner = action_runner_module.ActionRunner(self._tab,
- skip_waits=True)
-
- action_runner.ExecuteJavaScript('valueSettableByTest = 1;')
- action_runner.TapElement('#test')
- self.assertEqual(1, action_runner.EvaluateJavaScript('valueToTest'))
-
- action_runner.ExecuteJavaScript('valueSettableByTest = 2;')
- action_runner.TapElement(text='Click/tap me')
- self.assertEqual(2, action_runner.EvaluateJavaScript('valueToTest'))
-
- action_runner.ExecuteJavaScript('valueSettableByTest = 3;')
- action_runner.TapElement(
- element_function='document.body.firstElementChild')
- self.assertEqual(3, action_runner.EvaluateJavaScript('valueToTest'))
-
- def WillFail():
- action_runner.TapElement('#notfound')
- self.assertRaises(exceptions.EvaluateException, WillFail)
-
- @decorators.Disabled('android', # crbug.com/437065.
- 'chromeos') # crbug.com/483212.
- def testScroll(self):
- if not page_action.IsGestureSourceTypeSupported(
- self._tab, 'touch'):
- return
-
- self.Navigate('page_with_swipeables.html')
- action_runner = action_runner_module.ActionRunner(self._tab,
- skip_waits=True)
-
- action_runner.ScrollElement(
- selector='#left-right', direction='right', left_start_ratio=0.9)
- self.assertTrue(action_runner.EvaluateJavaScript(
- 'document.querySelector("#left-right").scrollLeft') > 75)
- action_runner.ScrollElement(
- selector='#top-bottom', direction='down', top_start_ratio=0.9)
- self.assertTrue(action_runner.EvaluateJavaScript(
- 'document.querySelector("#top-bottom").scrollTop') > 75)
-
- action_runner.ScrollPage(direction='right', left_start_ratio=0.9,
- distance=100)
- self.assertTrue(action_runner.EvaluateJavaScript(
- '(document.scrollingElement || document.body).scrollLeft') > 75)
-
- @decorators.Disabled('android', # crbug.com/437065.
- 'chromeos') # crbug.com/483212.
- def testSwipe(self):
- if not page_action.IsGestureSourceTypeSupported(
- self._tab, 'touch'):
- return
-
- self.Navigate('page_with_swipeables.html')
- action_runner = action_runner_module.ActionRunner(self._tab,
- skip_waits=True)
-
- action_runner.SwipeElement(
- selector='#left-right', direction='left', left_start_ratio=0.9)
- self.assertTrue(action_runner.EvaluateJavaScript(
- 'document.querySelector("#left-right").scrollLeft') > 75)
- action_runner.SwipeElement(
- selector='#top-bottom', direction='up', top_start_ratio=0.9)
- self.assertTrue(action_runner.EvaluateJavaScript(
- 'document.querySelector("#top-bottom").scrollTop') > 75)
-
- action_runner.SwipePage(direction='left', left_start_ratio=0.9)
- self.assertTrue(action_runner.EvaluateJavaScript(
- '(document.scrollingElement || document.body).scrollLeft') > 75)
-
-
-class InteractionTest(unittest.TestCase):
-
- def setUp(self):
- self.mock_action_runner = mock.Mock(action_runner_module.ActionRunner)
-
- def testIssuingInteractionRecordCommand(self):
- with action_runner_module.Interaction(
- self.mock_action_runner, label='ABC', flags=[]):
- pass
- expected_calls = [
- mock.call.ExecuteJavaScript('console.time("Interaction.ABC");'),
- mock.call.ExecuteJavaScript('console.timeEnd("Interaction.ABC");')]
- self.assertEqual(expected_calls, self.mock_action_runner.mock_calls)
-
- def testExceptionRaisedInWithInteraction(self):
- class FooException(Exception):
- pass
- # Test that the Foo exception raised in the with block is propagated to the
- # caller.
- with self.assertRaises(FooException):
- with action_runner_module.Interaction(
- self.mock_action_runner, label='ABC', flags=[]):
- raise FooException()
-
- # Test that the end console.timeEnd(...) isn't called because exception was
- # raised.
- expected_calls = [
- mock.call.ExecuteJavaScript('console.time("Interaction.ABC");')]
- self.assertEqual(expected_calls, self.mock_action_runner.mock_calls)
« no previous file with comments | « tools/telemetry/telemetry/internal/actions/__init__.py ('k') | tools/telemetry/telemetry/internal/actions/drag.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698