Test Results (5 tests)
⏱️ Duration: 164.14s
❌ Error:
browser = <selenium.webdriver.remote.webdriver.WebDriver (session="851ea9317bf5bc03754138938d5cf7a4")>
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: 70.39s
❌ Error:
fixturefunc = <function ai_onboarding_timer at 0x7f5de730c820>
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="e1e68864299ac8f34e62abda2b78805b")>}
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="e1e68864299ac8f34e62abda2b78805b")>
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: 61.56s
❌ Error:
fixturefunc = <function ai_onboarding_timer at 0x7fa0c8eeeb00>
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="177e3518cbc61f25504ddf4b9167f7d0")>}
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="177e3518cbc61f25504ddf4b9167f7d0")>
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: 60.00s
❌ Error:
fixturefunc = <function ai_onboarding_timer at 0x7fa0c8eeeb00>
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="bf33a19bab99f4373f264846613d9429")>}
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="bf33a19bab99f4373f264846613d9429")>
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: 447.19s
❌ Error:
fixturefunc = <function user_redirected_after_video_generation at 0x7fa0c8eef760>
request = <FixtureRequest for <Function test_ai14_new_user_tries_ai_generation_from_homepage_for_amazon_product>>
kwargs = {'browser': <selenium.webdriver.remote.webdriver.WebDriver (session="5b08547adab4c599fd8234cf23e2cfb9")>}
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="5b08547adab4c599fd8234cf23e2cfb9")>
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: