Test Results (13 tests)
⏱️ Duration: 683.49s
❌ Error:
fixturefunc = <function publish_tiktok_private at 0x7f91573aa9e0>
request = <FixtureRequest for <Function test_pub03_verify_publish_tiktok>>
kwargs = {'browser': <selenium.webdriver.remote.webdriver.WebDriver (session="94f1da298005756d7c7223d57f4a33d4")>}
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_publisher_page.py:219: in publish_tiktok_private
bs_fail_with_traceback(browser, publish_tiktok_private, e)
helpers/common_helpers.py:815: in bs_fail_with_traceback
raise exception
tests/test_publisher_page.py:217: in publish_tiktok_private
publish_tiktok_as_private(browser)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
browser = <selenium.webdriver.remote.webdriver.WebDriver (session="94f1da298005756d7c7223d57f4a33d4")>
def publish_tiktok_as_private(browser):
"""
Publishes one private post to TikTok
Social accounts are always connected, this test doesn't cover the connection flow
"""
time.sleep(2)
add_video_to_post(browser)
do_send_keys(browser, ADD_TEXT_TO_TIKTOK_
📸 Failure Screenshot:
⏱️ Duration: 111.77s
❌ Error:
browser = <selenium.webdriver.remote.webdriver.WebDriver (session="8d418ff340b04c8ddda57b606c21f95e")>
@then('I assert close the button closes the pop-up')
def close_learn_popup(browser):
try:
> do_click(browser, AI_CLOSE_CROP_MODAL)
tests/test_assertion.py:427:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
helpers/common_helpers.py:200: in do_click
WebDriverWait(browser, sec, poll_frequency=0.4).until(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <selenium.webdriver.support.wait.WebDriverWait (session="8d418ff340b04c8ddda57b606c21f95e")>
method = <function element_to_be_clickable.<locals>._predicate at 0x7f91564d4ca0>
message = ''
def until(self, method: Callable[[WebDriver], Union[Literal[False], T]], message: str = "") -> T:
"""Calls the method provided with the driver as an argument until the \
return value does not evaluate to ``False``.
:param method: callable(WebDriver)
:param message: optional message for :exc:`TimeoutException`
:returns: the result of the last call to `method`
:raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs
"""
screen = None
stacktrace = None
end_time = time.monotonic() + self._timeout
while True:
try:
value = method(self._driver)
if value:
return value
except self._ignored_exceptions as exc:
screen = getattr(exc, "screen", None)
stacktrace = getattr(exc, "stacktrace", None)
time.sleep(self._poll)
if time.monotonic() > end_time:
break
> raise TimeoutException(message, screen, stacktrace)
E selenium.common.exceptions.TimeoutException: Message:
E Stacktrace:
E #0 0x5984acbf50ca <unknown>
E #1 0x5984ac8c12b0 <unknown>
E #
📸 Failure Screenshot:
⏱️ Duration: 312.74s
❌ Error:
browser = <selenium.webdriver.remote.webdriver.WebDriver (session="3240d26ba2d658f9076d30d79dc790cd")>
number = 4, timeout = 30
def count_ai_posts_after_delete(browser, number: int, timeout=30):
"""
After user delete AI post from bulk panel, count the number of AI posts after deletion
variables:
- browser: driver
- number: amount of expected posts
- timeout (optional): function will fail if posts were not found after amount of seconds specified in the timeout
"""
try:
> WebDriverWait(browser, timeout, poll_frequency=0.4).until(
lambda b: len(browser.find_elements(*PLANNER_AI_BADGE)) == number
)
pages/autopilot_page.py:1213:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <selenium.webdriver.support.wait.WebDriverWait (session="3240d26ba2d658f9076d30d79dc790cd")>
method = <function count_ai_posts_after_delete.<locals>.<lambda> at 0x7f915676c0d0>
message = ''
def until(self, method: Callable[[WebDriver], Union[Literal[False], T]], message: str = "") -> T:
"""Calls the method provided with the driver as an argument until the \
return value does not evaluate to ``False``.
:param method: callable(WebDriver)
:param message: optional message for :exc:`TimeoutException`
:returns: the result of the last call to `method`
:raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs
"""
screen = None
stacktrace = None
end_time = time.monotonic() + self._timeout
while True:
try:
value = method(self._driver)
if value:
return value
except self._ignored_exceptions as exc:
screen = getattr(exc, "screen", None)
stacktrace = getattr(exc, "stacktrace", None)
time.sleep(self._poll)
📸 Failure Screenshot: