⏱️ Duration: 67.16s
❌ Error:
self = <tests.test_web_general.TestWebPhase1 object at 0x7ff1d9967670>
login_page = <pages.login_page.LoginPage object at 0x7ff1d998c280>
main_page = <pages.main_page.MainPage object at 0x7ff1d998e3b0>
base_url = 'https://promo.com'
@pytest.mark.skip_smoke
def test_w02_verify_clicking_main_logo(self, login_page, main_page, base_url):
"""
W02 Verify clicking main logo
Logo click should redirect to the Planner from: pricing page (not logged),
My Account (logged), and Brand Manager (logged).
"""
page = login_page.page
# Not logged — from pricing page
login_page.go_to_home(base_url)
login_page.skip_cookies()
page.goto(f"{base_url}/pricing")
page.wait_for_load_state("domcontentloaded")
main_page.click_main_logo()
main_page.verify_redirected_to_x(planner_page_title)
# Log in
> login_page.login_directly(base_url, general_mail(), get_password())
tests/test_web_general.py:102:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/login_page.py:116: in login_directly
self.page.wait_for_function(
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:12761: in wait_for_function
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_page.py:1151: in wait_for_function
return await self._main_frame.wait_for_function(**locals_to_params(locals()))
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:940: in wait_for_function
await self._channel.send("waitForFunction", self._timeout, params)
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py:76: in send
return await self._connection.wrap_api_call(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <playwright._impl._connection.Connection object at 0x7ff1d9965cf0>
cb = <function Channel.send.<locals>.<lambda> at 0x7ff1d8d5bd00>
is_internal
📸 Failure Screenshot:
⏱️ Duration: 46.34s
❌ Error:
self = <tests.test_web_general.TestWebPhase1 object at 0x7ff1d9964370>
main_page = <pages.main_page.MainPage object at 0x7ff1d2250f40>
@pytest.mark.skip_testenv
@pytest.mark.skip_smoke
@pytest.mark.skip_sanity
def test_w26_promo_performance_tests(self, main_page):
"""
W26 Promo Performance Tests
Navigates to key prod URLs and asserts that server response and DOM
processing times are within acceptable limits.
"""
> main_page.check_performance(_PERF_URLS)
tests/test_web_general.py:206:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pages.main_page.MainPage object at 0x7ff1d2250f40>
urls = ['https://promo.com/login', 'https://promo.com/tools/calendar/march', 'https://promo.com/templates', 'https://promo.com/go/base-lp-no-search', 'https://promo.com/go/base-lp-with-search']
def check_performance(self, urls: list):
for url in urls:
server_avg, dom_avg = self.measure_page_performance(url)
print(f"{url}: server={server_avg}s, DOM={dom_avg}s")
> assert server_avg <= 3, f"Server response too slow for {url}: {server_avg}s"
E AssertionError: Server response too slow for https://promo.com/tools/calendar/march: 4.13s
pages/main_page.py:265: AssertionError
📸 Failure Screenshot: