← Back to All Reports
TESTS FAILED (50%)
Job Name
web_general_prod
Pipeline ID
Job ID
#4398742
Branch
master
Commit
N/A
Executed At
2026-09-10T01:25:53.125446
3
Passed
3
Failed
0
Skipped

Test Results (6 tests)

test_w01_verify_utm_on_promo_url[chromium]
passed
⏱️ Duration: 10.92s
test_w02_verify_clicking_main_logo[chromium]
failed
⏱️ Duration: 93.64s
❌ Error:
self = <tests.test_web_general.TestWebPhase1 object at 0x7fd8fad775e0> login_page = <pages.login_page.LoginPage object at 0x7fd8fad9c130> main_page = <pages.main_page.MainPage object at 0x7fd8fad9dff0> base_url = 'https://promo.com' @pytest.mark.skip_smoke def test_w02_verify_clicking_main_logo(self, login_page, main_page, base_url): """ W02 Verify clicking main logo Logo click should redirect to the Planner from: pricing page (not logged), My Account (logged), and Brand Manager (logged). """ page = login_page.page # Not logged — from pricing page login_page.go_to_home(base_url) login_page.skip_cookies() page.goto(f"{base_url}/pricing") page.wait_for_load_state("domcontentloaded") main_page.click_main_logo() main_page.verify_redirected_to_x(planner_page_title) # Log in login_page.login_directly(base_url, general_mail(), get_password()) # Logged — from My Account page.goto(f"{base_url}/settings") page.wait_for_load_state("domcontentloaded") main_page.click_main_logo() main_page.verify_redirected_to_x(planner_page_title) # Logged — from Brand Manager page.locator(MainPage.HEADER_DASHBOARD).wait_for(state="visible", timeout=15_000) page.locator(MainPage.HEADER_DASHBOARD).hover() page.locator(MainPage.HEADER_DASHBOARD_BRAND_MANAGER).wait_for( state="visible", timeout=10_000 ) page.locator(MainPage.HEADER_DASHBOARD_BRAND_MANAGER).click() page.wait_for_load_state("domcontentloaded") main_page.click_main_logo() > main_page.verify_redirected_to_x(planner_page_title) tests/test_web_general.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pages.main_page.MainPage object at 0x7fd8fad9dff0> expected_title = 'Promo Planner' def verify_redirected_to_x(self, e
📸 Failure Screenshot:
Test failure screenshot
test_w21_verify_incorrect_change_of_password[chromium]
failed
⏱️ Duration: 46.36s
❌ Error:
self = <tests.test_web_general.TestWebPhase1 object at 0x7fd8fad77b80> login_page = <pages.login_page.LoginPage object at 0x7fd8f9253b50> my_account_page = <pages.my_account_page.MyAccountPage object at 0x7fd8f9253910> base_url = 'https://promo.com' @pytest.mark.skip_smoke def test_w21_verify_incorrect_change_of_password( self, login_page, my_account_page, base_url ): """ W21 Verify incorrect change of password Tries to save a new password where confirmation doesn't match; expects an error message in the settings iframe. """ login_page.login_directly(base_url, general_mail(), get_password()) my_account_page.go_to_my_account() > my_account_page.change_password_incorrectly( current_pass=get_password(), new_pass=random_password, confirm_pass="abcde", ) tests/test_web_general.py:132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/my_account_page.py:109: in change_password_incorrectly settings.locator(self.NEW_PASS_INPUT).wait_for(state="visible", timeout=self.T_LOAD) /usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:20539: in wait_for self._sync( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:748: in wait_for 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 0x7fd8fad75960> cb = <function Channel.send.<locals>.<lambda> at 0x7fd8fa2f9750> is_internal = False, title = None async def wrap_api_call( self, cb: Callable[[], Any], is_internal: bool = False, title: s
📸 Failure Screenshot:
Test failure screenshot
test_w22_verify_password_changes[chromium]
passed
⏱️ Duration: 57.15s
test_w26_promo_performance_tests[chromium]
failed
⏱️ Duration: 342.78s
❌ Error:
self = <tests.test_web_general.TestWebPhase1 object at 0x7fd8fad75ab0> main_page = <pages.main_page.MainPage object at 0x7fd8f8764e50> @pytest.mark.skip_testenv @pytest.mark.skip_smoke @pytest.mark.skip_sanity def test_w26_promo_performance_tests(self, main_page): """ W26 Promo Performance Tests Navigates to key prod URLs and asserts that server response and DOM processing times are within acceptable limits. """ > main_page.check_performance(_PERF_URLS) tests/test_web_general.py:206: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/main_page.py:263: in check_performance server_avg, dom_avg = self.measure_page_performance(url) pages/main_page.py:256: in measure_page_performance round(statistics.mean(server_times), 2), _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = [] def mean(data): """Return the sample arithmetic mean of data. >>> mean([1, 2, 3, 4, 4]) 2.8 >>> from fractions import Fraction as F >>> mean([F(3, 7), F(1, 21), F(5, 3), F(1, 3)]) Fraction(13, 21) >>> from decimal import Decimal as D >>> mean([D("0.5"), D("0.75"), D("0.625"), D("0.375")]) Decimal('0.5625') If ``data`` is empty, StatisticsError will be raised. """ if iter(data) is data: data = list(data) n = len(data) if n < 1: > raise StatisticsError('mean requires at least one data point') E statistics.StatisticsError: mean requires at least one data point /usr/lib/python3.10/statistics.py:328: StatisticsError
📸 Failure Screenshot:
Test failure screenshot
test_w27_verify_header_for_logged_and_not_logged[chromium]
passed
⏱️ Duration: 55.35s