Test Results (15 tests)
⏱️ Duration: 25.19s
❌ Error:
self = <tests.test_autopilot.TestAutopilot object at 0x7f4c7816af80>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f4c78174cd0>
login_page = <pages.login_page.LoginPage object at 0x7f4c78174100>
base_url = 'https://promo.com'
def test_a02_verify_external_share_for_ai_posts(
self, autopilot_page, login_page, base_url
):
"""
A02 Verify external share for AI posts
Feature scenario:
Given AI user is logged in
When I open Planner
Then I clean all scheduled posts for the current month
When I click on 1 AI Post
When I generate ai external share link
Then I open external link as logged user
"""
login_page.login_directly(base_url, email_ai, get_password())
autopilot_page.go_to_planner(base_url)
autopilot_page.clean_scheduled_posts()
autopilot_page.go_to_planner(base_url)
autopilot_page.open_ai_post(1)
> share_url = autopilot_page.generate_ai_external_share_link()
tests/test_autopilot.py:203:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/autopilot_page.py:1025: in generate_ai_external_share_link
self.page.locator(self.PLANNER_PREVIEW_SHARE_URL_INPUT).wait_for(
/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 0x7f4c783f5540>
cb = <function Channel.send.<locals>.<lambda> at 0x7f4c774
📸 Failure Screenshot:
⏱️ Duration: 24.77s
❌ Error:
self = <tests.test_autopilot.TestAutopilot object at 0x7f4c78168b50>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f4c763ece80>
login_page = <pages.login_page.LoginPage object at 0x7f4c7643cf10>
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
And I select the "Promo.com" brand (has logo/watermark/colors configured)
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
Note: the wizard defaults to whichever brand was last selected, and the
"Bed Head" scratch brand on this account has no logo/watermark/colors set.
We explicitly select "Promo.com" (the account's fully-configured brand)
so this test doesn't depend on fragile leftover UI state.
"""
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.select_existing_brand("Promo.com")
tests/test_autopilot.py:265:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/autopilot_page.py:2343: in select_existing_brand
self.page.locator(self.AI_BUSINESS_NAME_INPUT).wait_for(state="visible", timeout=self.T_SLOW)
/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(
/
📸 Failure Screenshot:
⏱️ Duration: 23.98s
❌ Error:
self = <tests.test_autopilot.TestAutopilot object at 0x7f4c78168130>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f4c7627ff70>
login_page = <pages.login_page.LoginPage object at 0x7f4c7627f1f0>
base_url = 'https://promo.com'
@pytest.mark.skip_smoke
@pytest.mark.skip_sanity
def test_a05_replace_brand_colors_in_autopilot_wizard(
self, autopilot_page, login_page, base_url
):
"""
A05 Replace brand colors 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
And I select the "Promo.com" brand (has logo/watermark/colors configured)
When I try to replace colors → Brand colors are being replaced
When I try to delete a color → Brand color has been deleted
Then a color is re-added so the brand isn't left empty for the next run
Note: see test_a04 docstring — "Promo.com" is selected explicitly because
it's the account's brand with colors already configured. The color removed
during the delete step is re-added afterwards so this test doesn't strip
the brand's colors bare for the next run (mirrors the empty-brand issue
that broke this test previously).
"""
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.select_existing_brand("Promo.com")
tests/test_autopilot.py:297:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/autopilot_page.py:2343: in select_existing_brand
self.page.locator(self.AI_BUSINESS_NAME_INPUT).wait_for(state="visible", timeout=self.T_SLOW)
/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/_loca
📸 Failure Screenshot:
⏱️ Duration: 40.92s
❌ Error:
self = <tests.test_autopilot.TestAutopilot object at 0x7f4c78168880>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f4c74527370>
login_page = <pages.login_page.LoginPage object at 0x7f4c74525a20>
publisher_page = <pages.publisher_page.PublisherPage object at 0x7f4c745259f0>
base_url = 'https://promo.com'
@pytest.mark.skip_smoke
@pytest.mark.skip_sanity
def test_a06_schedule_an_ai_post(
self, autopilot_page, login_page, publisher_page, base_url
):
"""
A06 Schedule an AI post
Feature scenario:
Given AI user is logged in
When I open Planner
Then I clean all scheduled posts for the current month
When I click on 2 AI Post
And I click the schedule button
And I schedule an AI post (calendar confirm)
And I complete the schedule flow on the publisher page
And I click the view planner button
Then I verify that user is redirected to the planner
Then Assert amount of scheduled posts in planner: 1
"""
login_page.login_directly(base_url, email_ai, get_password())
autopilot_page.go_to_planner(base_url)
autopilot_page.clean_scheduled_posts()
autopilot_page.open_ai_post(2)
autopilot_page.click_schedule_button()
autopilot_page.schedule_ai_post()
publisher_page.select_schedule_mode()
publisher_page.click_publish()
publisher_page.assert_publish_review(PublisherPage.STATUS_SCHEDULE)
publisher_page.confirm_publish()
> autopilot_page.click_view_planner_button()
tests/test_autopilot.py:333:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/autopilot_page.py:1101: in click_view_planner_button
self.page.locator(self.VIEW_PLANNER_BUTTON).wait_for(
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:20539: in wait_for
self._sync(
/usr/local/lib/python3.10/dist-pac
📸 Failure Screenshot: