← Back to All Reports
PARTIALLY PASSED (82%)
Job Name
chat_based_editor_prod
Pipeline ID
Job ID
#4374248
Branch
master
Commit
N/A
Executed At
2026-08-25T00:14:15.173598
18
Passed
4
Failed
0
Skipped

Test Results (22 tests)

test_cbe01_cbe_service_chains_sanity[chromium-caption]
passed
⏱️ Duration: 18.40s
test_cbe01_cbe_service_chains_sanity[chromium-linebreak]
passed
⏱️ Duration: 23.79s
test_cbe01_cbe_service_chains_sanity[chromium-music]
passed
⏱️ Duration: 11.87s
test_cbe01_cbe_service_chains_sanity[chromium-outro_values]
failed
⏱️ Duration: 19.12s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7ff0abfd3c40> login_page = <pages.login_page.LoginPage object at 0x7ff0ab3db430> autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7ff0abfdad40> base_url = 'https://promo.com', prompt_key = 'outro_values' @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]) tests/test_chat_based_editor.py:80: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pages.autopilot_page.AutopilotPage object at 0x7ff0abfdad40> prompt = 'Please create better food related hashtags in outro' def send_cbe_prompt_and_wait(self, prompt: str): """ Types a prompt in the chat input, sends it, then waits for the AI response and asserts no error message is shown. The CBE chat history persists on the post across sessions, so on a post that has already been through prior prompts (e.g. test_cbe01's chained parametrized runs against the same post) the pan
📸 Failure Screenshot:
Test failure screenshot
test_cbe01_cbe_service_chains_sanity[chromium-remove_scene]
passed
⏱️ Duration: 12.83s
test_cbe01_cbe_service_chains_sanity[chromium-text_color]
passed
⏱️ Duration: 17.71s
test_cbe01_cbe_service_chains_sanity[chromium-text_font]
failed
⏱️ Duration: 78.30s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7ff0abfd3a00> login_page = <pages.login_page.LoginPage object at 0x7ff0aad06da0> autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7ff0aad06560> 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]) # text_font / text_position are known to be slower on the backend to # apply and enable Save (documented flaky report in migration_log.md); # give them extra headroom instead of the default 30s. save_timeout = 60_000 if prompt_key in ("text_font", "text_position") else 30_000 > autopilot_page.verify_cbe_save_enabled(timeout=save_timeout) tests/test_chat_based_editor.py:85: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pages.autopilot_page.AutopilotPage object at 0x7ff0aad06560> timeout = 60000 def verify_cbe_save_enabled(self, timeout: int = 30_000): """ Verif
📸 Failure Screenshot:
Test failure screenshot
test_cbe01_cbe_service_chains_sanity[chromium-logo]
passed
⏱️ Duration: 12.51s
test_cbe01_cbe_service_chains_sanity[chromium-text_position]
passed
⏱️ Duration: 28.86s
test_cbe01_cbe_service_chains_sanity[chromium-translation]
passed
⏱️ Duration: 13.17s
test_cbe01_cbe_service_chains_sanity[chromium-add_scene]
passed
⏱️ Duration: 30.44s
test_cbe01_cbe_service_chains_sanity[chromium-change_watermark]
passed
⏱️ Duration: 11.94s
test_cbe02_cbe_should_work_in_all_ratios[chromium-wide]
failed
⏱️ Duration: 35.16s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7ff0abfd37c0> login_page = <pages.login_page.LoginPage object at 0x7ff0aa9fc670> autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7ff0aa9fda80> base_url = 'https://promo.com', ratio = 'wide' @pytest.mark.parametrize("ratio", ["wide", "vertical"]) def test_cbe02_cbe_should_work_in_all_ratios( self, login_page, autopilot_page, base_url, ratio ): """ CBE02 CBE should work in all ratios Login as AI user → open Planner → open 2nd post → change ratio → open CBE → send caption prompt → 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(min_count=2) autopilot_page.open_ai_post(2) autopilot_page.change_video_ratio(ratio) autopilot_page.open_cbe() autopilot_page.send_cbe_prompt_and_wait(CBE_PROMPTS["caption"]) > autopilot_page.verify_cbe_discard_popup() tests/test_chat_based_editor.py:107: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/autopilot_page.py:1376: in verify_cbe_discard_popup self.page.locator(self.AICHAT_DISCARD_MODAL_BUTTON).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.Connecti
📸 Failure Screenshot:
Test failure screenshot
test_cbe02_cbe_should_work_in_all_ratios[chromium-vertical]
failed
⏱️ Duration: 38.12s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7ff0abfd0dc0> login_page = <pages.login_page.LoginPage object at 0x7ff0aa8800d0> autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7ff0aa880730> base_url = 'https://promo.com', ratio = 'vertical' @pytest.mark.parametrize("ratio", ["wide", "vertical"]) def test_cbe02_cbe_should_work_in_all_ratios( self, login_page, autopilot_page, base_url, ratio ): """ CBE02 CBE should work in all ratios Login as AI user → open Planner → open 2nd post → change ratio → open CBE → send caption prompt → 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(min_count=2) autopilot_page.open_ai_post(2) autopilot_page.change_video_ratio(ratio) autopilot_page.open_cbe() autopilot_page.send_cbe_prompt_and_wait(CBE_PROMPTS["caption"]) > autopilot_page.verify_cbe_discard_popup() tests/test_chat_based_editor.py:107: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/autopilot_page.py:1376: in verify_cbe_discard_popup self.page.locator(self.AICHAT_DISCARD_MODAL_BUTTON).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.Conn
📸 Failure Screenshot:
Test failure screenshot
test_cbe03_replace_a_clip[chromium-stock_video]
passed
⏱️ Duration: 19.90s
test_cbe03_replace_a_clip[chromium-stock_photo]
passed
⏱️ Duration: 17.09s
test_cbe03_replace_a_clip[chromium-uploaded_video]
passed
⏱️ Duration: 17.79s
test_cbe03_replace_a_clip[chromium-uploaded_photo]
passed
⏱️ Duration: 15.61s
test_cbe04_upload_via_filestack_url[chromium-video]
passed
⏱️ Duration: 29.67s
test_cbe04_upload_via_filestack_url[chromium-photo]
passed
⏱️ Duration: 18.16s
test_cbe05_voice_changes_not_possible_for_non_narrated_videos[chromium]
passed
⏱️ Duration: 9.80s
test_cbe06_upload_via_filestack_facebook_page[chromium]
passed
⏱️ Duration: 29.45s