Test Results (15 tests)
⏱️ Duration: 156.15s
❌ Error:
browser = <selenium.webdriver.remote.webdriver.WebDriver (session="dc3857bcd54096be672bc2074ce8c169")>
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:
⏱️ Duration: 57.73s
❌ Error:
fixturefunc = <function ai_onboarding_timer at 0x7f057581c550>
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="cf07f01db0ad3f18af6f8c435a5735fa")>}
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="cf07f01db0ad3f18af6f8c435a5735fa")>
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:
⏱️ Duration: 58.92s
❌ Error:
fixturefunc = <function ai_onboarding_timer at 0x7f057581c550>
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="2ac1c47ce18e8a31de0359cb4755a7ae")>}
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="2ac1c47ce18e8a31de0359cb4755a7ae")>
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:
⏱️ Duration: 57.16s
❌ Error:
fixturefunc = <function ai_onboarding_timer at 0x7fc6e02565f0>
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="c9783baf5b41d3b0b478d0444c0ff9ef")>}
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="c9783baf5b41d3b0b478d0444c0ff9ef")>
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:
⏱️ Duration: 427.35s
❌ Error:
fixturefunc = <function user_redirected_after_video_generation at 0x7fc6e0257250>
request = <FixtureRequest for <Function test_ai14_new_user_tries_ai_generation_from_homepage_for_amazon_product>>
kwargs = {'browser': <selenium.webdriver.remote.webdriver.WebDriver (session="c7567afbf5a2f0002ab0b124bade9370")>}
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="c7567afbf5a2f0002ab0b124bade9370")>
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: