← Back to All Reports
TESTS FAILED (60%)
Job Name
ai_generation_prod
Pipeline ID
Job ID
#4184864
Branch
master
Commit
N/A
Executed At
2026-04-22T01:58:45.481854
9
Passed
6
Failed
0
Skipped

Test Results (15 tests)

test_ai03_autopilot_e2e_path_with_ai_topics_post_in_planner_verification
passed
⏱️ Duration: 278.48s
test_ai05_video_generation_started_from_chatgpt_store
passed
⏱️ Duration: 249.85s
test_ai06_free_user_can_generate_single_ai_post_from_planner
failed
⏱️ Duration: 225.28s
❌ Error:
fixturefunc = <function add_new_ai_post_today at 0x7f24b5761090> request = <FixtureRequest for <Function test_ai06_free_user_can_generate_single_ai_post_from_planner>> kwargs = {'browser': <selenium.webdriver.remote.webdriver.WebDriver (session="e1e28a26b9984a852b3e7657ae7b1708")>} def call_fixture_func( fixturefunc: "_FixtureFunc[FixtureValue]", request: FixtureRequest, kwargs ) -> FixtureValue: if is_generator(fixturefunc): fixturefunc = cast( Callable[..., Generator[FixtureValue, None, None]], fixturefunc ) generator = fixturefunc(**kwargs) try: fixture_result = next(generator) except StopIteration: raise ValueError(f"{request.fixturename} did not yield a value") from None finalizer = functools.partial(_teardown_yield_fixture, fixturefunc, generator) request.addfinalizer(finalizer) else: fixturefunc = cast(Callable[..., FixtureValue], fixturefunc) > fixture_result = fixturefunc(**kwargs) venv/lib/python3.10/site-packages/_pytest/fixtures.py:917: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_planner_page.py:981: in add_new_ai_post_today bs_fail_with_traceback(browser, add_new_ai_post_today, e) helpers/common_helpers.py:815: in bs_fail_with_traceback raise exception tests/test_planner_page.py:979: in add_new_ai_post_today generate_single_ai(browser, single_ai_description_input) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ browser = <selenium.webdriver.remote.webdriver.WebDriver (session="e1e28a26b9984a852b3e7657ae7b1708")> ai_input = 'Funny dogs video' def generate_single_ai(browser, ai_input: str): """ Provides the description and generates a single AI video from the planner pop-up. Single AI always generates voiceover videos ai_input can be provide
📸 Failure Screenshot:
Test failure screenshot
test_ai09p_free_user_generates_a_video_based_on_amazon_listing_that_contains_videos[amazon_product_with_videos2]
failed
⏱️ Duration: 86.13s
❌ Error:
fixturefunc = <function ai_onboarding_timer at 0x7f24b5c11090> request = <FixtureRequest for <Function test_ai09p_free_user_generates_a_video_based_on_amazon_listing_that_contains_videos[amazon_product_with_videos2]>> kwargs = {'browser': <selenium.webdriver.remote.webdriver.WebDriver (session="0868c85490f4615e8ad3292808f6c219")>} def call_fixture_func( fixturefunc: "_FixtureFunc[FixtureValue]", request: FixtureRequest, kwargs ) -> FixtureValue: if is_generator(fixturefunc): fixturefunc = cast( Callable[..., Generator[FixtureValue, None, None]], fixturefunc ) generator = fixturefunc(**kwargs) try: fixture_result = next(generator) except StopIteration: raise ValueError(f"{request.fixturename} did not yield a value") from None finalizer = functools.partial(_teardown_yield_fixture, fixturefunc, generator) request.addfinalizer(finalizer) else: fixturefunc = cast(Callable[..., FixtureValue], fixturefunc) > fixture_result = fixturefunc(**kwargs) venv/lib/python3.10/site-packages/_pytest/fixtures.py:917: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_autopilot_page.py:335: in ai_onboarding_timer bs_fail_with_traceback(browser, ai_onboarding_timer, e) helpers/common_helpers.py:815: in bs_fail_with_traceback raise exception tests/test_autopilot_page.py:333: in ai_onboarding_timer video_generation_screen_displayed(browser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ browser = <selenium.webdriver.remote.webdriver.WebDriver (session="0868c85490f4615e8ad3292808f6c219")> def video_generation_screen_displayed(browser): """ Verify that the video generation screen is displayed """ > assert is_visible(browser, AI_GENERATOR_TIMER, 10) E AssertionError pages/autopil
📸 Failure Screenshot:
Test failure screenshot
test_ai09p_free_user_generates_a_video_based_on_amazon_listing_that_contains_videos[amazon_product_with_videos3]
failed
⏱️ Duration: 76.39s
❌ Error:
fixturefunc = <function ai_onboarding_timer at 0x7f24b5c11090> request = <FixtureRequest for <Function test_ai09p_free_user_generates_a_video_based_on_amazon_listing_that_contains_videos[amazon_product_with_videos3]>> kwargs = {'browser': <selenium.webdriver.remote.webdriver.WebDriver (session="8cae7221ce04c9a8d98eeb1f419a1f86")>} def call_fixture_func( fixturefunc: "_FixtureFunc[FixtureValue]", request: FixtureRequest, kwargs ) -> FixtureValue: if is_generator(fixturefunc): fixturefunc = cast( Callable[..., Generator[FixtureValue, None, None]], fixturefunc ) generator = fixturefunc(**kwargs) try: fixture_result = next(generator) except StopIteration: raise ValueError(f"{request.fixturename} did not yield a value") from None finalizer = functools.partial(_teardown_yield_fixture, fixturefunc, generator) request.addfinalizer(finalizer) else: fixturefunc = cast(Callable[..., FixtureValue], fixturefunc) > fixture_result = fixturefunc(**kwargs) venv/lib/python3.10/site-packages/_pytest/fixtures.py:917: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_autopilot_page.py:335: in ai_onboarding_timer bs_fail_with_traceback(browser, ai_onboarding_timer, e) helpers/common_helpers.py:815: in bs_fail_with_traceback raise exception tests/test_autopilot_page.py:333: in ai_onboarding_timer video_generation_screen_displayed(browser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ browser = <selenium.webdriver.remote.webdriver.WebDriver (session="8cae7221ce04c9a8d98eeb1f419a1f86")> def video_generation_screen_displayed(browser): """ Verify that the video generation screen is displayed """ > assert is_visible(browser, AI_GENERATOR_TIMER, 10) E AssertionError pages/autopil
📸 Failure Screenshot:
Test failure screenshot
test_ai10_free_user_can_generate_the_second_batch_with_topic
passed
⏱️ Duration: 270.60s
test_ai12_new_user_tries_ai_generation_from_homepage_without_a_website
passed
⏱️ Duration: 278.07s
test_ai15_new_user_tries_ai_generation_from_homepage_for_topic
passed
⏱️ Duration: 223.91s
test_ai01_free_user_can_generate_30_ai_posts_and_cant_render_a_video
passed
⏱️ Duration: 369.98s
test_ai07_free_user_tries_to_generate_the_second_batch_with_another_brand
passed
⏱️ Duration: 316.01s
test_ai08_free_user_generates_a_video_for_the_amazon_product_with_a_store
failed
⏱️ Duration: 174.35s
❌ Error:
browser = <selenium.webdriver.remote.webdriver.WebDriver (session="2e4e2ecf56576d10eb0d63309497356d")> def go_to_my_account(browser): """ Goes to My Account page with screenshot upload on failure """ time.sleep(4) # Close any modals/popups that might be blocking the menu skip_offer_modal(browser) time.sleep(1) # Try to find and hover over username menu with retry logic and screenshots max_attempts = 5 for attempt in range(max_attempts): if is_visible(browser, USERNAME_MENU, 10): do_hover(browser, USERNAME_MENU, 5) break else: print(f"USERNAME_MENU not visible in go_to_my_account, attempt {attempt + 1}/{max_attempts}") # Take screenshot and upload to R2 timestamp = datetime.now().strftime('%Y%m%d_%H%M%S') job_id = os.getenv('CI_JOB_ID', 'local') filename = f"my_account_username_missing_{job_id}_{timestamp}_attempt{attempt}.png" screenshot_url = upload_screenshot_to_r2(browser, filename) print(f"Screenshot uploaded: {screenshot_url}") if attempt < max_attempts - 1: browser.refresh() time.sleep(4) skip_offer_modal(browser) else: # Final screenshot before failing timestamp = datetime.now().strftime('%Y%m%d_%H%M%S') job_id = os.getenv('CI_JOB_ID', 'local') filename = f"my_account_username_final_fail_{job_id}_{timestamp}.png" screenshot_url = upload_screenshot_to_r2(browser, filename) print(f"Final failure screenshot: {screenshot_url}") # If username menu never appeared, user might not be logged in raise AssertionError("USERNAME_MENU never became visible. User may not be logged in.") # Click My Account
📸 Failure Screenshot:
Test failure screenshot
test_ai09p_free_user_generates_a_video_based_on_amazon_listing_that_contains_videos[amazon_product_with_videos]
failed
⏱️ Duration: 85.48s
❌ Error:
fixturefunc = <function ai_onboarding_timer at 0x7f075ff28940> request = <FixtureRequest for <Function test_ai09p_free_user_generates_a_video_based_on_amazon_listing_that_contains_videos[amazon_product_with_videos]>> kwargs = {'browser': <selenium.webdriver.remote.webdriver.WebDriver (session="d8eb3920cdf235e941c4433bb60e946a")>} def call_fixture_func( fixturefunc: "_FixtureFunc[FixtureValue]", request: FixtureRequest, kwargs ) -> FixtureValue: if is_generator(fixturefunc): fixturefunc = cast( Callable[..., Generator[FixtureValue, None, None]], fixturefunc ) generator = fixturefunc(**kwargs) try: fixture_result = next(generator) except StopIteration: raise ValueError(f"{request.fixturename} did not yield a value") from None finalizer = functools.partial(_teardown_yield_fixture, fixturefunc, generator) request.addfinalizer(finalizer) else: fixturefunc = cast(Callable[..., FixtureValue], fixturefunc) > fixture_result = fixturefunc(**kwargs) venv/lib/python3.10/site-packages/_pytest/fixtures.py:917: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_autopilot_page.py:335: in ai_onboarding_timer bs_fail_with_traceback(browser, ai_onboarding_timer, e) helpers/common_helpers.py:815: in bs_fail_with_traceback raise exception tests/test_autopilot_page.py:333: in ai_onboarding_timer video_generation_screen_displayed(browser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ browser = <selenium.webdriver.remote.webdriver.WebDriver (session="d8eb3920cdf235e941c4433bb60e946a")> def video_generation_screen_displayed(browser): """ Verify that the video generation screen is displayed """ > assert is_visible(browser, AI_GENERATOR_TIMER, 10) E AssertionError pages/autopilo
📸 Failure Screenshot:
Test failure screenshot
test_ai11_new_user_tries_ai_generation_from_homepage__release
passed
⏱️ Duration: 231.51s
test_ai13_new_user_tries_ai_generation_from_homepage_with_custom_dates__release
passed
⏱️ Duration: 283.73s
test_ai14_new_user_tries_ai_generation_from_homepage_for_amazon_product
failed
⏱️ Duration: 463.61s
❌ Error:
fixturefunc = <function user_redirected_after_video_generation at 0x7f075ff295a0> request = <FixtureRequest for <Function test_ai14_new_user_tries_ai_generation_from_homepage_for_amazon_product>> kwargs = {'browser': <selenium.webdriver.remote.webdriver.WebDriver (session="243ffdbed87ffd41f2e6d5639068c959")>} def call_fixture_func( fixturefunc: "_FixtureFunc[FixtureValue]", request: FixtureRequest, kwargs ) -> FixtureValue: if is_generator(fixturefunc): fixturefunc = cast( Callable[..., Generator[FixtureValue, None, None]], fixturefunc ) generator = fixturefunc(**kwargs) try: fixture_result = next(generator) except StopIteration: raise ValueError(f"{request.fixturename} did not yield a value") from None finalizer = functools.partial(_teardown_yield_fixture, fixturefunc, generator) request.addfinalizer(finalizer) else: fixturefunc = cast(Callable[..., FixtureValue], fixturefunc) > fixture_result = fixturefunc(**kwargs) venv/lib/python3.10/site-packages/_pytest/fixtures.py:917: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_autopilot_page.py:400: in user_redirected_after_video_generation bs_fail_with_traceback(browser, user_redirected_after_video_generation, e) helpers/common_helpers.py:815: in bs_fail_with_traceback raise exception tests/test_autopilot_page.py:398: in user_redirected_after_video_generation ai_generated_posts_in_planner(browser, 300) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ browser = <selenium.webdriver.remote.webdriver.WebDriver (session="243ffdbed87ffd41f2e6d5639068c959")> waiting_time = 300 def ai_generated_posts_in_planner(browser, waiting_time: int): """ Verifies if AI posts are visible in Planner waiting_time (int) = chosen value in se
📸 Failure Screenshot:
Test failure screenshot