Skip to content
This repository was archived by the owner on Aug 10, 2022. It is now read-only.

Commit b4b6b3e

Browse files
committed
1 parent c78930c commit b4b6b3e

File tree

3 files changed

+25
-7
lines changed

3 files changed

+25
-7
lines changed

eyes_selenium/applitools/selenium/frames.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def return_to_original_overflow(self, driver):
5555

5656
def _scroll_root_element(self, driver):
5757
scroll_root = self.scroll_root_element
58-
if scroll_root is None:
58+
if scroll_root is None or not scroll_root.is_attached_to_page:
5959
logger.debug("no scroll root element. selecting default.")
6060
scroll_root = driver.find_element_by_tag_name("html")
6161
return scroll_root

eyes_selenium/applitools/selenium/webelement.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import math
44
import typing as tp
55

6+
from selenium.common.exceptions import WebDriverException
67
from selenium.webdriver.common.by import By
78

89
from applitools.common import logger
@@ -147,6 +148,14 @@ def bounds(self):
147148
def location(self):
148149
return self._element.location
149150

151+
@property
152+
def is_attached_to_page(self):
153+
try:
154+
self.location
155+
return True
156+
except WebDriverException:
157+
return False
158+
150159
@property
151160
def size(self):
152161
return self._element.size

tests/functional/eyes_selenium/selenium/test_client_sites.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,8 @@ def test_w3schools_iframe(eyes, driver):
4040

4141

4242
@pytest.mark.platform("Linux")
43+
@pytest.mark.eyes(stitch_mode=StitchMode.CSS, force_full_page_screenshot=True)
4344
def test_omnicomprgroup(eyes, driver):
44-
eyes.stitch_mode = StitchMode.CSS
45-
eyes.force_full_page_screenshot = True
4645
driver = eyes.open(
4746
driver, "Python SDK", "TestOmnicomprgroup_FPS", {"width": 800, "height": 600}
4847
)
@@ -52,9 +51,8 @@ def test_omnicomprgroup(eyes, driver):
5251

5352

5453
@pytest.mark.platform("Linux")
54+
@pytest.mark.eyes(stitch_mode=StitchMode.CSS, force_full_page_screenshot=True)
5555
def test_nationalgeographic(eyes, driver):
56-
eyes.stitch_mode = StitchMode.CSS
57-
eyes.force_full_page_screenshot = True
5856
driver = eyes.open(
5957
driver,
6058
"Python SDK",
@@ -69,10 +67,9 @@ def test_nationalgeographic(eyes, driver):
6967

7068

7169
@pytest.mark.platform("Linux")
70+
@pytest.mark.eyes(send_dom=False, stitch_mode=StitchMode.CSS)
7271
def test_zachs_app(eyes, driver):
7372
driver.get("https://www.goodrx.com/xarelto/what-is")
74-
eyes.stitch_mode = StitchMode.CSS
75-
eyes.send_dom = False
7673
eyes.open(
7774
driver,
7875
app_name="Zachs Python app",
@@ -86,3 +83,15 @@ def test_zachs_app(eyes, driver):
8683
eyes.check("warnings", Target.region(warnings_ele).fully())
8784

8885
eyes.close()
86+
87+
88+
@pytest.mark.eyes(
89+
hide_scrollbars=True, stitch_mode=StitchMode.Scroll, wait_before_screenshots=1
90+
)
91+
def test_duo_v3_default(eyes, driver):
92+
driver.get(
93+
"http://front-end-testing.appspot.com/duo_v3_default/[email protected]"
94+
)
95+
driver = eyes.open(driver, "region", "test region", {"width": 1000, "height": 800})
96+
eyes.check("Frame", Target.frame(driver.find_element_by_id("duo_iframe")))
97+
eyes.close()

0 commit comments

Comments
 (0)