test_1954144_td_com.py (1547B)
1 import pytest 2 from webdriver.error import NoSuchElementException 3 4 URL = "https://www.td.com/ca/en/about-td/diversity-and-inclusion/black-communities-in-canada?cm_sp=c000-20-2404" 5 6 COOKIES_CLOSE_CSS = ".onetrust-close-btn-handler" 7 VIDEO_CSS = "a.cmp-banner-container__video-container-link" 8 CONTAINER_CSS = ".videoModal.container .cmp-dialog__details" 9 10 11 async def is_scrollbar_visible(client): 12 await client.navigate(URL) 13 14 try: 15 client.await_css(COOKIES_CLOSE_CSS, is_displayed=True, timeout=4).click() 16 client.await_element_hidden(client.css(COOKIES_CLOSE_CSS)) 17 except NoSuchElementException: 18 pass 19 20 client.execute_script("HTMLMediaElement.prototype.play = () => {}") 21 client.await_css(VIDEO_CSS, is_displayed=True).click() 22 container = client.await_css(CONTAINER_CSS, is_displayed=True) 23 return client.execute_script( 24 """ 25 const container = arguments[0]; 26 const { width, height } = container.getBoundingClientRect(); 27 return container.scrollWidth !== Math.round(width) || container.scrollHeight !== Math.round(height); 28 """, 29 container, 30 ) 31 32 33 @pytest.mark.skip_platforms("android") 34 @pytest.mark.need_visible_scrollbars 35 @pytest.mark.asyncio 36 @pytest.mark.with_interventions 37 async def test_enabled(client): 38 assert not await is_scrollbar_visible(client) 39 40 41 @pytest.mark.skip_platforms("android") 42 @pytest.mark.need_visible_scrollbars 43 @pytest.mark.asyncio 44 @pytest.mark.without_interventions 45 async def test_disabled(client): 46 assert await is_scrollbar_visible(client)