Test Results (5 tests)
⏱️ Duration: 21.28s
❌ Error:
mobile_page = <Page url='https://test03.testingpromo.com/'>
base_url = 'https://test03.testingpromo.com'
@pytest.mark.skip_prod
def test_m02_basic_actions_mobile_user(mobile_page: Page, base_url: str) -> None:
"""M02: Hamburger nav to Planner PromoAI → pricing → signup → purchase plan → delete user."""
mobile_page.goto(base_url)
mobile_page.wait_for_load_state("domcontentloaded")
_dismiss_cookies(mobile_page)
# Open sidebar and navigate to Planner PromoAI
> mobile_page.locator('span.sidebar__icon').wait_for(state="visible", timeout=15_000)
tests/test_mobile_view.py:89:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:20539: in wait_for
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:748: in wait_for
await self._frame.wait_for_selector(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:394: in wait_for_selector
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 0x7f57a1b0c7c0>
cb = <function Channel.send.<locals>.<lambda> at 0x7f57a1035d80>
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(
getattr(task, "__pw_stack__", None) or _capture_stack_trace(),
is_internal,
title,
)
self._api_zone.set(parsed_st)
try:
return await cb()
except Exception as error:
>
⏱️ Duration: 21.67s
❌ Error:
mobile_page = <Page url='https://test03.testingpromo.com/planner/promoai?term=promoai.io&detect=true&utm_content=home_page_generate&generation_source=Homepage'>
base_url = 'https://test03.testingpromo.com'
@pytest.mark.skip_prod
def test_m04_new_user_generates_ai_posts_mobile(mobile_page: Page, base_url: str) -> None:
"""M04: Homepage AI input → set 14 posts × 2 batches → signup → skip tutorial → planner."""
main = MainPage(mobile_page)
signup = SignUpPage(mobile_page)
auto = AutopilotPage(mobile_page)
# ---- Batch 1: provide URL, set 14 posts, sign up, skip tutorial ----
main.go_to_homepage_with_tid(base_url, "200220240")
_dismiss_cookies(mobile_page)
main.provide_autopilot_input(sample_ai_website)
# Post-count wizard appears
> auto.click_generate_ai_posts_button()
tests/test_mobile_view.py:229:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/autopilot_page.py:1195: in click_generate_ai_posts_button
btn.wait_for(state="visible", timeout=self.T_ACTION)
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:20539: in wait_for
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:748: in wait_for
await self._frame.wait_for_selector(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:394: in wait_for_selector
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 0x7f57a1b0c7c0>
cb = <function Channel.send.<locals>.<lambda> at 0x7f57a0cb69e0>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any], is_internal: bool = False, title: str = None
) -> Any:
if self._a
⏱️ Duration: 21.19s
❌ Error:
mobile_page = <Page url='https://test03.testingpromo.com/planner/my-calendar'>
base_url = 'https://test03.testingpromo.com'
def test_m05_generate_single_ai_post_mobile(mobile_page: Page, base_url: str) -> None:
"""M05: Verify mobile single AI post button for unauthenticated user (Sign up prompt),
then sign up and generate a single AI post.
"""
auto = AutopilotPage(mobile_page)
signup = SignUpPage(mobile_page)
# Part 1: verify mobile AI button prompts signup for unauthenticated user
auto.go_to_my_calendar(base_url)
mobile_page.wait_for_load_state("domcontentloaded")
_dismiss_cookies(mobile_page)
> mobile_page.locator('[data-qaid="new-video-mobile-button"]').wait_for(
state="visible", timeout=15_000
)
tests/test_mobile_view.py:294:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:20539: in wait_for
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:748: in wait_for
await self._frame.wait_for_selector(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:394: in wait_for_selector
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 0x7f57a1b0c7c0>
cb = <function Channel.send.<locals>.<lambda> at 0x7f57a0d10dc0>
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(
getattr(task, "__p