⏱️ Duration: 35.38s
❌ Error:
self = <tests.test_web_general.TestWebPhase1 object at 0x7f2ae99fb940>
login_page = <pages.login_page.LoginPage object at 0x7f2ae8dbed40>
my_account_page = <pages.my_account_page.MyAccountPage object at 0x7f2ae8dbe2c0>
base_url = 'https://promo.com'
@pytest.mark.skip_smoke
def test_w21_verify_incorrect_change_of_password(
self, login_page, my_account_page, base_url
):
"""
W21 Verify incorrect change of password
Tries to save a new password where confirmation doesn't match; expects an
error message in the settings iframe.
"""
> login_page.login_directly(base_url, general_mail(), get_password())
tests/test_web_general.py:130:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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 0x7f2ae99f9cf0>
cb = <function Channel.send.<locals>.<lambda> at 0x7f2ae8f892d0>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any], is_internal: bool = False, title: str = None
) -> Any:
if self._api_zone.get():
return await cb()
task = asyncio.current_task(self._loop)
parsed_st = _attach_api_call_information(
📸 Failure Screenshot:
⏱️ Duration: 99.18s
❌ Error:
self = <tests.test_web_general.TestWebPhase1 object at 0x7f2ae99f8370>
main_page = <pages.main_page.MainPage object at 0x7f2ae34ad8a0>
@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 0x7f2ae34ad8a0>
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: 5.1s
pages/main_page.py:265: AssertionError
📸 Failure Screenshot: