Commit 562850a3 authored by Lan Wei's avatar Lan Wei Committed by Commit Bot

[Chromedriver] De-flaky a chromedriver test testActionsMultiTouchPoint

testActionsMultiTouchPoint is flaky, I change the test to wait 1500
more ms for the event handler to be executed before checking the length
of the touch events.

Bug: 1011225
Change-Id: I6989c958b5b5aedb35d7529cc59cf8ea9f501ec2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1850571Reviewed-by: default avatarJohn Chen <johnchen@chromium.org>
Commit-Queue: Lan Wei <lanwei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#704350}
parent dd2547cb
......@@ -948,52 +948,55 @@ class ChromeDriverTest(ChromeDriverBaseTestWithWebServer):
def testActionsMultiTouchPoint(self):
self._driver.Load(self.GetHttpUrlForFile('/chromedriver/empty.html'))
self._driver.ExecuteScript(
'document.body.innerHTML = "<div>old</div>";'
'var div = document.getElementsByTagName("div")[0];'
'window.events = [];'
'div.style["width"] = "100px";'
'div.style["height"] = "100px";'
'div.addEventListener("touchstart", function(e) {'
' window.events.push('
' {type: e.type,'
' x: e.touches[e.touches.length - 1].clientX,'
' y: e.touches[e.touches.length - 1].clientY});'
'});'
'div.addEventListener("touchend", function(e) {'
' window.events.push('
' {type: e.type});'
'});')
'''
document.body.innerHTML
= "<div id='div' autofocus style='width:200px; height:200px'>";
window.events = [];
const div = document.getElementById('div');
div.addEventListener('touchstart', event => {
window.events.push(
{type: event.type,
x: event.touches[event.touches.length - 1].clientX,
y: event.touches[event.touches.length - 1].clientY});
});
div.addEventListener('touchend', event => {
window.events.push(
{type: event.type});
});
''')
actions = ({"actions": [{
"type":"pointer",
"actions":[{"type": "pointerMove", "x": 10, "y": 10},
"actions":[{"type": "pointerMove", "x": 50, "y": 50},
{"type": "pointerDown"},
{"type": "pointerUp"}],
"parameters": {"pointerType": "touch"},
"id": "pointer1"},
{
"type":"pointer",
"actions":[{"type": "pointerMove", "x": 15, "y": 15},
"actions":[{"type": "pointerMove", "x": 60, "y": 60},
{"type": "pointerDown"},
{"type": "pointerUp"}],
"parameters": {"pointerType": "touch"},
"id": "pointer2"}]})
self._driver.PerformActions(actions)
time.sleep(1)
for _ in range(5):
events = self._driver.ExecuteScript('return window.events')
if len(events) == 4:
break
# Wait 10 ms for the event handler to be executed.
time.sleep(0.01)
# Wait 100 more ms for the event handler to be executed.
time.sleep(0.1)
self.assertEquals(4, len(events))
self.assertEquals("touchstart", events[0]['type'])
self.assertEquals("touchstart", events[1]['type'])
self.assertEquals("touchend", events[2]['type'])
self.assertEquals("touchend", events[3]['type'])
self.assertEquals(10, events[0]['x'])
self.assertEquals(10, events[0]['y'])
self.assertEquals(15, events[1]['x'])
self.assertEquals(15, events[1]['y'])
self.assertEquals(50, events[0]['x'])
self.assertEquals(50, events[0]['y'])
self.assertEquals(60, events[1]['x'])
self.assertEquals(60, events[1]['y'])
def testActionsMulti(self):
self._driver.Load(self.GetHttpUrlForFile('/chromedriver/empty.html'))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment