← Back to All Reports
TESTS FAILED (17%)
Job Name
active_stock_prod
Pipeline ID
Job ID
#4336441
Branch
master
Commit
N/A
Executed At
2026-07-30T23:08:08.320776
1
Passed
5
Failed
0
Skipped

Test Results (6 tests)

test_as01_smoke_logged_in_create_page[chromium]
failed
⏱️ Duration: 37.71s
❌ Error:
self = <tests.test_active_stock.TestActiveStock object at 0x7f15954c20b0> page = <Page url='https://promo.com/active-stock'> base_url = 'https://promo.com' def test_as01_smoke_logged_in_create_page(self, page: Page, base_url: str) -> None: """Logged-in user on /active-stock sees header nav, curated catalog preview with category tags, recreate-btn on hover, and lands on /generate-from/.""" login_page = LoginPage(page) login_page.login_directly(base_url, general_mail(), get_password()) login_page.assert_logged_in_as(fullname) active_stock = ActiveStockPage(page) > active_stock.navigate_to_active_stock(base_url) tests/test_active_stock.py:38: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/active_stock_page.py:68: in navigate_to_active_stock self.page.wait_for_load_state("networkidle") /usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:9875: in wait_for_load_state self._sync( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_page.py:580: in wait_for_load_state return await self._main_frame.wait_for_load_state(**locals_to_params(locals())) /usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:298: in wait_for_load_state return await self._wait_for_load_state_impl(state, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Frame name= url='https://promo.com/active-stock'>, state = 'networkidle' timeout = None async def _wait_for_load_state_impl( self, state: DocumentLoadState = None, timeout: float = None ) -> None: if not state: state = "load" if state not in ("load", "domcontentloaded", "networkidle", "commit"): raise Error( "state: expected one of (load|domcontentloaded|networkidle|commit)" ) waiter = self._setup_navigation_waiter("wait_for_load_state", timeout) if
📸 Failure Screenshot:
Test failure screenshot
test_as02_smoke_not_logged_in_showcase[chromium]
passed
⏱️ Duration: 2.56s
test_as03_my_videos_action_buttons[chromium]
failed
⏱️ Duration: 37.38s
❌ Error:
self = <tests.test_active_stock.TestActiveStock object at 0x7f15954c1a20> page = <Page url='https://promo.com/active-stock'> base_url = 'https://promo.com' @pytest.mark.skip_smoke def test_as03_my_videos_action_buttons(self, page: Page, base_url: str) -> None: """Logged-in user navigates to My Videos, confirms at least one video exists, and hovers to reveal action buttons.""" login_page = LoginPage(page) login_page.login_directly(base_url, general_mail(), get_password()) login_page.assert_logged_in_as(fullname) active_stock = ActiveStockPage(page) > active_stock.navigate_to_active_stock(base_url) tests/test_active_stock.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/active_stock_page.py:68: in navigate_to_active_stock self.page.wait_for_load_state("networkidle") /usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:9875: in wait_for_load_state self._sync( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_page.py:580: in wait_for_load_state return await self._main_frame.wait_for_load_state(**locals_to_params(locals())) /usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:298: in wait_for_load_state return await self._wait_for_load_state_impl(state, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Frame name= url='https://promo.com/active-stock'>, state = 'networkidle' timeout = None async def _wait_for_load_state_impl( self, state: DocumentLoadState = None, timeout: float = None ) -> None: if not state: state = "load" if state not in ("load", "domcontentloaded", "networkidle", "commit"): raise Error( "state: expected one of (load|domcontentloaded|networkidle|commit)" ) waiter = self._setup_navigation_waiter("wait_for_load_state", timeout) if state in
📸 Failure Screenshot:
Test failure screenshot
test_as04_generate_page_controls_after_image_activation[chromium]
failed
⏱️ Duration: 25.25s
❌ Error:
self = <tests.test_active_stock.TestActiveStock object at 0x7f15954c16c0> page = <Page url='https://promo.com/active-stock/generate?imageId=1072528872&imageSource=getty&imageTitle=The+man+screaming+w...qpUiWJ_XLJMBk3be4snkQ4bnF_7AwcIxQC5elQhldck%3D&term=Bizarre&searchType=search&searchTerm=Bizarre&searchRatio=vertical'> base_url = 'https://promo.com' @pytest.mark.skip_smoke def test_as04_generate_page_controls_after_image_activation(self, page: Page, base_url: str) -> None: """Logged-in user activates an image from the create grid and verifies all generator controls are visible.""" login_page = LoginPage(page) login_page.login_directly(base_url, general_mail(), get_password()) login_page.assert_logged_in_as(fullname) active_stock = ActiveStockPage(page) active_stock.navigate_to_create(base_url) active_stock.assert_grid_has_at_least_20_items() active_stock.hover_second_item_and_assert_activate_btn() > active_stock.activate_image_and_assert_generate_page() tests/test_active_stock.py:79: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pages.active_stock_page.ActiveStockPage object at 0x7f158e43add0> def activate_image_and_assert_generate_page(self) -> None: """Clicks activate-image, then asserts URL, all generator controls visible, and crop/link controls absent.""" with self.page.expect_navigation(timeout=self.T_NETWORK): self.page.locator(self.ACTIVATE_IMAGE_BTN).first.click(force=True) self.page.wait_for_load_state("networkidle", timeout=self.T_NETWORK) assert "/active-stock/generate?imageId=" in self.page.url, ( f"Expected URL to contain '/active-stock/generate?imageId=', got: {self.page.url}" ) visible_selectors = [ self.CHANGE_IMAGE_BTN, self.GENERATE_VIDEO_BTN, self.ACTION_TEMPLATE_SELECTOR, self.CAMERA_MOVEME
📸 Failure Screenshot:
Test failure screenshot
test_as05_full_generation_flow[chromium]
failed
⏱️ Duration: 24.58s
❌ Error:
self = <tests.test_active_stock.TestActiveStock object at 0x7f15954c1030> page = <Page url='https://promo.com/active-stock/generate?imageId=1072528872&imageSource=getty&imageTitle=The+man+screaming+w...qpUiWJ_XLJMBk3be4snkQ4bnF_7AwcIxQC5elQhldck%3D&term=Bizarre&searchType=search&searchTerm=Bizarre&searchRatio=vertical'> base_url = 'https://promo.com' @pytest.mark.skip_smoke def test_as05_full_generation_flow(self, page: Page, base_url: str) -> None: """Logged-in user activates an image, configures Kling 3 Standard generation, and waits for video result.""" login_page = LoginPage(page) login_page.login_directly(base_url, general_mail(), get_password()) login_page.assert_logged_in_as(fullname) active_stock = ActiveStockPage(page) active_stock.navigate_to_active_stock(base_url) active_stock.click_create_in_nav() active_stock.assert_grid_has_at_least_20_items() active_stock.hover_first_item_and_click_activate() active_stock.select_second_action_template() active_stock.fill_scene_action( "The man is indoors, wearing the same pink polo shirt. " "Preserve his identity, hairstyle, outfit. The man is terrifies and shouts." ) active_stock.assert_speaker_chip_avatar_visible() active_stock.fill_scene_text( "Hi, I'm your ActiveStock Terrified Avatar. " "I can help you create inspiring content with real footage from places all over the world." ) active_stock.select_model("Kling 3 Standard") duration_before_sync = active_stock.get_duration_label() active_stock.enable_smart_sync() > active_stock.assert_duration_auto_synced_and_enabled(duration_before_sync) tests/test_active_stock.py:107: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pages.active_stock_page.ActiveStockPage object at 0x7f158fffdfc0> previous_label = 'Duration
📸 Failure Screenshot:
Test failure screenshot
test_as06_upload_own_photo[chromium]
failed
⏱️ Duration: 38.47s
❌ Error:
self = <tests.test_active_stock.TestActiveStock object at 0x7f15954c0cd0> page = <Page url='https://promo.com/active-stock/create'> base_url = 'https://promo.com' @pytest.mark.skip_smoke @pytest.mark.skipif( _UPLOAD_PHOTO_NOT_ON_TEST03, reason="Upload Photo not yet deployed to test03 (present on test05 and prod)", ) def test_as06_upload_own_photo(self, page: Page, base_url: str) -> None: """Logged-in user uploads their own photo on the create page and lands on the generate page with it as the source image. Upload Photo has an asymmetric rollout: present on prod and test05, absent on test03 (its build's i18n bundle has no upload-photo-* keys, and upload-photo-btn/upload-photo-input are absent from the DOM there). Skipped only on test03 until the rollout catches up there. """ login_page = LoginPage(page) login_page.login_directly(base_url, general_mail(), get_password()) login_page.assert_logged_in_as(fullname) active_stock = ActiveStockPage(page) > active_stock.navigate_to_create(base_url) tests/test_active_stock.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/active_stock_page.py:72: in navigate_to_create self.page.wait_for_load_state("networkidle") /usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:9875: in wait_for_load_state self._sync( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_page.py:580: in wait_for_load_state return await self._main_frame.wait_for_load_state(**locals_to_params(locals())) /usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:298: in wait_for_load_state return await self._wait_for_load_state_impl(state, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Frame name= url='https://promo.com/active-stock/create'> state = 'networkidle', timeout = None asyn
📸 Failure Screenshot:
Test failure screenshot