Closed Bug 1804685 Opened 3 years ago Closed 3 years ago

Intermittent /webdriver/tests/accept_alert/accept.py | test_no_top_level_browsing_context - setup error: webdriver.error.NoSuchElementException: no such element (404): Unable to locate element: input

Categories

(Remote Protocol :: Marionette, defect, P5)

defect

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: intermittent-bug-filer, Unassigned)

References

Details

(Keywords: intermittent-failure)

Filed by: sstanca [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=399028913&repo=try
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/VoV_Vv09TbOmNR_yqmR-2A/runs/0/artifacts/public/logs/live_backing.log


[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO - TEST-PASS | /webdriver/tests/accept_alert/accept.py | test_null_response_value 
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO - TEST-UNEXPECTED-ERROR | /webdriver/tests/accept_alert/accept.py | test_no_top_level_browsing_context - setup error: webdriver.error.NoSuchElementException: no such element (404): Unable to locate element: input
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO - session = <Session 7046db7b-bdde-48d4-8930-1c0712749223>
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO - inline = <function inline.<locals>.inline at 0x7f0a1463c620>
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO - 
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO -     @pytest.fixture
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO -     def closed_window(session, inline):
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO -         """Create a window and close it immediately.
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO -     
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO -         The window handle will be kept selected, which allows to test for invalid
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO -         top-level browsing context references.
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO -         """
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO -         original_handle = session.window_handle
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO -         new_handle = session.new_window()
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO -     
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO -         session.window_handle = new_handle
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO -         session.url = inline("<input id='a' value='b'>")
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO - >       element = session.find.css("input", all=False)
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO - 
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO - inline     = <function inline.<locals>.inline at 0x7f0a1463c620>
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO - new_handle = 'f79c7430-9f72-4dc6-8e2f-6ccf37ef0b70'
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO - original_handle = '6eb9672d-4547-4b84-84a2-83f9e78c28e6'
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO - session    = <Session 7046db7b-bdde-48d4-8930-1c0712749223>
[task 2022-12-08T13:43:05.868Z] 13:43:05     INFO - 
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO - tests/web-platform/tests/webdriver/tests/support/fixtures_http.py:71: 
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO - tests/web-platform/tests/tools/webdriver/webdriver/client.py:22: in inner
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO -     return func(self, *args, **kwargs)
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO -         args       = ('input',)
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO -         func       = <function Find.css at 0x7f0a14599ae8>
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO -         kwargs     = {'all': False}
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO -         self       = <webdriver.client.Find object at 0x7f0a14551e10>
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO -         session    = <Session 7046db7b-bdde-48d4-8930-1c0712749223>
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO - tests/web-platform/tests/tools/webdriver/webdriver/client.py:438: in css
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO -     elements = self._find_element("css selector", element_selector, all)
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO -         all        = False
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO -         element_selector = 'input'
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO -         self       = <webdriver.client.Find object at 0x7f0a14551e10>
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO - tests/web-platform/tests/tools/webdriver/webdriver/client.py:445: in _find_element
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO -     return self.session.send_session_command("POST", route, body)
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO -         all        = False
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO -         body       = {'using': 'css selector', 'value': 'input'}
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO -         route      = 'element'
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO -         selector   = 'input'
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO -         self       = <webdriver.client.Find object at 0x7f0a14551e10>
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO -         strategy   = 'css selector'
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO - tests/web-platform/tests/tools/webdriver/webdriver/client.py:661: in send_session_command
[task 2022-12-08T13:43:05.869Z] 13:43:05     INFO -     return self.send_command(method, url, body, timeout)
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO -         body       = {'using': 'css selector', 'value': 'input'}
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO -         method     = 'POST'
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO -         self       = <Session 7046db7b-bdde-48d4-8930-1c0712749223>
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO -         timeout    = None
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO -         uri        = 'element'
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO -         url        = 'session/7046db7b-bdde-48d4-8930-1c0712749223/element'
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO - 
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO - self = <Session 7046db7b-bdde-48d4-8930-1c0712749223>, method = 'POST'
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO - url = 'session/7046db7b-bdde-48d4-8930-1c0712749223/element'
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO - body = {'using': 'css selector', 'value': 'input'}, timeout = None
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO - 
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO -     def send_command(self, method, url, body=None, timeout=None):
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO -         """
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO -         Send a command to the remote end and validate its success.
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO -     
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO -         :param method: HTTP method to use in request.
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO -         :param uri: "Command part" of the HTTP request URL,
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO -             e.g. `window/rect`.
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO -         :param body: Optional body of the HTTP request.
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO -     
[task 2022-12-08T13:43:05.870Z] 13:43:05     INFO -         :return: `None` if the HTTP response body was empty, otherwise
[task 2022-12-08T13:43:05.871Z] 13:43:05     INFO -             the `value` field returned after parsing the response
[task 2022-12-08T13:43:05.871Z] 13:43:05     INFO -             body as JSON.
[task 2022-12-08T13:43:05.871Z] 13:43:05     INFO -     
[task 2022-12-08T13:43:05.871Z] 13:43:05     INFO -         :raises error.WebDriverException: If the remote end returns
[task 2022-12-08T13:43:05.871Z] 13:43:05     INFO -             an error.
[task 2022-12-08T13:43:05.871Z] 13:43:05     INFO -         :raises ValueError: If the response body does not contain a
[task 2022-12-08T13:43:05.871Z] 13:43:05     INFO -             `value` key.
[task 2022-12-08T13:43:05.871Z] 13:43:05     INFO -         """
[task 2022-12-08T13:43:05.871Z] 13:43:05     INFO -     
[task 2022-12-08T13:43:05.871Z] 13:43:05     INFO -         response = self.transport.send(
[task 2022-12-08T13:43:05.871Z] 13:43:05     INFO -             method, url, body,
[task 2022-12-08T13:43:05.871Z] 13:43:05     INFO -             encoder=protocol.Encoder, decoder=protocol.Decoder,
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO -             session=self, timeout=timeout)
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO -     
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO -         if response.status != 200:
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO -             err = error.from_response(response)
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO -     
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO -             if isinstance(err, error.InvalidSessionIdException):
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO -                 # The driver could have already been deleted the session.
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO -                 self.session_id = None
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO -     
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO - >           raise err
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO - E           webdriver.error.NoSuchElementException: no such element (404): Unable to locate element: input
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO - E           
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO - E           Remote-end stacktrace:
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO - E           
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO - E           RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO - E           WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:182:5
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO - E           NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:394:5
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO - E           element.find/</<@chrome://remote/content/marionette/element.sys.mjs:275:16
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO - 
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO - body       = {'using': 'css selector', 'value': 'input'}
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO - err        = <NoSuchElementException http_status=404>
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO - method     = 'POST'
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO - response   = <Response status=404 error=<NoSuchElementException http_status=404>>
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO - self       = <Session 7046db7b-bdde-48d4-8930-1c0712749223>
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO - timeout    = None
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO - url        = 'session/7046db7b-bdde-48d4-8930-1c0712749223/element'
[task 2022-12-08T13:43:05.872Z] 13:43:05     INFO - 
[task 2022-12-08T13:43:05.873Z] 13:43:05     INFO - tests/web-platform/tests/tools/webdriver/webdriver/client.py:625: NoSuchElementException
[task 2022-12-08T13:43:05.875Z] 13:43:05     INFO - .......
[task 2022-12-08T13:43:05.875Z] 13:43:05     INFO - TEST-OK | /webdriver/tests/accept_alert/accept.py | took 10923ms

The Android emulator logcat shows that GeckoView doesn't actually load the target page but about:blank:

12-08 13:42:59.995  3447  3462 I Gecko   : 1670506979995	Marionette	DEBUG	0 -> [0,20,"WebDriver:Navigate",{"url":"http://web-platform.test:8000/webdriver/tests/support/inline.py?doc=%3C%21doctype+html%3E%0A%3Cmeta+charset%3DUTF-8%3E%0A%3Cinput+id%3D%27a%27+value%3D%27b%27%3E&mime=text%2Fhtml&charset=UTF-8"}]
12-08 13:43:00.006  3583  3598 D GeckoViewContentDelegateChild[C]: handleEvent: DOMContentLoaded
12-08 13:43:00.020  3447  3462 I Gecko   : 1670506980020	Marionette	TRACE	[4] Received event pagehide for about:blank
12-08 13:43:00.021  3583  3598 D GeckoViewContent[C]: handleEvent: pageshow
12-08 13:43:00.024  3583  3598 D GeckoViewAutoFill[C]: handleEvent: pageshow
12-08 13:43:00.035  3447  3462 D GeckoViewAutoFill: receiveMessage Clear
12-08 13:43:00.048  3507  3532 E eglCodecCommon: glUtilsParamSize: unknow param 0x00008caa
12-08 13:43:00.054  3447  3462 D GeckoViewNavigation: onLocationChange
12-08 13:43:00.056  3447  3462 D GeckoViewContent: handleEvent: pagetitlechanged
12-08 13:43:00.060  3447  3462 I Gecko   : 1670506980060	Marionette	TRACE	[4] Received event DOMContentLoaded for about:blank
12-08 13:43:00.067  3447  3462 I Gecko   : 1670506980067	Marionette	TRACE	[4] Received event pageshow for about:blank
12-08 13:43:00.069  3447  3462 I Gecko   : 1670506980069	Marionette	DEBUG	0 <- [1,20,null,{"value":null}]
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INCOMPLETE
See Also: → 1812526
Moving bug to Remote Protocol::Marionette component per bug 1815831.
Component: geckodriver → Marionette
Product: Testing → Remote Protocol
You need to log in before you can comment on or make changes to this bug.