diff --git a/.github/workflows/linux_acceptance.yml b/.github/workflows/linux_acceptance.yml index e45a4a6f..4259292e 100644 --- a/.github/workflows/linux_acceptance.yml +++ b/.github/workflows/linux_acceptance.yml @@ -20,6 +20,8 @@ jobs: # arrays for matrices must be given as string for json parsing # https://github.community/t/reusable-workflow-with-strategy-matrix/205676 os: '["ubuntu-latest"]' - browser: '["chrome", "firefox", "edge"]' - python-version: '["3.9", "3.12"]' + # browser: '["chrome", "firefox", "edge"]' + browser: '["chrome"]' + # python-version: '["3.9", "3.12"]' + python-version: '["3.11"]' rfw-4x-python: "3.9" \ No newline at end of file diff --git a/.github/workflows/mac_acceptance.yml b/.github/workflows/mac_acceptance.yml index 71205362..b0538f7d 100644 --- a/.github/workflows/mac_acceptance.yml +++ b/.github/workflows/mac_acceptance.yml @@ -20,7 +20,9 @@ jobs: # arrays for matrices must be given as string for json parsing # https://github.community/t/reusable-workflow-with-strategy-matrix/205676 os: '["macos-latest"]' - browser: '["chrome", "edge", "safari"]' - python-version: '["3.10", "3.11"]' + # browser: '["chrome", "edge", "safari"]' + browser: '["edge"]' + # python-version: '["3.10", "3.11"]' + python-version: '["3.10"]' rfw-4x-python: "3.10" rfw-exclude-tags: "-e RESOLUTION_DEPENDENCY -e FLASK" \ No newline at end of file diff --git a/.github/workflows/tests_reusable.yml b/.github/workflows/tests_reusable.yml index 871e1692..f1856a34 100644 --- a/.github/workflows/tests_reusable.yml +++ b/.github/workflows/tests_reusable.yml @@ -180,7 +180,9 @@ jobs: -e PROBLEM_IN_${{ runner.os }} -e PROBLEM_IN_${{ matrix.browser }} -v BROWSER:${{ matrix.browser }} - -v BROWSER_VERSION:127 + -v browser_options:"--disable-gpu" + -s Frame + -L DEBUG -d result --name ${{ runner.os }}-${{ matrix.python-version }}-${{ matrix.browser }} -b debug.txt @@ -201,7 +203,9 @@ jobs: -e PROBLEM_IN_${{ runner.os }} -e PROBLEM_IN_${{ matrix.browser }} -v BROWSER:${{ matrix.browser }} - -v BROWSER_VERSION:127 + -v browser_options:"--disable-gpu" + -s Frame + -L DEBUG -d rerunresult --name ${{ runner.os }}-${{ matrix.python-version }}-${{ matrix.browser }} -b debug.txt diff --git a/.github/workflows/win_acceptance.yml b/.github/workflows/win_acceptance.yml index df9fe208..27fbc2be 100644 --- a/.github/workflows/win_acceptance.yml +++ b/.github/workflows/win_acceptance.yml @@ -20,8 +20,10 @@ jobs: # arrays for matrices must be given as string for json parsing # https://github.community/t/reusable-workflow-with-strategy-matrix/205676 os: '["windows-latest"]' - browser: '["chrome", "edge", "firefox"]' - python-version: '["3.11", "3.12"]' + # browser: '["chrome", "edge", "firefox"]' + browser: '["chrome"]' + #python-version: '["3.11", "3.12"]' + python-version: '["3.12"]' rfw-4x-python: "3.11" rfw-exclude-tags: "-e FLASK" \ No newline at end of file diff --git a/QWeb/internal/browser/edge.py b/QWeb/internal/browser/edge.py index 1b7d92b4..4a3ae9bc 100644 --- a/QWeb/internal/browser/edge.py +++ b/QWeb/internal/browser/edge.py @@ -64,6 +64,7 @@ def open_browser( options.browser_version = edge_version if user.is_root() or user.is_docker(): + logger.info(f"***** no-sandbox: ({user.is_root()}) {user.is_docker()}*****") options.add_argument("no-sandbox") # pylint: disable=no-member if edge_args: if any("--headless" in _.lower() for _ in edge_args): diff --git a/QWeb/internal/frame.py b/QWeb/internal/frame.py index 32895321..ab20c860 100644 --- a/QWeb/internal/frame.py +++ b/QWeb/internal/frame.py @@ -26,6 +26,7 @@ from selenium.webdriver.remote.webelement import WebElement from selenium.common.exceptions import ( NoSuchWindowException, + NoSuchFrameException, StaleElementReferenceException, UnexpectedAlertPresentException, WebDriverException, @@ -204,7 +205,7 @@ def search_from_frames( try: driver.switch_to.frame(current_frame) logger.debug(f"Switching to child frame {str(fn)}") - except (StaleElementReferenceException, WebDriverException) as e: + except (StaleElementReferenceException, NoSuchFrameException, WebDriverException) as e: logger.debug(str(e)) driver.switch_to.default_content() raise e diff --git a/test/acceptance/parallel/frame.robot b/test/acceptance/parallel/frame.robot index f335dcc9..2cff97da 100644 --- a/test/acceptance/parallel/frame.robot +++ b/test/acceptance/parallel/frame.robot @@ -1,7 +1,7 @@ *** Settings *** Documentation Tests for frame keywords Library QWeb -Suite Setup OpenBrowser ${BASE_URI}/frame.html ${BROWSER} --headless +Suite Setup OpenBrowser ${BASE_URI}/frame.html ${BROWSER} #--headless Suite Teardown CloseBrowser Test Timeout 60 seconds @@ -33,6 +33,7 @@ Back & Forward ${url}= GetUrl Should Be Equal ${url} about:blank Back + RefreshPage Use Frame And Use Page [Tags] Frame