Test Results (3 tests)
⏱️ Duration: 42.93s
❌ Error:
self = <tests.test_autopilot.TestAutopilot object at 0x7ff252eadde0>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7ff252e399c0>
login_page = <pages.login_page.LoginPage object at 0x7ff252e3a7d0>
base_url = 'https://promo.com'
@pytest.mark.skip_testenv
def test_a01p_verify_actions_on_ai_posts_in_planner(
self, autopilot_page, login_page, base_url
):
"""
A01P Verify actions on the AI posts in planner (prod only)
Same scenario as A01T — runs on prod, skipped on testenv.
"""
login_page.login_directly(base_url, email_ai, get_password())
autopilot_page.go_to_planner(base_url)
autopilot_page.ensure_ai_posts_exist()
# i-icon tooltip
autopilot_page.hover_i_icon(1)
autopilot_page.assert_i_icon_tooltip_visible(1)
autopilot_page.assert_ai_badge_tooltip_visible()
# Post 1: full preview checks + regeneration
autopilot_page.open_ai_post(1)
autopilot_page.assert_ai_post_tag_visible()
autopilot_page.assert_aspect_ratios_visible()
autopilot_page.assert_preview_dropdown_buttons_visible()
autopilot_page.assert_preview_cta_buttons_visible()
autopilot_page.assert_preview_cta_tooltips()
autopilot_page.assert_ai_specific_buttons_visible()
autopilot_page.assert_video_loaded()
autopilot_page.check_single_post_regeneration()
autopilot_page.close_preview()
# Post 2: positive feedback
autopilot_page.open_ai_post(2)
autopilot_page.verify_positive_feedback()
autopilot_page.close_preview()
# Post 3: negative feedback
autopilot_page.open_ai_post(3)
> autopilot_page.verify_negative_feedback()
tests/test_autopilot.py:175:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/autopilot_page.py:675: in verify_negative_feedback
self.click_regenerate()
pages/autopilot_page.py
📸 Failure Screenshot:
⏱️ Duration: 13.65s
❌ Error:
self = <tests.test_autopilot.TestAutopilot object at 0x7ff252ead330>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7ff2509117b0>
login_page = <pages.login_page.LoginPage object at 0x7ff250913400>
base_url = 'https://promo.com'
@pytest.mark.skip_smoke
def test_a03_verify_validation_errors_for_ai_onboarding(
self, autopilot_page, login_page, base_url
):
"""
A03 Verify validation errors for AI onboarding inputs
Feature scenario:
Given AI user is logged in
When I open Planner
And I click Generate video posts in the banner
And I click Add new brand
Then Continue button is disabled
When I continue without a website
And I click the Generate AI posts button
Then Validation errors are displayed
When I provide business name and business description
Then Validation errors are hidden
"""
login_page.login_directly(base_url, email_ai, get_password())
autopilot_page.go_to_planner(base_url)
autopilot_page.click_generate_in_banner()
> autopilot_page.click_add_new_brand()
tests/test_autopilot.py:230:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/autopilot_page.py:881: in click_add_new_brand
btn.wait_for(state="visible", timeout=self.T_ACTION)
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:20048: in wait_for
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:741: in wait_for
await self._frame.wait_for_selector(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:372: in wait_for_selector
await self._channel.send(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py:69: in send
return await self._connection.wrap_api_call(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <playwright._impl._con
📸 Failure Screenshot:
⏱️ Duration: 18.31s
❌ Error:
self = <tests.test_autopilot.TestAutopilot object at 0x7ff252eacfd0>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7ff252ef2050>
login_page = <pages.login_page.LoginPage object at 0x7ff252e3add0>
base_url = 'https://promo.com'
@pytest.mark.skip_smoke
def test_a04_verify_logo_and_watermark_in_autopilot_wizard(
self, autopilot_page, login_page, base_url
):
"""
A04 Verify logo and watermark functionalities in the autopilot wizard
Feature scenario:
Given AI user is logged in
When I open Planner
And I click Generate video posts in the banner
Then Business assets logo dropdown is displayed
Then I verify dropdown if 2 options are displayed
And I verify if watermark is filled
And I verify if watermark has dropdown options
"""
login_page.login_directly(base_url, email_ai, get_password())
autopilot_page.go_to_planner(base_url)
autopilot_page.click_generate_in_banner()
> autopilot_page.assert_logo_dropdown_displayed()
tests/test_autopilot.py:259:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/autopilot_page.py:954: in assert_logo_dropdown_displayed
self.page.locator(self.AI_ONBOARDING_WATERMARK_BOX_FILLED).wait_for(
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:20048: in wait_for
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:741: in wait_for
await self._frame.wait_for_selector(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:372: in wait_for_selector
await self._channel.send(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py:69: in send
return await self._connection.wrap_api_call(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <playwright._impl._connection.Connection object at 0x7ff252e3b490>
cb = <
📸 Failure Screenshot: