2 flaky autopilot tests on touch devices

Bug #1591120 reported by Olivier Tilloy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
webbrowser-app (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

Lately I’ve been observing that the following two autopilot tests are flaky when run on phones:

webbrowser_app.tests.test_new_tab_view.TestNewTabViewContentsNarrow.test_remove_bookmarks_when_collapsed
webbrowser_app.tests.test_tabs.TestTabsView.test_error_only_for_current_tab

They don’t always fail, but it’s quite easy to get them to fail after a few attempts. This requires further investigation.

Related branches

Olivier Tilloy (osomon)
Changed in webbrowser-app (Ubuntu):
status: New → Confirmed
importance: Undecided → Medium
assignee: nobody → Olivier Tilloy (osomon)
Revision history for this message
Olivier Tilloy (osomon) wrote :

Traceback for the first failure, which I’m observing even more often than the second one:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/webbrowser_app/tests/test_new_tab_view.py", line 317, in test_remove_bookmarks_when_collapsed
    self._remove_first_bookmark()
  File "/usr/lib/python3/dist-packages/webbrowser_app/tests/test_new_tab_view.py", line 291, in _remove_first_bookmark
    Eventually(NotEquals(url)))
  File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 421, in assertThat
    mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
  File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 471, in _matchHelper
    mismatch = matcher.match(matchee)
  File "/usr/lib/python3/dist-packages/autopilot/matchers/__init__.py", line 111, in match
    wait_fun(self.matcher, self.timeout)
  File "/usr/lib/python3/dist-packages/autopilot/matchers/__init__.py", line 127, in _callable_wait_for
    new_value = refresh_fn()
  File "/usr/lib/python3/dist-packages/webbrowser_app/tests/test_new_tab_view.py", line 290, in <lambda>
    lambda: self.new_tab_view.get_bookmark_delegates()[1].url,
  File "/usr/lib/python3/dist-packages/webbrowser_app/emulators/browser.py", line 605, in get_bookmark_delegates
    key=lambda delegate: delegate.globalRect.y)
  File "/usr/lib/python3/dist-packages/webbrowser_app/emulators/browser.py", line 605, in <lambda>
    key=lambda delegate: delegate.globalRect.y)
  File "/usr/lib/python3/dist-packages/autopilot/introspection/dbus.py", line 411, in __getattr__
    self.refresh_state()
  File "/usr/lib/python3/dist-packages/autopilot/introspection/dbus.py", line 367, in refresh_state
    _, new_state = self._get_new_state()
  File "/usr/lib/python3/dist-packages/autopilot/introspection/dbus.py", line 429, in _get_new_state
    raise StateNotFoundError(self.__class__.__name__, id=self.id)
autopilot.exceptions.StateNotFoundError: Object not found with name 'UrlDelegate' and properties {'id': 47}.

Olivier Tilloy (osomon)
Changed in webbrowser-app (Ubuntu):
status: Confirmed → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package webbrowser-app - 0.23+16.10.20160701.1-0ubuntu1

---------------
webbrowser-app (0.23+16.10.20160701.1-0ubuntu1) yakkety; urgency=medium

  * Generate UA override list files at build time to un-hardcode ubuntu
    and chromium version numbers. (LP: #1591220)
  * Fix one flaky autopilot test. (LP: #1591120)
  * Temporarily skip tests on arm64 to unblock package build without
    oxide. (LP: #1585942)
  * Update the target that lists non-compiled files.

 -- Olivier Tilloy <email address hidden> Fri, 01 Jul 2016 13:10:14 +0000

Changed in webbrowser-app (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Olivier Tilloy (osomon) wrote :

Re-opening as the branch merged fixes only the first of the two flaky test, the second one (webbrowser_app.tests.test_tabs.TestTabsView.test_error_only_for_current_tab) remains flaky.

Changed in webbrowser-app (Ubuntu):
status: Fix Released → Confirmed
Olivier Tilloy (osomon)
Changed in webbrowser-app (Ubuntu):
assignee: Olivier Tilloy (osomon) → nobody
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.