blob: 6ad06c7fcaa4d27b40c82c1df9a01233e52054d1 [file] [log] [blame]
# Copyright 2015 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.
from telemetry.core import exceptions
from telemetry.internal.actions import mouse_click
from telemetry.testing import tab_test_case
class MouseClickActionTest(tab_test_case.TabTestCase):
def testMouseClickAction(self):
self.Navigate('blank.html')
self._tab.ExecuteJavaScript("""
(function() {
function createElement(id, textContent) {
var el = document.createElement("div");
el.id = id;
el.textContent = textContent;
document.body.appendChild(el);
}
createElement('test-1', 'foo');
})();""")
i = mouse_click.MouseClickAction(selector='#test-1')
i.WillRunAction(self._tab)
i.RunAction(self._tab)
self.assertTrue(self._tab.EvaluateJavaScript(
'window.__mouseClickActionDone'))
def testMouseClickActionOnNonExistingElement(self):
self.Navigate('blank.html')
self._tab.ExecuteJavaScript("""
(function() {
function createElement(id, textContent) {
var el = document.createElement("div");
el.id = id;
el.textContent = textContent;
document.body.appendChild(el);
}
createElement('test-1', 'foo');
})();""")
i = mouse_click.MouseClickAction(selector='#test-2')
i.WillRunAction(self._tab)
def WillFail():
i.RunAction(self._tab)
self.assertRaises(exceptions.EvaluateException, WillFail)