Test Results (6 tests)
⏱️ Duration: 54.32s
❌ Error:
self = <tests.publisher_yt_linkedin.test_publisher_yt_linkedin.TestPublisherYtLinkedin object at 0x7f4546d81540>
socials_publisher = <function socials_publisher.<locals>._open at 0x7f45462db6d0>
publisher_page = <pages.publisher_page.PublisherPage object at 0x7f45476536a0>
planner_page = <pages.planner_page.PlannerPage object at 0x7f4547021780>
base_url = 'https://promo.com'
def test_pub01_publish_and_schedule_yt_shorts_and_li(
self, socials_publisher, publisher_page, planner_page, base_url
):
socials_publisher(SHORT_VIDEO, clean_months=(2, SCHEDULE_MONTH))
pp = publisher_page
> pp.select_accounts_and_continue(pp.SLOT_YOUTUBE, pp.SLOT_LINKEDIN, pp.SLOT_LINKEDIN_PAGE)
tests/publisher_yt_linkedin/test_publisher_yt_linkedin.py:91:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/publisher_page.py:551: in select_accounts_and_continue
account.scroll_into_view_if_needed()
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:19985: in scroll_into_view_if_needed
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:617: in scroll_into_view_if_needed
return await self._with_element(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:114: in _with_element
handle = await self.element_handle(timeout=timeout)
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:325: in element_handle
handle = 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.Connection object at 0x7f4546fb2aa0>
cb = <function Channel.send.<locals>.<lambda> at 0x7f4545ebc310>
📸 Failure Screenshot:
⏱️ Duration: 39.21s
❌ Error:
self = <tests.publisher_yt_linkedin.test_publisher_yt_linkedin.TestPublisherYtLinkedin object at 0x7f4546d80250>
socials_publisher = <function socials_publisher.<locals>._open at 0x7f4546d735b0>
publisher_page = <pages.publisher_page.PublisherPage object at 0x7f4544f07c10>
planner_page = <pages.planner_page.PlannerPage object at 0x7f4544f06c50>
base_url = 'https://promo.com'
@pytest.mark.skip_smoke
def test_pub04_reschedule_yt_shorts_and_li(
self, socials_publisher, publisher_page, planner_page, base_url
):
socials_publisher(SHORT_VIDEO)
pp = publisher_page
> pp.select_accounts_and_continue(pp.SLOT_YOUTUBE, pp.SLOT_LINKEDIN)
tests/publisher_yt_linkedin/test_publisher_yt_linkedin.py:160:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/publisher_page.py:551: in select_accounts_and_continue
account.scroll_into_view_if_needed()
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:19985: in scroll_into_view_if_needed
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:617: in scroll_into_view_if_needed
return await self._with_element(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:114: in _with_element
handle = await self.element_handle(timeout=timeout)
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:325: in element_handle
handle = 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.Connection object at 0x7f4546fb2aa0>
cb = <function Channel.send.<locals>.<lambda> at 0x7f4544130550>
is_internal = False, title = None
📸 Failure Screenshot:
⏱️ Duration: 40.27s
❌ Error:
self = <tests.publisher_yt_linkedin.test_publisher_yt_linkedin.TestPublisherYtLinkedin object at 0x7f4546d834f0>
socials_publisher = <function socials_publisher.<locals>._open at 0x7f4545ebcb80>
publisher_page = <pages.publisher_page.PublisherPage object at 0x7f4546d86b00>
planner_page = <pages.planner_page.PlannerPage object at 0x7f4546d86980>
base_url = 'https://promo.com'
def test_pub05_duplicate_and_discard_post(
self, socials_publisher, publisher_page, planner_page, base_url
):
socials_publisher(LONG_VIDEO)
pp = publisher_page
> pp.select_accounts_and_continue(pp.SLOT_LINKEDIN)
tests/publisher_yt_linkedin/test_publisher_yt_linkedin.py:200:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/publisher_page.py:551: in select_accounts_and_continue
account.scroll_into_view_if_needed()
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:19985: in scroll_into_view_if_needed
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:617: in scroll_into_view_if_needed
return await self._with_element(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:114: in _with_element
handle = await self.element_handle(timeout=timeout)
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:325: in element_handle
handle = 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.Connection object at 0x7f4546fb2aa0>
cb = <function Channel.send.<locals>.<lambda> at 0x7f45461e03a0>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Ca
📸 Failure Screenshot:
⏱️ Duration: 37.08s
❌ Error:
self = <tests.publisher_yt_linkedin.test_publisher_yt_linkedin.TestPublisherYtLinkedin object at 0x7f4546d82f50>
socials_publisher = <function socials_publisher.<locals>._open at 0x7f4545ebc1f0>
publisher_page = <pages.publisher_page.PublisherPage object at 0x7f4544ff8820>
planner_page = <pages.planner_page.PlannerPage object at 0x7f4544ff8550>
base_url = 'https://promo.com'
@pytest.mark.skip_smoke
def test_pub08_external_share_of_scheduled_post(
self, socials_publisher, publisher_page, planner_page, base_url
):
socials_publisher(SHORT_VIDEO)
pp = publisher_page
> pp.select_accounts_and_continue(pp.SLOT_LINKEDIN)
tests/publisher_yt_linkedin/test_publisher_yt_linkedin.py:230:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/publisher_page.py:551: in select_accounts_and_continue
account.scroll_into_view_if_needed()
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:19985: in scroll_into_view_if_needed
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:617: in scroll_into_view_if_needed
return await self._with_element(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:114: in _with_element
handle = await self.element_handle(timeout=timeout)
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:325: in element_handle
handle = 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.Connection object at 0x7f4546fb2aa0>
cb = <function Channel.send.<locals>.<lambda> at 0x7f454410b7f0>
is_internal = False, title = None
async def
📸 Failure Screenshot:
⏱️ Duration: 54.01s
❌ Error:
self = <tests.publisher_yt_linkedin.test_publisher_yt_linkedin.TestPublisherYtLinkedin object at 0x7f4546d82500>
socials_publisher = <function socials_publisher.<locals>._open at 0x7f454630c040>
publisher_page = <pages.publisher_page.PublisherPage object at 0x7f4546125960>
planner_page = <pages.planner_page.PlannerPage object at 0x7f4546127010>
mobile_page = <Page url='about:blank'>, base_url = 'https://promo.com'
def test_pub06_planner_preview_and_delete_on_mobile(
self, socials_publisher, publisher_page, planner_page, mobile_page, base_url
):
"""
Kept as one test (not split into web/mobile halves): the mobile part needs the exact
post the web part scheduled, and the source scenario is one BrowserStack session pair.
"""
socials_publisher(LONG_VIDEO, clean_months=(2, SCHEDULE_MONTH))
pp = publisher_page
> pp.select_accounts_and_continue(pp.SLOT_LINKEDIN)
tests/publisher_yt_linkedin/test_publisher_yt_linkedin.py:258:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/publisher_page.py:551: in select_accounts_and_continue
account.scroll_into_view_if_needed()
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:19985: in scroll_into_view_if_needed
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:617: in scroll_into_view_if_needed
return await self._with_element(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:114: in _with_element
handle = await self.element_handle(timeout=timeout)
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:325: in element_handle
handle = 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_ca
📸 Failure Screenshot:
⏱️ Duration: 171.79s
❌ Error:
self = <tests.publisher_yt_linkedin.test_publisher_yt_linkedin.TestPublisherYtLinkedin object at 0x7f4546d83640>
main_page = <pages.main_page.MainPage object at 0x7f453efbb4f0>
login_page = <pages.login_page.LoginPage object at 0x7f453efb9d80>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f4544f06e60>
planner_page = <pages.planner_page.PlannerPage object at 0x7f4544f07ca0>
publisher_page = <pages.publisher_page.PublisherPage object at 0x7f4544f07fd0>
base_url = 'https://promo.com'
def test_pub11_create_new_ratios_for_ai_post(
self, main_page, login_page, autopilot_page, planner_page, publisher_page, base_url
):
"""
Uses the 5th AI post (pinned by title for the rest of the test). If that post already
has a wide/vertical ratio (left over from an interrupted run) it is deleted and the new
5th post is used — the source deleted it too, but then failed and needed a manual re-run.
"""
main_page.go_to_homepage_with_tid(base_url, "200220240")
login_page.login_directly(base_url, email_ai, get_password())
planner_page.go_to_my_calendar(base_url)
planner_page.verify_on_planner()
autopilot_page.ensure_ai_posts_exist(min_count=5)
ai_items = planner_page.page.locator(autopilot_page.PLANNER_AI_SUGGESTED_ITEM)
title = None
def open_5th_ai_post_in_publisher():
item = ai_items.filter(has_text=title).first
item.wait_for(state="visible", timeout=planner_page.T_SLOW)
item.click()
planner_page.page.locator(planner_page.PLAY_PAUSE_VISIBLE).wait_for(
state="visible", timeout=planner_page.T_SLOW
)
# Precondition: the 5th AI post must have neither a wide nor a vertical ratio yet.
# A post left with one by an interrupted run is deleted and the next 5th post is used.
for _ in range(3):
# Pin the post by its title: re-opening "the 5
📸 Failure Screenshot: