Skip to content

Instantly share code, notes, and snippets.

@skolobov
Created March 20, 2023 09:29
Show Gist options
  • Save skolobov/ad58fb51e73b7cedab4ed605f7d19006 to your computer and use it in GitHub Desktop.
Save skolobov/ad58fb51e73b7cedab4ed605f7d19006 to your computer and use it in GitHub Desktop.
============================= test session starts ==============================
platform darwin -- Python 3.11.2, pytest-7.2.1, pluggy-1.0.0
rootdir: /Users/skolobov/Code/ControlRooms/controlrooms-app, configfile: pytest.ini
plugins: playwright-0.3.0, xdist-3.2.0, asyncio-0.20.3, base-url-2.0.0, repeat-0.9.1
asyncio: mode=Mode.AUTO
gw0 I / gw1 I / gw2 I / gw3 I / gw4 I / gw5 I / gw6 I / gw7 I
gw0 [12] / gw1 [12] / gw2 [12] / gw3 [12] / gw4 [12] / gw5 [12] / gw6 [12] / gw7 [12]
...FFFFFFFE. [100%]
==================================== ERRORS ====================================
______________ ERROR at setup of test_dev_export_screen_download _______________
[gw2] darwin -- Python 3.11.2 /Users/skolobov/Code/ControlRooms/controlrooms-app/tests/.venv/bin/python
event_loop = <_UnixSelectorEventLoop running=False closed=False debug=False>
request = <SubRequest 'analyze_page_chromium_dev_method' for <Function test_dev_export_screen_download>>
kwargs = {'chromium_login_dev_save_session': (<Page url='https://app.dev.controlrooms.ai/t/1/monitor'>, <BrowserContext browser...v/Library/Caches/ms-playwright/chromium-1048/chrome-mac/Chromium.app/Contents/MacOS/Chromium> version=111.0.5563.19>>)}
func = <function analyze_page_chromium_dev_method at 0x1066fc860>
setup = <function _wrap_asyncgen_fixture.<locals>._asyncgen_fixture_wrapper.<locals>.setup at 0x106ad25c0>
finalizer = <function _wrap_asyncgen_fixture.<locals>._asyncgen_fixture_wrapper.<locals>.finalizer at 0x106ad2d40>
@functools.wraps(fixture)
def _asyncgen_fixture_wrapper(
event_loop: asyncio.AbstractEventLoop, request: SubRequest, **kwargs: Any
):
func = _perhaps_rebind_fixture_func(
fixture, request.instance, fixturedef.unittest
)
gen_obj = func(**_add_kwargs(func, kwargs, event_loop, request))
async def setup():
res = await gen_obj.__anext__()
return res
def finalizer() -> None:
"""Yield again, to finalize."""
async def async_finalizer() -> None:
try:
await gen_obj.__anext__()
except StopAsyncIteration:
pass
else:
msg = "Async generator fixture didn't stop."
msg += "Yield only once."
raise ValueError(msg)
event_loop.run_until_complete(async_finalizer())
> result = event_loop.run_until_complete(setup())
.venv/lib/python3.11/site-packages/pytest_asyncio/plugin.py:299:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
.venv/lib/python3.11/site-packages/nest_asyncio.py:90: in run_until_complete
return f.result()
../../../../.asdf/installs/python/3.11.2/lib/python3.11/asyncio/futures.py:203: in result
raise self._exception.with_traceback(self._exception_tb)
../../../../.asdf/installs/python/3.11.2/lib/python3.11/asyncio/tasks.py:267: in __step
result = coro.send(None)
.venv/lib/python3.11/site-packages/pytest_asyncio/plugin.py:281: in setup
res = await gen_obj.__anext__()
fixtures/analyze_methods.py:44: in analyze_page_chromium_dev_method
await control_room_main.analyze.click()
.venv/lib/python3.11/site-packages/playwright/async_api/_generated.py:15298: in click
await self._impl_obj.click(
.venv/lib/python3.11/site-packages/playwright/_impl/_locator.py:146: in click
return await self._frame.click(self._selector, strict=True, **params)
.venv/lib/python3.11/site-packages/playwright/_impl/_frame.py:489: in click
await self._channel.send("click", locals_to_params(locals()))
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:44: in send
return await self._connection.wrap_api_call(
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:419: in wrap_api_call
return await cb()
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:79: in inner_send
result = next(iter(done)).result()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Future finished exception=TimeoutError('Timeout 30000ms exceeded.\n=========================== logs =================...=====\nwaiting for get_by_role("link", name="Analyze")\n============================================================')>
def result(self):
"""Return the result this future represents.
If the future has been cancelled, raises CancelledError. If the
future's result isn't yet available, raises InvalidStateError. If
the future is done and has an exception set, this exception is raised.
"""
if self._state == _CANCELLED:
exc = self._make_cancelled_error()
raise exc
if self._state != _FINISHED:
raise exceptions.InvalidStateError('Result is not ready.')
self.__log_traceback = False
if self._exception is not None:
> raise self._exception.with_traceback(self._exception_tb)
E playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.
E =========================== logs ===========================
E waiting for get_by_role("link", name="Analyze")
E ============================================================
../../../../.asdf/installs/python/3.11.2/lib/python3.11/asyncio/futures.py:203: TimeoutError
=================================== FAILURES ===================================
______________________ test_stage_export_screen_download _______________________
[gw3] darwin -- Python 3.11.2 /Users/skolobov/Code/ControlRooms/controlrooms-app/tests/.venv/bin/python
analyze_page_chromium_stage_method = <Page url='https://app.stage.controlrooms.ai/t/1/analyze'>
@pytest.mark.xdist_group("stage_export_tests")
@pytest.mark.asyncio
async def test_stage_export_screen_download(analyze_page_chromium_stage_method):
""" Download pdf report from stage """
page = analyze_page_chromium_stage_method
main_page = CrAnalyze(page)
await load_page(page)
await main_page.reforming.click()
'''Select tags'''
> await hover_tag_header(1, page)
chromium_based/test_chromium_export_screen.py:186:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
chromium_based/methods/select_tags.py:45: in hover_tag_header
await page.locator(f"(//div[@class='tag-header-content'])[{tag_number}]").hover()
.venv/lib/python3.11/site-packages/playwright/async_api/_generated.py:16634: in hover
await self._impl_obj.hover(
.venv/lib/python3.11/site-packages/playwright/_impl/_locator.py:378: in hover
return await self._frame.hover(
.venv/lib/python3.11/site-packages/playwright/_impl/_frame.py:633: in hover
await self._channel.send("hover", locals_to_params(locals()))
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:44: in send
return await self._connection.wrap_api_call(
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:419: in wrap_api_call
return await cb()
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:79: in inner_send
result = next(iter(done)).result()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Future finished exception=TimeoutError('Timeout 30000ms exceeded.\n=========================== logs =================...tor("xpath=(//div[@class=\'tag-header-content\'])[1]")\n============================================================')>
def result(self):
"""Return the result this future represents.
If the future has been cancelled, raises CancelledError. If the
future's result isn't yet available, raises InvalidStateError. If
the future is done and has an exception set, this exception is raised.
"""
if self._state == _CANCELLED:
exc = self._make_cancelled_error()
raise exc
if self._state != _FINISHED:
raise exceptions.InvalidStateError('Result is not ready.')
self.__log_traceback = False
if self._exception is not None:
> raise self._exception.with_traceback(self._exception_tb)
E playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.
E =========================== logs ===========================
E waiting for locator("xpath=(//div[@class='tag-header-content'])[1]")
E ============================================================
../../../../.asdf/installs/python/3.11.2/lib/python3.11/asyncio/futures.py:203: TimeoutError
____________________ test_prodction_export_screen_download _____________________
[gw1] darwin -- Python 3.11.2 /Users/skolobov/Code/ControlRooms/controlrooms-app/tests/.venv/bin/python
chromium_login_production = (<Page url='https://app.controlrooms.ai/t/5/analyze?subsystems=2'>, <BrowserContext browser=<Browser type=<BrowserType...ov/Library/Caches/ms-playwright/chromium-1048/chrome-mac/Chromium.app/Contents/MacOS/Chromium> version=111.0.5563.19>>)
@pytest.mark.xdist_group("production_export_tests")
@pytest.mark.asyncio
async def test_prodction_export_screen_download(chromium_login_production):
""" Download pdf report from OCI """
page = chromium_login_production
main_page = CrAnalyze(page[0])
await load_page(page[0])
''' Select Ardagh Houston plant '''
await select_plant('Ardagh Houston', page[0])
await load_page(page[0])
'''Select system '''
await select_system_by_order('Furnace', 0, page[0])
'''Select tags'''
> await hover_tag_header(1, page[0])
chromium_based/test_chromium_export_screen.py:97:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
chromium_based/methods/select_tags.py:47: in hover_tag_header
await page.locator(f"xpath=//button[@data-test-id='pin-tag-{pin_tag_number}']//*[@class='pin-icon']").click()
.venv/lib/python3.11/site-packages/playwright/async_api/_generated.py:15298: in click
await self._impl_obj.click(
.venv/lib/python3.11/site-packages/playwright/_impl/_locator.py:146: in click
return await self._frame.click(self._selector, strict=True, **params)
.venv/lib/python3.11/site-packages/playwright/_impl/_frame.py:489: in click
await self._channel.send("click", locals_to_params(locals()))
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:44: in send
return await self._connection.wrap_api_call(
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:419: in wrap_api_call
return await cb()
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:79: in inner_send
result = next(iter(done)).result()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Future finished exception=TimeoutError('Timeout 30000ms exceeded.\n=========================== logs =================...@data-test-id=\'pin-tag-0\']//*[@class=\'pin-icon\']")\n============================================================')>
def result(self):
"""Return the result this future represents.
If the future has been cancelled, raises CancelledError. If the
future's result isn't yet available, raises InvalidStateError. If
the future is done and has an exception set, this exception is raised.
"""
if self._state == _CANCELLED:
exc = self._make_cancelled_error()
raise exc
if self._state != _FINISHED:
raise exceptions.InvalidStateError('Result is not ready.')
self.__log_traceback = False
if self._exception is not None:
> raise self._exception.with_traceback(self._exception_tb)
E playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.
E =========================== logs ===========================
E waiting for locator("xpath=//button[@data-test-id='pin-tag-0']//*[@class='pin-icon']")
E ============================================================
../../../../.asdf/installs/python/3.11.2/lib/python3.11/asyncio/futures.py:203: TimeoutError
_______________________ test_oci_export_screen_download ________________________
[gw0] darwin -- Python 3.11.2 /Users/skolobov/Code/ControlRooms/controlrooms-app/tests/.venv/bin/python
chromium_login_oci_save_session = (<Page url='https://app.oci.controlrooms.ai/t/2/monitor'>, <BrowserContext browser=<Browser type=<BrowserType name=chr...ov/Library/Caches/ms-playwright/chromium-1048/chrome-mac/Chromium.app/Contents/MacOS/Chromium> version=111.0.5563.19>>)
@pytest.mark.xdist_group("oci_export_tests")
@pytest.mark.asyncio
async def test_oci_export_screen_download(chromium_login_oci_save_session):
""" Download pdf report from OCI """
page = chromium_login_oci_save_session
main_page = CrAnalyze(page[0])
''' Select Beaumont plant '''
await load_page(page[0])
await main_page.monitor_link.click()
'''Select system '''
await select_custom_time('13/03/2023 07:47:59','14/03/2023 19:47:59', page[0])
> await select_system_by_order('DA-213 Hydrogen Recovery', 2, page[0])
chromium_based/test_chromium_export_screen.py:44:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
chromium_based/methods/select_systems.py:22: in select_system_by_order
await page.get_by_text(system).hover()
.venv/lib/python3.11/site-packages/playwright/async_api/_generated.py:16634: in hover
await self._impl_obj.hover(
.venv/lib/python3.11/site-packages/playwright/_impl/_locator.py:378: in hover
return await self._frame.hover(
.venv/lib/python3.11/site-packages/playwright/_impl/_frame.py:633: in hover
await self._channel.send("hover", locals_to_params(locals()))
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:44: in send
return await self._connection.wrap_api_call(
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:419: in wrap_api_call
return await cb()
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:79: in inner_send
result = next(iter(done)).result()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Future finished exception=TimeoutError('Timeout 30000ms exceeded.\n=========================== logs =================...s\nretrying hover action, attempt #54\n waiting 500ms\n============================================================')>
def result(self):
"""Return the result this future represents.
If the future has been cancelled, raises CancelledError. If the
future's result isn't yet available, raises InvalidStateError. If
the future is done and has an exception set, this exception is raised.
"""
if self._state == _CANCELLED:
exc = self._make_cancelled_error()
raise exc
if self._state != _FINISHED:
raise exceptions.InvalidStateError('Result is not ready.')
self.__log_traceback = False
if self._exception is not None:
> raise self._exception.with_traceback(self._exception_tb)
E playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.
E =========================== logs ===========================
E waiting for get_by_text("DA-213 Hydrogen Recovery")
E locator resolved to <span data-tip="" type="primary" data-html="false" dat…>DA-213 Hydrogen Recovery</span>
E attempting hover action
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #1
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #2
E waiting 20ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #3
E waiting 100ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #4
E waiting 100ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #5
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #6
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #7
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #8
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #9
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #10
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #11
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #12
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #13
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #14
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #15
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #16
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #17
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #18
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #19
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #20
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #21
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #22
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #23
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #24
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #25
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #26
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #27
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #28
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #29
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #30
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #31
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #32
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #33
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #34
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #35
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #36
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #37
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #38
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #39
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #40
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #41
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #42
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #43
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #44
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #45
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #46
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #47
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #48
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #49
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #50
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #51
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #52
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #53
E waiting 500ms
E waiting for element to be visible and stable
E element is visible and stable
E scrolling into view if needed
E done scrolling
E <div class="ReactModal__Overlay ReactModal__Overlay--…>…</div> from <div class="ReactModalPortal">…</div> subtree intercepts pointer events
E retrying hover action, attempt #54
E waiting 500ms
E ============================================================
../../../../.asdf/installs/python/3.11.2/lib/python3.11/asyncio/futures.py:203: TimeoutError
_________________________ test_dev_export_screen_empty _________________________
[gw2] darwin -- Python 3.11.2 /Users/skolobov/Code/ControlRooms/controlrooms-app/tests/.venv/bin/python
chromium_login_dev_save_session = (<Page url='https://app.dev.controlrooms.ai/t/1/monitor'>, <BrowserContext browser=<Browser type=<BrowserType name=chr...ov/Library/Caches/ms-playwright/chromium-1048/chrome-mac/Chromium.app/Contents/MacOS/Chromium> version=111.0.5563.19>>)
@pytest.mark.xdist_group("dev_export_tests")
@pytest.mark.asyncio
async def test_dev_export_screen_empty(chromium_login_dev_save_session):
""" Download pdf report from dev """
page = chromium_login_dev_save_session
main_page = CrAnalyze(page[0])
await load_page(page[0])
''' Export screen and download pdf '''
> await export_screen_download_pdf(page[0], 'dev')
chromium_based/test_chromium_export_screen.py:125:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
chromium_based/methods/export_screen_methods.py:8: in export_screen_download_pdf
async with page.expect_download(timeout=60000) as download_info:
.venv/lib/python3.11/site-packages/playwright/_impl/_async_base.py:53: in __aexit__
await self._event.value
.venv/lib/python3.11/site-packages/playwright/_impl/_async_base.py:34: in value
return mapping.from_maybe_impl(await self._future)
../../../../.asdf/installs/python/3.11.2/lib/python3.11/asyncio/futures.py:287: in __await__
yield self # This tells Task to wait for completion.
../../../../.asdf/installs/python/3.11.2/lib/python3.11/asyncio/tasks.py:339: in __wakeup
future.result()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Future finished exception=TimeoutError('Timeout 60000ms exceeded while waiting for event "download"\n================...========================\nwaiting for event "download"\n============================================================')>
def result(self):
"""Return the result this future represents.
If the future has been cancelled, raises CancelledError. If the
future's result isn't yet available, raises InvalidStateError. If
the future is done and has an exception set, this exception is raised.
"""
if self._state == _CANCELLED:
exc = self._make_cancelled_error()
raise exc
if self._state != _FINISHED:
raise exceptions.InvalidStateError('Result is not ready.')
self.__log_traceback = False
if self._exception is not None:
> raise self._exception.with_traceback(self._exception_tb)
E playwright._impl._api_types.TimeoutError: Timeout 60000ms exceeded while waiting for event "download"
E =========================== logs ===========================
E waiting for event "download"
E ============================================================
../../../../.asdf/installs/python/3.11.2/lib/python3.11/asyncio/futures.py:203: TimeoutError
________________________ test_stage_export_screen_link _________________________
[gw3] darwin -- Python 3.11.2 /Users/skolobov/Code/ControlRooms/controlrooms-app/tests/.venv/bin/python
chromium_login_stage_save_session = (<Page url='https://app.stage.controlrooms.ai/t/1/analyze'>, <BrowserContext browser=<Browser type=<BrowserType name=c...ov/Library/Caches/ms-playwright/chromium-1048/chrome-mac/Chromium.app/Contents/MacOS/Chromium> version=111.0.5563.19>>)
@pytest.mark.xdist_group("stage_export_tests")
@pytest.mark.asyncio
async def test_stage_export_screen_link(chromium_login_stage_save_session):
""" Export screen with shareable link from production """
page = chromium_login_stage_save_session
''' Download export screen'''
> clipboard_url = await copy_url(page[0])
chromium_based/test_chromium_export_screen.py:200:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
chromium_based/methods/url_methods.py:6: in copy_url
await main_page.copy_link_icon.click()
.venv/lib/python3.11/site-packages/playwright/async_api/_generated.py:15298: in click
await self._impl_obj.click(
.venv/lib/python3.11/site-packages/playwright/_impl/_locator.py:146: in click
return await self._frame.click(self._selector, strict=True, **params)
.venv/lib/python3.11/site-packages/playwright/_impl/_frame.py:489: in click
await self._channel.send("click", locals_to_params(locals()))
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:44: in send
return await self._connection.wrap_api_call(
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:419: in wrap_api_call
return await cb()
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:79: in inner_send
result = next(iter(done)).result()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Future finished exception=TimeoutError('Timeout 30000ms exceeded.\n=========================== logs ===========================\nwaiting for locator("svg.copy-icon")\n============================================================')>
def result(self):
"""Return the result this future represents.
If the future has been cancelled, raises CancelledError. If the
future's result isn't yet available, raises InvalidStateError. If
the future is done and has an exception set, this exception is raised.
"""
if self._state == _CANCELLED:
exc = self._make_cancelled_error()
raise exc
if self._state != _FINISHED:
raise exceptions.InvalidStateError('Result is not ready.')
self.__log_traceback = False
if self._exception is not None:
> raise self._exception.with_traceback(self._exception_tb)
E playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.
E =========================== logs ===========================
E waiting for locator("svg.copy-icon")
E ============================================================
../../../../.asdf/installs/python/3.11.2/lib/python3.11/asyncio/futures.py:203: TimeoutError
______________________ test_production_export_screen_link ______________________
[gw1] darwin -- Python 3.11.2 /Users/skolobov/Code/ControlRooms/controlrooms-app/tests/.venv/bin/python
chromium_login_production = (<Page url='https://app.controlrooms.ai/t/5/analyze?subsystems=2'>, <BrowserContext browser=<Browser type=<BrowserType...ov/Library/Caches/ms-playwright/chromium-1048/chrome-mac/Chromium.app/Contents/MacOS/Chromium> version=111.0.5563.19>>)
@pytest.mark.xdist_group("production_export_tests")
@pytest.mark.asyncio
async def test_production_export_screen_link(chromium_login_production):
""" Export screen with shareable link from production """
page = chromium_login_production
''' Download export screen'''
> clipboard_url = await copy_url(page[0])
chromium_based/test_chromium_export_screen.py:111:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
chromium_based/methods/url_methods.py:6: in copy_url
await main_page.copy_link_icon.click()
.venv/lib/python3.11/site-packages/playwright/async_api/_generated.py:15298: in click
await self._impl_obj.click(
.venv/lib/python3.11/site-packages/playwright/_impl/_locator.py:146: in click
return await self._frame.click(self._selector, strict=True, **params)
.venv/lib/python3.11/site-packages/playwright/_impl/_frame.py:489: in click
await self._channel.send("click", locals_to_params(locals()))
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:44: in send
return await self._connection.wrap_api_call(
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:419: in wrap_api_call
return await cb()
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:79: in inner_send
result = next(iter(done)).result()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Future finished exception=TimeoutError('Timeout 30000ms exceeded.\n=========================== logs ===========================\nwaiting for locator("svg.copy-icon")\n============================================================')>
def result(self):
"""Return the result this future represents.
If the future has been cancelled, raises CancelledError. If the
future's result isn't yet available, raises InvalidStateError. If
the future is done and has an exception set, this exception is raised.
"""
if self._state == _CANCELLED:
exc = self._make_cancelled_error()
raise exc
if self._state != _FINISHED:
raise exceptions.InvalidStateError('Result is not ready.')
self.__log_traceback = False
if self._exception is not None:
> raise self._exception.with_traceback(self._exception_tb)
E playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.
E =========================== logs ===========================
E waiting for locator("svg.copy-icon")
E ============================================================
../../../../.asdf/installs/python/3.11.2/lib/python3.11/asyncio/futures.py:203: TimeoutError
_________________________ test_oci_export_screen_link __________________________
[gw0] darwin -- Python 3.11.2 /Users/skolobov/Code/ControlRooms/controlrooms-app/tests/.venv/bin/python
chromium_login_oci_save_session = (<Page url='https://app.oci.controlrooms.ai/t/2/monitor'>, <BrowserContext browser=<Browser type=<BrowserType name=chr...ov/Library/Caches/ms-playwright/chromium-1048/chrome-mac/Chromium.app/Contents/MacOS/Chromium> version=111.0.5563.19>>)
@pytest.mark.xdist_group("oci_export_tests")
@pytest.mark.asyncio
async def test_oci_export_screen_link(chromium_login_oci_save_session):
""" Export screen with sharable link from OCI """
page = chromium_login_oci_save_session
await load_page(page[0])
''' Download export screen'''
> clipboard_url = await copy_url(page[0])
chromium_based/test_chromium_export_screen.py:63:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
chromium_based/methods/url_methods.py:6: in copy_url
await main_page.copy_link_icon.click()
.venv/lib/python3.11/site-packages/playwright/async_api/_generated.py:15298: in click
await self._impl_obj.click(
.venv/lib/python3.11/site-packages/playwright/_impl/_locator.py:146: in click
return await self._frame.click(self._selector, strict=True, **params)
.venv/lib/python3.11/site-packages/playwright/_impl/_frame.py:489: in click
await self._channel.send("click", locals_to_params(locals()))
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:44: in send
return await self._connection.wrap_api_call(
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:419: in wrap_api_call
return await cb()
.venv/lib/python3.11/site-packages/playwright/_impl/_connection.py:79: in inner_send
result = next(iter(done)).result()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Future finished exception=TimeoutError('Timeout 30000ms exceeded.\n=========================== logs ===========================\nwaiting for locator("svg.copy-icon")\n============================================================')>
def result(self):
"""Return the result this future represents.
If the future has been cancelled, raises CancelledError. If the
future's result isn't yet available, raises InvalidStateError. If
the future is done and has an exception set, this exception is raised.
"""
if self._state == _CANCELLED:
exc = self._make_cancelled_error()
raise exc
if self._state != _FINISHED:
raise exceptions.InvalidStateError('Result is not ready.')
self.__log_traceback = False
if self._exception is not None:
> raise self._exception.with_traceback(self._exception_tb)
E playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.
E =========================== logs ===========================
E waiting for locator("svg.copy-icon")
E ============================================================
../../../../.asdf/installs/python/3.11.2/lib/python3.11/asyncio/futures.py:203: TimeoutError
=========================== short test summary info ============================
FAILED chromium_based/test_chromium_export_screen.py::test_stage_export_screen_download@stage_export_tests
FAILED chromium_based/test_chromium_export_screen.py::test_prodction_export_screen_download@production_export_tests
FAILED chromium_based/test_chromium_export_screen.py::test_oci_export_screen_download@oci_export_tests
FAILED chromium_based/test_chromium_export_screen.py::test_dev_export_screen_empty@dev_export_tests
FAILED chromium_based/test_chromium_export_screen.py::test_stage_export_screen_link@stage_export_tests
FAILED chromium_based/test_chromium_export_screen.py::test_production_export_screen_link@production_export_tests
FAILED chromium_based/test_chromium_export_screen.py::test_oci_export_screen_link@oci_export_tests
ERROR chromium_based/test_chromium_export_screen.py::test_dev_export_screen_download@dev_export_tests
=============== 7 failed, 4 passed, 1 error in 109.21s (0:01:49) ===============
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment