⏱️ Duration: 30.59s
❌ Error:
self = <tests.test_web_general.TestWebPhase1 object at 0x7fa0d7e4b280>
login_page = <pages.login_page.LoginPage object at 0x7fa0d7e52a10>
my_account_page = <pages.my_account_page.MyAccountPage object at 0x7fa0d7e83310>
base_url = 'https://test03.testingpromo.com'
def test_w22_verify_password_changes(
self, login_page, my_account_page, base_url
):
"""
W22 Verify password changes
Uses a dedicated account (email_pass_change) to avoid disrupting main
test accounts. Flow:
1. Login → change password to random_password
2. Sign out → login with random_password (should succeed)
3. Change password back to original
4. Sign out → try to login with random_password (should fail)
"""
original_password = get_password()
page = login_page.page
# Step 1: Change password to random_password
> login_page.login_directly(base_url, email_pass_change, original_password)
tests/test_web_general.py:154:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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 0x7fa0d7e49600>
cb = <function Channel.send.<locals>.<lambda> at 0x7fa0d73d1750>
is_interna
📸 Failure Screenshot:
⏱️ Duration: 30.01s
❌ Error:
self = <tests.test_web_general.TestWebPhase1 object at 0x7fa0d7e4a710>
login_page = <pages.login_page.LoginPage object at 0x7fa0d593a230>
main_page = <pages.main_page.MainPage object at 0x7fa0d5939ab0>
pricing_page = <pages.pricing_page.PricingPage object at 0x7fa0d59399f0>
base_url = 'https://test03.testingpromo.com'
def test_w27_verify_header_for_logged_and_not_logged(
self, login_page, main_page, pricing_page, base_url
):
"""
W27 Verify header for logged and not logged
Pricing and PromoAI nav links should appear for guests and disappear
once the user is authenticated.
"""
page = login_page.page
# Unauthenticated: links should be present
> main_page.go_to_homepage(base_url)
tests/test_web_general.py:219:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/main_page.py:49: in go_to_homepage
self.page.goto(base_url)
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:9875: in goto
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_page.py:560: in goto
return await self._main_frame.goto(**locals_to_params(locals()))
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:156: in goto
await self._channel.send(
/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 0x7fa0d7e49600>
cb = <function Channel.send.<locals>.<lambda> at 0x7fa0d6b69c60>
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(