Skip to content

fix(tab-button): improve badge position and button states; #16948

fix(tab-button): improve badge position and button states;

fix(tab-button): improve badge position and button states; #16948

Triggered via pull request August 28, 2025 14:25
Status Failure
Total duration 7m 7s
Artifacts 13

build.yml

on: pull_request
build-react
52s
build-react
build-vue
34s
build-vue
Matrix: test-core-screenshot
build-angular
1m 2s
build-angular
build-angular-server
32s
build-angular-server
test-core-clean-build
15s
test-core-clean-build
test-core-lint
56s
test-core-lint
test-core-spec
52s
test-core-spec
build-react-router
24s
build-react-router
build-vue-router
42s
build-vue-router
verify-screenshots
4s
verify-screenshots
Matrix: test-angular-e2e
Matrix: test-react-e2e
Matrix: test-react-router-e2e
Matrix: test-vue-e2e
verify-test-angular-e2e
2s
verify-test-angular-e2e
verify-test-react-e2e
2s
verify-test-react-e2e
verify-test-react-router-e2e
3s
verify-test-react-router-e2e
verify-test-vue-e2e
2s
verify-test-vue-e2e
Fit to window
Zoom out
Zoom in

Annotations

66 errors and 6 notices
[Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:34:9 › badge: hint inside tab button - ionic/md/ltr/light › should not have visual regressions when icon is at the bottom: src/components/badge/test/hint/badge.e2e.ts#L39
4) [Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:34:9 › badge: hint inside tab button - ionic/md/ltr/light › should not have visual regressions when icon is at the bottom Error: expect.toHaveScreenshot(badge-hint-tab-button-icon-bottom-ionic-md-ltr-light.png): Error: strict mode violation: locator('#tab-button-icon-bottom') resolved to 2 elements: 1) <ion-list role="list" id="tab-button-icon-bottom" class="ionic list-ionic list-rectangular hydrated">…</ion-list> aka getByText('Inside Tab Button - Bottom Icon Tab One 9 Tab Two Tab Three 999 Tab Four Tab') 2) <ion-list role="list" id="tab-button-icon-bottom" class="ionic list-ionic list-rectangular hydrated">…</ion-list> aka getByText('Inside Tab Button - Only Icon 999') Call log: - Expect "toHaveScreenshot(badge-hint-tab-button-icon-bottom-ionic-md-ltr-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#tab-button-icon-bottom') 37 | const container = page.locator('#tab-button-icon-bottom'); 38 | > 39 | await expect(container).toHaveScreenshot(screenshot(`badge-hint-tab-button-icon-bottom`)); | ^ 40 | }); 41 | }); 42 | at /ionic/src/components/badge/test/hint/badge.e2e.ts:39:7
[Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:26:9 › badge: hint inside tab button - ionic/md/ltr/light › should not have visual regressions when icon is on the top: src/components/badge/test/hint/badge.e2e.ts#L31
3) [Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:26:9 › badge: hint inside tab button - ionic/md/ltr/light › should not have visual regressions when icon is on the top Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveScreenshot(expected) 4668 pixels (ratio 0.06 of all image pixels) are different. Snapshot: badge-hint-tab-button-icon-top-ionic-md-ltr-light.png Call log: - Expect "toHaveScreenshot(badge-hint-tab-button-icon-top-ionic-md-ltr-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#tab-button') - locator resolved to <ion-list role="list" id="tab-button" class="ionic list-ionic list-rectangular hydrated">…</ion-list> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 4668 pixels (ratio 0.06 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('#tab-button') - locator resolved to <ion-list role="list" id="tab-button" class="ionic list-ionic list-rectangular hydrated">…</ion-list> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 4668 pixels (ratio 0.06 of all image pixels) are different. 29 | const container = page.locator('#tab-button'); 30 | > 31 | await expect(container).toHaveScreenshot(screenshot(`badge-hint-tab-button-icon-top`)); | ^ 32 | }); 33 | 34 | test('should not have visual regressions when icon is at the bottom', async ({ page }) => { at /ionic/src/components/badge/test/hint/badge.e2e.ts:31:31
[Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:26:9 › badge: hint inside tab button - ionic/md/ltr/light › should not have visual regressions when icon is on the top: src/components/badge/test/hint/badge.e2e.ts#L31
3) [Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:26:9 › badge: hint inside tab button - ionic/md/ltr/light › should not have visual regressions when icon is on the top Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveScreenshot(expected) 4668 pixels (ratio 0.06 of all image pixels) are different. Snapshot: badge-hint-tab-button-icon-top-ionic-md-ltr-light.png Call log: - Expect "toHaveScreenshot(badge-hint-tab-button-icon-top-ionic-md-ltr-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#tab-button') - locator resolved to <ion-list role="list" id="tab-button" class="ionic list-ionic list-rectangular hydrated">…</ion-list> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 4668 pixels (ratio 0.06 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('#tab-button') - locator resolved to <ion-list role="list" id="tab-button" class="ionic list-ionic list-rectangular hydrated">…</ion-list> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 4668 pixels (ratio 0.06 of all image pixels) are different. 29 | const container = page.locator('#tab-button'); 30 | > 31 | await expect(container).toHaveScreenshot(screenshot(`badge-hint-tab-button-icon-top`)); | ^ 32 | }); 33 | 34 | test('should not have visual regressions when icon is at the bottom', async ({ page }) => { at /ionic/src/components/badge/test/hint/badge.e2e.ts:31:31
[Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:26:9 › badge: hint inside tab button - ionic/md/ltr/light › should not have visual regressions when icon is on the top: src/components/badge/test/hint/badge.e2e.ts#L31
3) [Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:26:9 › badge: hint inside tab button - ionic/md/ltr/light › should not have visual regressions when icon is on the top Error: expect(locator).toHaveScreenshot(expected) 4668 pixels (ratio 0.06 of all image pixels) are different. Snapshot: badge-hint-tab-button-icon-top-ionic-md-ltr-light.png Call log: - Expect "toHaveScreenshot(badge-hint-tab-button-icon-top-ionic-md-ltr-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#tab-button') - locator resolved to <ion-list role="list" id="tab-button" class="ionic list-ionic list-rectangular hydrated">…</ion-list> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 4668 pixels (ratio 0.06 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('#tab-button') - locator resolved to <ion-list role="list" id="tab-button" class="ionic list-ionic list-rectangular hydrated">…</ion-list> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 4668 pixels (ratio 0.06 of all image pixels) are different. 29 | const container = page.locator('#tab-button'); 30 | > 31 | await expect(container).toHaveScreenshot(screenshot(`badge-hint-tab-button-icon-top`)); | ^ 32 | }); 33 | 34 | test('should not have visual regressions when icon is at the bottom', async ({ page }) => { at /ionic/src/components/badge/test/hint/badge.e2e.ts:31:31
[Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:34:9 › badge: hint inside tab button - ios/ltr › should not have visual regressions when icon is at the bottom: src/components/badge/test/hint/badge.e2e.ts#L39
2) [Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:34:9 › badge: hint inside tab button - ios/ltr › should not have visual regressions when icon is at the bottom Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect.toHaveScreenshot(badge-hint-tab-button-icon-bottom-ios-ltr.png): Error: strict mode violation: locator('#tab-button-icon-bottom') resolved to 2 elements: 1) <ion-list role="list" id="tab-button-icon-bottom" class="ios list-ios hydrated">…</ion-list> aka getByText('Inside Tab Button - Bottom Icon Tab One 9 Tab Two Tab Three 999 Tab Four Tab') 2) <ion-list role="list" id="tab-button-icon-bottom" class="ios list-ios hydrated">…</ion-list> aka getByText('Inside Tab Button - Only Icon 999') Call log: - Expect "toHaveScreenshot(badge-hint-tab-button-icon-bottom-ios-ltr.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#tab-button-icon-bottom') 37 | const container = page.locator('#tab-button-icon-bottom'); 38 | > 39 | await expect(container).toHaveScreenshot(screenshot(`badge-hint-tab-button-icon-bottom`)); | ^ 40 | }); 41 | }); 42 | at /ionic/src/components/badge/test/hint/badge.e2e.ts:39:7
[Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:34:9 › badge: hint inside tab button - ios/ltr › should not have visual regressions when icon is at the bottom: src/components/badge/test/hint/badge.e2e.ts#L39
2) [Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:34:9 › badge: hint inside tab button - ios/ltr › should not have visual regressions when icon is at the bottom Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect.toHaveScreenshot(badge-hint-tab-button-icon-bottom-ios-ltr.png): Error: strict mode violation: locator('#tab-button-icon-bottom') resolved to 2 elements: 1) <ion-list role="list" id="tab-button-icon-bottom" class="ios list-ios hydrated">…</ion-list> aka getByText('Inside Tab Button - Bottom Icon Tab One 9 Tab Two Tab Three 999 Tab Four Tab') 2) <ion-list role="list" id="tab-button-icon-bottom" class="ios list-ios hydrated">…</ion-list> aka getByText('Inside Tab Button - Only Icon 999') Call log: - Expect "toHaveScreenshot(badge-hint-tab-button-icon-bottom-ios-ltr.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#tab-button-icon-bottom') 37 | const container = page.locator('#tab-button-icon-bottom'); 38 | > 39 | await expect(container).toHaveScreenshot(screenshot(`badge-hint-tab-button-icon-bottom`)); | ^ 40 | }); 41 | }); 42 | at /ionic/src/components/badge/test/hint/badge.e2e.ts:39:7
[Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:34:9 › badge: hint inside tab button - ios/ltr › should not have visual regressions when icon is at the bottom: src/components/badge/test/hint/badge.e2e.ts#L39
2) [Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:34:9 › badge: hint inside tab button - ios/ltr › should not have visual regressions when icon is at the bottom Error: expect.toHaveScreenshot(badge-hint-tab-button-icon-bottom-ios-ltr.png): Error: strict mode violation: locator('#tab-button-icon-bottom') resolved to 2 elements: 1) <ion-list role="list" id="tab-button-icon-bottom" class="ios list-ios hydrated">…</ion-list> aka getByText('Inside Tab Button - Bottom Icon Tab One 9 Tab Two Tab Three 999 Tab Four Tab') 2) <ion-list role="list" id="tab-button-icon-bottom" class="ios list-ios hydrated">…</ion-list> aka getByText('Inside Tab Button - Only Icon 999') Call log: - Expect "toHaveScreenshot(badge-hint-tab-button-icon-bottom-ios-ltr.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#tab-button-icon-bottom') 37 | const container = page.locator('#tab-button-icon-bottom'); 38 | > 39 | await expect(container).toHaveScreenshot(screenshot(`badge-hint-tab-button-icon-bottom`)); | ^ 40 | }); 41 | }); 42 | at /ionic/src/components/badge/test/hint/badge.e2e.ts:39:7
[Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:34:9 › badge: hint inside tab button - md/ltr › should not have visual regressions when icon is at the bottom: src/components/badge/test/hint/badge.e2e.ts#L39
1) [Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:34:9 › badge: hint inside tab button - md/ltr › should not have visual regressions when icon is at the bottom Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect.toHaveScreenshot(badge-hint-tab-button-icon-bottom-md-ltr.png): Error: strict mode violation: locator('#tab-button-icon-bottom') resolved to 2 elements: 1) <ion-list role="list" id="tab-button-icon-bottom" class="md list-md hydrated">…</ion-list> aka getByText('Inside Tab Button - Bottom Icon Tab One 9 Tab Two Tab Three 999 Tab Four Tab') 2) <ion-list role="list" id="tab-button-icon-bottom" class="md list-md hydrated">…</ion-list> aka getByText('Inside Tab Button - Only Icon 999') Call log: - Expect "toHaveScreenshot(badge-hint-tab-button-icon-bottom-md-ltr.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#tab-button-icon-bottom') 37 | const container = page.locator('#tab-button-icon-bottom'); 38 | > 39 | await expect(container).toHaveScreenshot(screenshot(`badge-hint-tab-button-icon-bottom`)); | ^ 40 | }); 41 | }); 42 | at /ionic/src/components/badge/test/hint/badge.e2e.ts:39:7
[Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:34:9 › badge: hint inside tab button - md/ltr › should not have visual regressions when icon is at the bottom: src/components/badge/test/hint/badge.e2e.ts#L39
1) [Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:34:9 › badge: hint inside tab button - md/ltr › should not have visual regressions when icon is at the bottom Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect.toHaveScreenshot(badge-hint-tab-button-icon-bottom-md-ltr.png): Error: strict mode violation: locator('#tab-button-icon-bottom') resolved to 2 elements: 1) <ion-list role="list" id="tab-button-icon-bottom" class="md list-md hydrated">…</ion-list> aka getByText('Inside Tab Button - Bottom Icon Tab One 9 Tab Two Tab Three 999 Tab Four Tab') 2) <ion-list role="list" id="tab-button-icon-bottom" class="md list-md hydrated">…</ion-list> aka getByText('Inside Tab Button - Only Icon 999') Call log: - Expect "toHaveScreenshot(badge-hint-tab-button-icon-bottom-md-ltr.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#tab-button-icon-bottom') 37 | const container = page.locator('#tab-button-icon-bottom'); 38 | > 39 | await expect(container).toHaveScreenshot(screenshot(`badge-hint-tab-button-icon-bottom`)); | ^ 40 | }); 41 | }); 42 | at /ionic/src/components/badge/test/hint/badge.e2e.ts:39:7
[Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:34:9 › badge: hint inside tab button - md/ltr › should not have visual regressions when icon is at the bottom: src/components/badge/test/hint/badge.e2e.ts#L39
1) [Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:34:9 › badge: hint inside tab button - md/ltr › should not have visual regressions when icon is at the bottom Error: expect.toHaveScreenshot(badge-hint-tab-button-icon-bottom-md-ltr.png): Error: strict mode violation: locator('#tab-button-icon-bottom') resolved to 2 elements: 1) <ion-list role="list" id="tab-button-icon-bottom" class="md list-md hydrated">…</ion-list> aka getByText('Inside Tab Button - Bottom Icon Tab One 9 Tab Two Tab Three 999 Tab Four Tab') 2) <ion-list role="list" id="tab-button-icon-bottom" class="md list-md hydrated">…</ion-list> aka getByText('Inside Tab Button - Only Icon 999') Call log: - Expect "toHaveScreenshot(badge-hint-tab-button-icon-bottom-md-ltr.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#tab-button-icon-bottom') 37 | const container = page.locator('#tab-button-icon-bottom'); 38 | > 39 | await expect(container).toHaveScreenshot(screenshot(`badge-hint-tab-button-icon-bottom`)); | ^ 40 | }); 41 | }); 42 | at /ionic/src/components/badge/test/hint/badge.e2e.ts:39:7
[Mobile Chrome] › src/components/tab-button/test/shape/tab-button.e2e.ts:39:9 › tab-button: shape - ionic/md/ltr/light › should render a soft tab button: src/components/tab-button/test/shape/tab-button.e2e.ts#L23
4) [Mobile Chrome] › src/components/tab-button/test/shape/tab-button.e2e.ts:39:9 › tab-button: shape - ionic/md/ltr/light › should render a soft tab button Error: expect(locator).toHaveScreenshot(expected) Expected an image 82px by 48px, received 76px by 52px. 312 pixels (ratio 0.08 of all image pixels) are different. Snapshot: tab-button-shape-soft-ionic-md-ltr-light.png Call log: - Expect "toHaveScreenshot(tab-button-shape-soft-ionic-md-ltr-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#soft-tab-button') - locator resolved to <ion-tab-button shape="soft" id="soft-tab-button" class="ionic tab-has-label tab-has-icon tab-layout-icon-top ion-activatable ion-selectable tab-button-shape-soft ion-focusable hydrated">…</ion-tab-button> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - Expected an image 82px by 48px, received 76px by 52px. 312 pixels (ratio 0.08 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('#soft-tab-button') - locator resolved to <ion-tab-button shape="soft" id="soft-tab-button" class="ionic tab-has-label tab-has-icon tab-layout-icon-top ion-activatable ion-selectable tab-button-shape-soft ion-focusable hydrated">…</ion-tab-button> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - Expected an image 82px by 48px, received 76px by 52px. 312 pixels (ratio 0.08 of all image pixels) are different. 21 | const tabButton = page.locator(buttonId); 22 | > 23 | await expect(tabButton).toHaveScreenshot(screenshotString); | ^ 24 | } 25 | } 26 | at TabButtonFixture.screenshot (/ionic/src/components/tab-button/test/shape/tab-button.e2e.ts:23:29) at /ionic/src/components/tab-button/test/shape/tab-button.e2e.ts:40:30
[Mobile Chrome] › src/components/tab-bar/test/expand/tab-bar.e2e.ts:48:11 › tab-bar: expand - ionic/md/ltr/light › compact - ionic/md/ltr/light › should not have visual regressions: src/components/tab-bar/test/expand/tab-bar.e2e.ts#L84
3) [Mobile Chrome] › src/components/tab-bar/test/expand/tab-bar.e2e.ts:48:11 › tab-bar: expand - ionic/md/ltr/light › compact - ionic/md/ltr/light › should not have visual regressions Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveScreenshot(expected) 798 pixels (ratio 0.04 of all image pixels) are different. Snapshot: tab-bar-expand-compact-ionic-md-ltr-light.png Call log: - Expect "toHaveScreenshot(tab-bar-expand-compact-ionic-md-ltr-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('.container') - locator resolved to <div class="container">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 798 pixels (ratio 0.04 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('.container') - locator resolved to <div class="container">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 798 pixels (ratio 0.04 of all image pixels) are different. 82 | const container = page.locator('.container'); 83 | > 84 | await expect(container).toHaveScreenshot(screenshot(`tab-bar-expand-compact`)); | ^ 85 | }); 86 | }); 87 | }); at /ionic/src/components/tab-bar/test/expand/tab-bar.e2e.ts:84:33
[Mobile Chrome] › src/components/tab-bar/test/expand/tab-bar.e2e.ts:48:11 › tab-bar: expand - ionic/md/ltr/light › compact - ionic/md/ltr/light › should not have visual regressions: src/components/tab-bar/test/expand/tab-bar.e2e.ts#L84
3) [Mobile Chrome] › src/components/tab-bar/test/expand/tab-bar.e2e.ts:48:11 › tab-bar: expand - ionic/md/ltr/light › compact - ionic/md/ltr/light › should not have visual regressions Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveScreenshot(expected) 798 pixels (ratio 0.04 of all image pixels) are different. Snapshot: tab-bar-expand-compact-ionic-md-ltr-light.png Call log: - Expect "toHaveScreenshot(tab-bar-expand-compact-ionic-md-ltr-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('.container') - locator resolved to <div class="container">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 798 pixels (ratio 0.04 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('.container') - locator resolved to <div class="container">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 798 pixels (ratio 0.04 of all image pixels) are different. 82 | const container = page.locator('.container'); 83 | > 84 | await expect(container).toHaveScreenshot(screenshot(`tab-bar-expand-compact`)); | ^ 85 | }); 86 | }); 87 | }); at /ionic/src/components/tab-bar/test/expand/tab-bar.e2e.ts:84:33
[Mobile Chrome] › src/components/tab-bar/test/expand/tab-bar.e2e.ts:48:11 › tab-bar: expand - ionic/md/ltr/light › compact - ionic/md/ltr/light › should not have visual regressions: src/components/tab-bar/test/expand/tab-bar.e2e.ts#L84
3) [Mobile Chrome] › src/components/tab-bar/test/expand/tab-bar.e2e.ts:48:11 › tab-bar: expand - ionic/md/ltr/light › compact - ionic/md/ltr/light › should not have visual regressions Error: expect(locator).toHaveScreenshot(expected) 798 pixels (ratio 0.04 of all image pixels) are different. Snapshot: tab-bar-expand-compact-ionic-md-ltr-light.png Call log: - Expect "toHaveScreenshot(tab-bar-expand-compact-ionic-md-ltr-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('.container') - locator resolved to <div class="container">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 798 pixels (ratio 0.04 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('.container') - locator resolved to <div class="container">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 798 pixels (ratio 0.04 of all image pixels) are different. 82 | const container = page.locator('.container'); 83 | > 84 | await expect(container).toHaveScreenshot(screenshot(`tab-bar-expand-compact`)); | ^ 85 | }); 86 | }); 87 | }); at /ionic/src/components/tab-bar/test/expand/tab-bar.e2e.ts:84:33
[Mobile Chrome] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/rtl/light › should not have visual regressions: src/components/tab-bar/test/basic/tab-bar.e2e.ts#L45
2) [Mobile Chrome] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/rtl/light › should not have visual regressions Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveScreenshot(expected) 609 pixels (ratio 0.03 of all image pixels) are different. Snapshot: tab-bar-default-ionic-md-rtl-light.png Call log: - Expect "toHaveScreenshot(tab-bar-default-ionic-md-rtl-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('ion-tab-bar') - locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 609 pixels (ratio 0.03 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('ion-tab-bar') - locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 609 pixels (ratio 0.03 of all image pixels) are different. 43 | const tabBar = page.locator('ion-tab-bar'); 44 | > 45 | await expect(tabBar).toHaveScreenshot(screenshot(`tab-bar-default`)); | ^ 46 | }); 47 | }); 48 | }); at /ionic/src/components/tab-bar/test/basic/tab-bar.e2e.ts:45:28
[Mobile Chrome] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/rtl/light › should not have visual regressions: src/components/tab-bar/test/basic/tab-bar.e2e.ts#L45
2) [Mobile Chrome] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/rtl/light › should not have visual regressions Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveScreenshot(expected) 609 pixels (ratio 0.03 of all image pixels) are different. Snapshot: tab-bar-default-ionic-md-rtl-light.png Call log: - Expect "toHaveScreenshot(tab-bar-default-ionic-md-rtl-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('ion-tab-bar') - locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 609 pixels (ratio 0.03 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('ion-tab-bar') - locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 609 pixels (ratio 0.03 of all image pixels) are different. 43 | const tabBar = page.locator('ion-tab-bar'); 44 | > 45 | await expect(tabBar).toHaveScreenshot(screenshot(`tab-bar-default`)); | ^ 46 | }); 47 | }); 48 | }); at /ionic/src/components/tab-bar/test/basic/tab-bar.e2e.ts:45:28
[Mobile Chrome] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/rtl/light › should not have visual regressions: src/components/tab-bar/test/basic/tab-bar.e2e.ts#L45
2) [Mobile Chrome] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/rtl/light › should not have visual regressions Error: expect(locator).toHaveScreenshot(expected) 609 pixels (ratio 0.03 of all image pixels) are different. Snapshot: tab-bar-default-ionic-md-rtl-light.png Call log: - Expect "toHaveScreenshot(tab-bar-default-ionic-md-rtl-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('ion-tab-bar') - locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 609 pixels (ratio 0.03 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('ion-tab-bar') - locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 609 pixels (ratio 0.03 of all image pixels) are different. 43 | const tabBar = page.locator('ion-tab-bar'); 44 | > 45 | await expect(tabBar).toHaveScreenshot(screenshot(`tab-bar-default`)); | ^ 46 | }); 47 | }); 48 | }); at /ionic/src/components/tab-bar/test/basic/tab-bar.e2e.ts:45:28
[Mobile Chrome] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/ltr/light › should not have visual regressions: src/components/tab-bar/test/basic/tab-bar.e2e.ts#L45
1) [Mobile Chrome] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/ltr/light › should not have visual regressions Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveScreenshot(expected) 601 pixels (ratio 0.03 of all image pixels) are different. Snapshot: tab-bar-default-ionic-md-ltr-light.png Call log: - Expect "toHaveScreenshot(tab-bar-default-ionic-md-ltr-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('ion-tab-bar') - locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 601 pixels (ratio 0.03 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('ion-tab-bar') - locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 601 pixels (ratio 0.03 of all image pixels) are different. 43 | const tabBar = page.locator('ion-tab-bar'); 44 | > 45 | await expect(tabBar).toHaveScreenshot(screenshot(`tab-bar-default`)); | ^ 46 | }); 47 | }); 48 | }); at /ionic/src/components/tab-bar/test/basic/tab-bar.e2e.ts:45:28
[Mobile Chrome] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/ltr/light › should not have visual regressions: src/components/tab-bar/test/basic/tab-bar.e2e.ts#L45
1) [Mobile Chrome] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/ltr/light › should not have visual regressions Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveScreenshot(expected) 601 pixels (ratio 0.03 of all image pixels) are different. Snapshot: tab-bar-default-ionic-md-ltr-light.png Call log: - Expect "toHaveScreenshot(tab-bar-default-ionic-md-ltr-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('ion-tab-bar') - locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 601 pixels (ratio 0.03 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('ion-tab-bar') - locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 601 pixels (ratio 0.03 of all image pixels) are different. 43 | const tabBar = page.locator('ion-tab-bar'); 44 | > 45 | await expect(tabBar).toHaveScreenshot(screenshot(`tab-bar-default`)); | ^ 46 | }); 47 | }); 48 | }); at /ionic/src/components/tab-bar/test/basic/tab-bar.e2e.ts:45:28
[Mobile Chrome] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/ltr/light › should not have visual regressions: src/components/tab-bar/test/basic/tab-bar.e2e.ts#L45
1) [Mobile Chrome] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/ltr/light › should not have visual regressions Error: expect(locator).toHaveScreenshot(expected) 601 pixels (ratio 0.03 of all image pixels) are different. Snapshot: tab-bar-default-ionic-md-ltr-light.png Call log: - Expect "toHaveScreenshot(tab-bar-default-ionic-md-ltr-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('ion-tab-bar') - locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 601 pixels (ratio 0.03 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('ion-tab-bar') - locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 601 pixels (ratio 0.03 of all image pixels) are different. 43 | const tabBar = page.locator('ion-tab-bar'); 44 | > 45 | await expect(tabBar).toHaveScreenshot(screenshot(`tab-bar-default`)); | ^ 46 | }); 47 | }); 48 | }); at /ionic/src/components/tab-bar/test/basic/tab-bar.e2e.ts:45:28
test-core-screenshot (12, 20)
The strategy configuration was canceled because "test-core-screenshot._8_20" failed
test-core-screenshot (9, 20)
The operation was canceled.
test-core-screenshot (9, 20)
The strategy configuration was canceled because "test-core-screenshot._8_20" failed
test-core-screenshot (16, 20)
Process completed with exit code 12.
test-core-screenshot (14, 20)
Process completed with exit code 12.
test-core-screenshot (16, 20)
The operation was canceled.
test-core-screenshot (14, 20)
The operation was canceled.
test-core-screenshot (16, 20)
The strategy configuration was canceled because "test-core-screenshot._8_20" failed
test-core-screenshot (14, 20)
The strategy configuration was canceled because "test-core-screenshot._8_20" failed
test-core-screenshot (11, 20)
Process completed with exit code 12.
test-core-screenshot (11, 20)
The operation was canceled.
test-core-screenshot (11, 20)
The strategy configuration was canceled because "test-core-screenshot._8_20" failed
test-core-screenshot (15, 20)
Process completed with exit code 12.
test-core-screenshot (15, 20)
The operation was canceled.
test-core-screenshot (15, 20)
The strategy configuration was canceled because "test-core-screenshot._8_20" failed
test-core-screenshot (19, 20)
Process completed with exit code 12.
test-core-screenshot (19, 20)
The operation was canceled.
test-core-screenshot (19, 20)
The strategy configuration was canceled because "test-core-screenshot._8_20" failed
test-core-screenshot (4, 20)
Process completed with exit code 12.
test-core-screenshot (4, 20)
The operation was canceled.
test-core-screenshot (4, 20)
The strategy configuration was canceled because "test-core-screenshot._8_20" failed
test-core-screenshot (6, 20)
Process completed with exit code 12.
test-core-screenshot (6, 20)
The operation was canceled.
test-core-screenshot (6, 20)
The strategy configuration was canceled because "test-core-screenshot._8_20" failed
test-core-screenshot (13, 20)
Process completed with exit code 12.
test-core-screenshot (13, 20)
The operation was canceled.
test-core-screenshot (13, 20)
The strategy configuration was canceled because "test-core-screenshot._8_20" failed
test-core-screenshot (1, 20)
Process completed with exit code 12.
test-core-screenshot (1, 20)
The operation was canceled.
test-core-screenshot (1, 20)
The strategy configuration was canceled because "test-core-screenshot._8_20" failed
test-core-screenshot (2, 20)
Process completed with exit code 12.
test-core-screenshot (2, 20)
The operation was canceled.
test-core-screenshot (2, 20)
The strategy configuration was canceled because "test-core-screenshot._8_20" failed
test-core-screenshot (5, 20)
Process completed with exit code 12.
test-core-screenshot (5, 20)
The operation was canceled.
test-core-screenshot (5, 20)
The strategy configuration was canceled because "test-core-screenshot._8_20" failed
test-core-screenshot (18, 20)
Process completed with exit code 12.
test-core-screenshot (18, 20)
The operation was canceled.
test-core-screenshot (18, 20)
The strategy configuration was canceled because "test-core-screenshot._8_20" failed
test-core-screenshot (17, 20)
Process completed with exit code 12.
test-core-screenshot (17, 20)
The operation was canceled.
test-core-screenshot (17, 20)
The strategy configuration was canceled because "test-core-screenshot._8_20" failed
test-core-screenshot (3, 20)
Process completed with exit code 12.
test-core-screenshot (3, 20)
The operation was canceled.
test-core-screenshot (3, 20)
The strategy configuration was canceled because "test-core-screenshot._8_20" failed
verify-screenshots
Process completed with exit code 1.
🎭 Playwright Run Summary
360 skipped 276 passed (2.3m)
🎭 Playwright Run Summary
671 passed (3.5m)
🎭 Playwright Run Summary
368 skipped 303 passed (3.6m)
🎭 Playwright Run Summary
4 failed [Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:34:9 › badge: hint inside tab button - md/ltr › should not have visual regressions when icon is at the bottom [Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:34:9 › badge: hint inside tab button - ios/ltr › should not have visual regressions when icon is at the bottom [Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:26:9 › badge: hint inside tab button - ionic/md/ltr/light › should not have visual regressions when icon is on the top [Mobile Chrome] › src/components/badge/test/hint/badge.e2e.ts:34:9 › badge: hint inside tab button - ionic/md/ltr/light › should not have visual regressions when icon is at the bottom 684 passed (4.0m)
🎭 Playwright Run Summary
6 failed [Mobile Chrome] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/ltr/light › should not have visual regressions [Mobile Chrome] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/rtl/light › should not have visual regressions [Mobile Chrome] › src/components/tab-bar/test/expand/tab-bar.e2e.ts:48:11 › tab-bar: expand - ionic/md/ltr/light › compact - ionic/md/ltr/light › should not have visual regressions [Mobile Chrome] › src/components/tab-button/test/shape/tab-button.e2e.ts:39:9 › tab-button: shape - ionic/md/ltr/light › should render a soft tab button [Mobile Chrome] › src/components/tab-button/test/shape/tab-button.e2e.ts:43:9 › tab-button: shape - ionic/md/ltr/light › should render a round tab button [Mobile Chrome] › src/components/tab-button/test/shape/tab-button.e2e.ts:47:9 › tab-button: shape - ionic/md/ltr/light › should render a rectangular tab button 1 skipped 665 passed (4.1m)
🎭 Playwright Run Summary
5 skipped 661 passed (4.2m)

Artifacts

Produced during runtime
Name Size Digest
ionic-angular Expired
863 KB
sha256:7c9b103a8f971ca91893fa080d646f4f3eb9ccb6881644248c38a293486ad003
ionic-angular-server Expired
8.55 KB
sha256:554e27e6a7ec65dc4f11710aca30dc252dda84abbd735d79ad9a68e4ff36f15c
ionic-core Expired
5.16 MB
sha256:798a6a6bd11aa27f1e20acdcc1550728cec85dbed8a0f4ee21c1acb784112d87
ionic-react Expired
403 KB
sha256:28aeefde5170d1c7c814a32a72c83bad77cfd1fdf6caae24935d58c9e29670ff
ionic-react-router Expired
27.9 KB
sha256:8cfaf1e459579d291430d1a6d80fa0c9ad5988abe22ff82ce7ea13ccf4d39b3f
ionic-vue Expired
433 KB
sha256:a5f5a7b7151aa193000502f5596415c1c4778ef68188b5ace74c65a5a81d5e1f
ionic-vue-router Expired
17.1 KB
sha256:78451a0891b36acbf5685c80da41267311737dff0001bb755e46639b9ca329cf
test-results-10-20 Expired
454 KB
sha256:201959d9184d498dd5bcc29f21476f8fd2890b0d02fb9f97be82acd09876aa13
test-results-12-20 Expired
7.91 MB
sha256:3058e524d28304ac034351dc67b6b0b25eb39c1bacc59e8729cd32f82452e410
test-results-20-20 Expired
347 KB
sha256:a733afe609adabd6c8d6044d75ac08328a554599dfa4cf0d6202529b8bf7a3a5
test-results-7-20 Expired
368 KB
sha256:b7591e6aba52282bbf19a3efafdc1cbeb98ef177863fd5ef21790e9a46af0e12
test-results-8-20 Expired
6.11 MB
sha256:6692ced7e1391f9be28f62b9237688fc105d45da10c67a4c5e45310ef947aec1
test-results-9-20 Expired
494 KB
sha256:4f54a088d8caa4bfc6abac462354ab3548ef311a240aec767cec977544800a05