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

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

Issue 323833003: Create ActionRunner wrapper API over TapAction and ClickElementAction. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebasing to head. Created 6 years, 6 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/page/actions/action_runner_unittest.py
diff --git a/tools/telemetry/telemetry/page/actions/action_runner_unittest.py b/tools/telemetry/telemetry/page/actions/action_runner_unittest.py
index 55ada24a86a2fdc9084b956f7318beccb72fd784..407c42e8b3a55b988a553adc0e010e98f527efc2 100644
--- a/tools/telemetry/telemetry/page/actions/action_runner_unittest.py
+++ b/tools/telemetry/telemetry/page/actions/action_runner_unittest.py
@@ -47,13 +47,13 @@ class ActionRunnerTest(tab_test_case.TabTestCase):
def testWaitForNavigate(self):
self.Navigate('page_with_link.html')
action_runner = action_runner_module.ActionRunner(self._tab)
- action_runner.RunAction(ClickElementAction({'xpath': 'id("clickme")'}))
+ action_runner.ClickElement('#clickme')
action_runner.WaitForNavigate()
self.assertTrue(self._tab.EvaluateJavaScript(
'document.readyState == "interactive" || '
'document.readyState == "complete"'))
- self.assertEquals(
+ self.assertEqual(
self._tab.EvaluateJavaScript('document.location.pathname;'),
'/blank.html')
@@ -150,3 +150,42 @@ class ActionRunnerTest(tab_test_case.TabTestCase):
def WaitForElement3():
action_runner.WaitForElement(text='foo', element_function='', timeout=1)
self.assertRaises(page_action.PageActionFailed, WaitForElement3)
+
+ def testClickElement(self):
+ self.Navigate('page_with_clickables.html')
+ action_runner = action_runner_module.ActionRunner(self._tab)
+
+ action_runner.ExecuteJavaScript('valueSettableByTest = 1;')
+ action_runner.ClickElement('#test')
+ self.assertEquals(1, action_runner.EvaluateJavaScript('valueToTest'))
+
+ action_runner.ExecuteJavaScript('valueSettableByTest = 2;')
+ action_runner.ClickElement(text='Click/tap me')
+ self.assertEquals(2, action_runner.EvaluateJavaScript('valueToTest'))
+
+ action_runner.ExecuteJavaScript('valueSettableByTest = 3;')
+ action_runner.ClickElement(
+ element_function='document.body.firstElementChild')
+ self.assertEquals(3, action_runner.EvaluateJavaScript('valueToTest'))
+
+ def testTapElement(self):
+ self.Navigate('page_with_clickables.html')
+ action_runner = action_runner_module.ActionRunner(self._tab)
+
+ action_runner.ExecuteJavaScript('valueSettableByTest = 1;')
+ action_runner.TapElement('#test')
+ self.assertEquals(1, action_runner.EvaluateJavaScript('valueToTest'))
+
+ action_runner.ExecuteJavaScript('valueSettableByTest = 2;')
+ action_runner.TapElement(text='Click/tap me')
+ self.assertEquals(2, action_runner.EvaluateJavaScript('valueToTest'))
+
+ action_runner.ExecuteJavaScript('valueSettableByTest = 3;')
+ action_runner.TapElement(
+ element_function='document.body.firstElementChild')
+ self.assertEquals(3, action_runner.EvaluateJavaScript('valueToTest'))
+
+ action_runner.ExecuteJavaScript('valueSettableByTest = 4;')
+ action_runner.TapElement(element_function='''
+ function(callback) { callback(document.body.firstElementChild); }''')
+ self.assertEquals(4, action_runner.EvaluateJavaScript('valueToTest'))
« no previous file with comments | « tools/telemetry/telemetry/page/actions/action_runner.py ('k') | tools/telemetry/telemetry/page/actions/all_page_actions.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698