⏱️ Duration: 52.91s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f5a56f06740>
login_page = <pages.login_page.LoginPage object at 0x7f5a56ea53c0>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f5a56ea5030>
base_url = 'https://promo.com', prompt_key = 'text_font'
@pytest.mark.skip_smoke
@pytest.mark.parametrize("prompt_key", [
"caption",
"linebreak",
"music",
"outro_values",
"remove_scene",
"text_color",
"text_font",
"logo",
"text_position",
"translation",
"add_scene",
"change_watermark",
])
def test_cbe01_cbe_service_chains_sanity(
self, login_page, autopilot_page, base_url, prompt_key
):
"""
CBE01 CBE service chains sanity
Login as AI user → open Planner → ensure AI posts exist → open 1st post
→ open CBE → send prompt → verify AI response → verify save enabled
→ verify discard popup → save video.
"""
login_page.login_directly(base_url, email_ai, get_password())
autopilot_page.go_to_planner(base_url)
autopilot_page.ensure_ai_posts_exist()
autopilot_page.open_ai_post(1)
autopilot_page.open_cbe()
autopilot_page.send_cbe_prompt_and_wait(CBE_PROMPTS[prompt_key])
> autopilot_page.verify_cbe_save_enabled()
tests/test_chat_based_editor.py:98:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pages.autopilot_page.AutopilotPage object at 0x7f5a56ea5030>
def verify_cbe_save_enabled(self):
"""
Verifies the Save button is enabled (backend has applied the AI change).
Mirrors: verify_cbe_save_enabled(browser) retry loop
"""
from playwright.sync_api import expect
> expect(self.page.locator(self.AICHAT_SAVE_BUTTON)).to_be_enabled(timeout=30_000)
E AssertionError: Locator expected to be enabled
E Actual value: disabled
E
📸 Failure Screenshot:
⏱️ Duration: 383.23s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f5a56e80df0>
page = <Page url='https://promo.com/planner/promoai'>
base_url = 'https://promo.com'
def test_cbe07_change_intro_amazon_product_video(
self, page, base_url
):
"""
CBE07 Change the intro for an Amazon product video
Go to homepage with TID=0 → provide Amazon product URL → click Generate
→ verify AI flow login loader → create new Promo-domain account
→ skip survey → wait for onboarding timer → skip tutorial
→ open first Amazon AI post → verify Amazon-specific buttons
→ open CBE → change intro via 'amazon_intro' prompt → verify save enabled
→ open advanced settings → open edit script → add sentence → save
→ confirm regeneration → wait for regeneration → verify save enabled → save video.
"""
main_page = MainPage(page)
signup_page = SignUpPage(page)
autopilot_page = AutopilotPage(page)
main_page.go_to_homepage_with_tid(base_url, "0")
main_page.provide_autopilot_input(amazon_product)
main_page.click_video_settings_next()
main_page.assert_ai_flow_login_loader()
signup_page.fill_signup_form_in_ai_flow(fullname, random_password)
signup_page.skip_survey()
# Wait for the generation timer screen → skip tutorial
autopilot_page.page.locator(autopilot_page.AI_GENERATOR_TIMER).wait_for(
state="visible", timeout=120_000
)
autopilot_page.page.locator(autopilot_page.AI_GENERATOR_SKIP_VIDEO).wait_for(
state="visible", timeout=30_000
)
autopilot_page.page.locator(autopilot_page.AI_GENERATOR_SKIP_VIDEO).click()
# Planner loads with the Amazon AI post — generation can take several minutes
> autopilot_page.page.locator(autopilot_page.PLANNER_AI_BADGE).first.wait_for(
state="visible", timeout=360_000
)
tests/test_chat_b
📸 Failure Screenshot: