Skip to content

test(core): fix flaky datetime and input-otp tests #16797

test(core): fix flaky datetime and input-otp tests

test(core): fix flaky datetime and input-otp tests #16797

Triggered via pull request August 4, 2025 18:53
Status Success
Total duration 10m 12s
Artifacts 27

build.yml

on: pull_request
build-react
48s
build-react
build-vue
37s
build-vue
Matrix: test-core-screenshot
build-angular
52s
build-angular
build-angular-server
32s
build-angular-server
test-core-clean-build
13s
test-core-clean-build
test-core-lint
45s
test-core-lint
test-core-spec
42s
test-core-spec
build-react-router
22s
build-react-router
build-vue-router
34s
build-vue-router
verify-screenshots
2s
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

5 errors and 20 notices
[Mobile Safari] › src/components/input-otp/test/separators/input-otp.e2e.ts:90:9 › input-otp: separators functionality - ios/ltr › should render separators after the second and third input box: src/components/input-otp/test/separators/input-otp.e2e.ts#L99
1) [Mobile Safari] › src/components/input-otp/test/separators/input-otp.e2e.ts:90:9 › input-otp: separators functionality - ios/ltr › should render separators after the second and third input box Error: expect(received).toBe(expected) // Object.is equality Expected: true Received: false 97 | 98 | await expect(await hasSeparatorAfter(page, 0)).toBe(false); > 99 | await expect(await hasSeparatorAfter(page, 1)).toBe(true); | ^ 100 | await expect(await hasSeparatorAfter(page, 2)).toBe(true); 101 | await expect(await hasSeparatorAfter(page, 3)).toBe(false); 102 | }); at /ionic/src/components/input-otp/test/separators/input-otp.e2e.ts:99:54
[Mobile Safari] › src/components/item/test/inputs/item.e2e.ts:32:9 › disabled state rendering - md/ltr › disabled controls should not have visual regressions: src/components/item/test/inputs/item.e2e.ts#L44
2) [Mobile Safari] › src/components/item/test/inputs/item.e2e.ts:32:9 › disabled state rendering - md/ltr › disabled controls should not have visual regressions Error: expect(page).toHaveScreenshot(expected) 1670 pixels (ratio 0.01 of all image pixels) are different. Snapshot: item-inputs-disabled-md-ltr.png Call log: - Expect "toHaveScreenshot(item-inputs-disabled-md-ltr.png)" with timeout 5000ms - verifying given screenshot expectation - taking page screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - 1670 pixels (ratio 0.01 of all image pixels) are different. - waiting 100ms before taking screenshot - taking page screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - captured a stable screenshot - 1670 pixels (ratio 0.01 of all image pixels) are different. 42 | 43 | await page.setIonViewport(); > 44 | await expect(page).toHaveScreenshot(screenshot(`item-inputs-disabled`)); | ^ 45 | }); 46 | }); 47 | }); at /ionic/src/components/item/test/inputs/item.e2e.ts:44:26
[Mobile Safari] › src/components/item/test/inputs/item.e2e.ts:32:9 › disabled state rendering - ios/ltr › disabled controls should not have visual regressions: src/components/item/test/inputs/item.e2e.ts#L44
1) [Mobile Safari] › src/components/item/test/inputs/item.e2e.ts:32:9 › disabled state rendering - ios/ltr › disabled controls should not have visual regressions Error: expect(page).toHaveScreenshot(expected) 1141 pixels (ratio 0.01 of all image pixels) are different. Snapshot: item-inputs-disabled-ios-ltr.png Call log: - Expect "toHaveScreenshot(item-inputs-disabled-ios-ltr.png)" with timeout 5000ms - verifying given screenshot expectation - taking page screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - 1141 pixels (ratio 0.01 of all image pixels) are different. - waiting 100ms before taking screenshot - taking page screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - captured a stable screenshot - 1141 pixels (ratio 0.01 of all image pixels) are different. 42 | 43 | await page.setIonViewport(); > 44 | await expect(page).toHaveScreenshot(screenshot(`item-inputs-disabled`)); | ^ 45 | }); 46 | }); 47 | }); at /ionic/src/components/item/test/inputs/item.e2e.ts:44:26
[Mobile Safari] › src/components/datetime/test/show-adjacent-days/datetime.e2e.ts:16:9 › datetime: show adjacent days - md/ltr › should not have visual regressions with a custom styled calendar: src/components/datetime/test/show-adjacent-days/datetime.e2e.ts#L20
2) [Mobile Safari] › src/components/datetime/test/show-adjacent-days/datetime.e2e.ts:16:9 › datetime: show adjacent days - md/ltr › should not have visual regressions with a custom styled calendar Error: expect(locator).toHaveScreenshot(expected) 5772 pixels (ratio 0.05 of all image pixels) are different. Snapshot: datetime-show-adjacent-days-custom-calendar-md-ltr.png Call log: - Expect "toHaveScreenshot(datetime-show-adjacent-days-custom-calendar-md-ltr.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#custom-calendar-days') - locator resolved to <ion-datetime value="2023-06-15" presentation="date" show-adjacent-days="true" id="custom-calendar-days" class="ion-color ion-color-primary md datetime-presentation-date datetime-size-fixed datetime-grid hydrated">…</ion-datetime> - 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 - 5772 pixels (ratio 0.05 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('#custom-calendar-days') - locator resolved to <ion-datetime value="2023-06-15" presentation="date" show-adjacent-days="true" id="custom-calendar-days" class="ion-color ion-color-primary md datetime-presentation-date datetime-size-fixed datetime-grid hydrated">…</ion-datetime> - 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 - 5772 pixels (ratio 0.05 of all image pixels) are different. 18 | await page.locator('.datetime-ready').first().waitFor(); 19 | const datetime = page.locator('#custom-calendar-days'); > 20 | await expect(datetime).toHaveScreenshot(screenshot(`datetime-show-adjacent-days-custom-calendar`)); | ^ 21 | }); 22 | 23 | test('should not have visual regressions with specific date disabled', async ({ page }) => { at /ionic/src/components/datetime/test/show-adjacent-days/datetime.e2e.ts:20:30
[Mobile Safari] › src/components/datetime/test/custom/datetime.e2e.ts:53:9 › datetime: custom focus - md/ltr › should focus the selected day and then the day after: src/components/datetime/test/custom/datetime.e2e.ts#L64
1) [Mobile Safari] › src/components/datetime/test/custom/datetime.e2e.ts:53:9 › datetime: custom focus - md/ltr › should focus the selected day and then the day after Error: expect(locator).toHaveScreenshot(expected) 5526 pixels (ratio 0.05 of all image pixels) are different. Snapshot: datetime-custom-focus-selected-calendar-day-md-ltr.png Call log: - Expect "toHaveScreenshot(datetime-custom-focus-selected-calendar-day-md-ltr.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#custom-calendar-days') - locator resolved to <ion-datetime value="2023-06-15" presentation="date" id="custom-calendar-days" class="ion-color ion-color-primary md datetime-presentation-date datetime-size-fixed datetime-grid hydrated">…</ion-datetime> - 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 - 5526 pixels (ratio 0.05 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('#custom-calendar-days') - locator resolved to <ion-datetime value="2023-06-15" presentation="date" id="custom-calendar-days" class="ion-color ion-color-primary md datetime-presentation-date datetime-size-fixed datetime-grid hydrated">…</ion-datetime> - 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 - 5526 pixels (ratio 0.05 of all image pixels) are different. 62 | 63 | await expect(day).toBeFocused(); > 64 | await expect(datetime).toHaveScreenshot(screenshot(`datetime-custom-focus-selected-calendar-day`)); | ^ 65 | 66 | await page.keyboard.press('ArrowRight'); 67 | await page.waitForChanges(); at /ionic/src/components/datetime/test/custom/datetime.e2e.ts:64:30
🎭 Playwright Run Summary
216 skipped 257 passed (2.4m)
🎭 Playwright Run Summary
407 passed (2.5m)
🎭 Playwright Run Summary
1 skipped 529 passed (3.0m)
🎭 Playwright Run Summary
1 skipped 534 passed (3.1m)
🎭 Playwright Run Summary
212 skipped 303 passed (3.4m)
🎭 Playwright Run Summary
4 skipped 510 passed (3.5m)
🎭 Playwright Run Summary
4 skipped 635 passed (3.6m)
🎭 Playwright Run Summary
638 passed (4.1m)
🎭 Playwright Run Summary
10 skipped 503 passed (4.6m)
🎭 Playwright Run Summary
14 skipped 399 passed (5.0m)
🎭 Playwright Run Summary
1 flaky [Mobile Safari] › src/components/input-otp/test/separators/input-otp.e2e.ts:90:9 › input-otp: separators functionality - ios/ltr › should render separators after the second and third input box 5 skipped 509 passed (5.0m)
🎭 Playwright Run Summary
10 skipped 526 passed (6.4m)
🎭 Playwright Run Summary
4 skipped 528 passed (6.7m)
🎭 Playwright Run Summary
1 skipped 537 passed (6.8m)
🎭 Playwright Run Summary
1 skipped 523 passed (6.8m)
🎭 Playwright Run Summary
2 flaky [Mobile Safari] › src/components/item/test/inputs/item.e2e.ts:32:9 › disabled state rendering - ios/ltr › disabled controls should not have visual regressions [Mobile Safari] › src/components/item/test/inputs/item.e2e.ts:32:9 › disabled state rendering - md/ltr › disabled controls should not have visual regressions 5 skipped 513 passed (7.0m)
🎭 Playwright Run Summary
2 flaky [Mobile Safari] › src/components/datetime/test/custom/datetime.e2e.ts:53:9 › datetime: custom focus - md/ltr › should focus the selected day and then the day after [Mobile Safari] › src/components/datetime/test/show-adjacent-days/datetime.e2e.ts:16:9 › datetime: show adjacent days - md/ltr › should not have visual regressions with a custom styled calendar 2 skipped 507 passed (7.0m)
🎭 Playwright Run Summary
14 skipped 497 passed (7.3m)
🎭 Playwright Run Summary
5 skipped 563 passed (7.4m)
🎭 Playwright Run Summary
7 skipped 507 passed (7.9m)

Artifacts

Produced during runtime
Name Size Digest
ionic-angular Expired
666 KB
sha256:1363f91a83dec131d4aa2c97f6372cdbedfa828ef6ea4a686a0ba8f639c2755d
ionic-angular-server Expired
8.54 KB
sha256:28bf0afe353049048bfee929b49fabf3750d42ff0fc652a718f6cdeb43a8a2e1
ionic-core Expired
4.51 MB
sha256:316356a0162690a11f3065ecc3fe78e9a4d5a456a00021d63b9a79b18040ef09
ionic-react Expired
211 KB
sha256:fd126ed46d2c74c1e106c1d0dc1e70d269bdab28f24348a4d2ad3baa87a5868d
ionic-react-router Expired
27.9 KB
sha256:471b0ee5041d671991af466ddfe1b99711840ff951b9a64ec7dfc44f5874f352
ionic-vue Expired
233 KB
sha256:e341aa79b5bbaa00521cb415d1dd5316cc62b54d788898b7118a3877f2a8e35e
ionic-vue-router Expired
17 KB
sha256:1c1e4fc3434b1820028f0853e48351ca22a80e9ac1cff9a1d532bb0b6b9b9e98
test-results-1-20 Expired
429 KB
sha256:8db1e4cfee3c64f832cf6c5c8fa240e0fce4b424acdd59ac859a649d17dfa617
test-results-10-20 Expired
404 KB
sha256:2cf250fee98153587f87d7eed752945bb48082cc8ab8e1a9fad4b8f52fe94080
test-results-11-20 Expired
491 KB
sha256:e22fbcdd5fc5c4cf3bf6f248195861b1a6e55c4e4564a9fbd82c8d3ad591f8ac
test-results-12-20 Expired
442 KB
sha256:637c41a5b553ae858fd2813d4f24144597519088ae45f1e4b2dc95b83adcaa1f
test-results-13-20 Expired
435 KB
sha256:7cdc266fda42f2ec169cfb1996ef02397e73eaa354602ca1d286b9c014a1646d
test-results-14-20 Expired
397 KB
sha256:0749daf5478babf897589edc51d5642f09da86592f9b1d3657a2fcc9206f683e
test-results-15-20 Expired
1.76 MB
sha256:e6fe47da4ad250ff56320a2e5b1f431582128144c68e6f273053108ab6691c1a
test-results-16-20 Expired
1.14 MB
sha256:e9482e064ebc734832995d34bb07d2b37507b4994ed0c94d1a3c4bdc75e44be8
test-results-17-20 Expired
2.1 MB
sha256:b47c27f9f4070cf263e63787cb2facd352defea0ced97e2c24e0f6d5bbd2ccf5
test-results-18-20 Expired
502 KB
sha256:7391020353e76803fbffe6b9dd91b96488d839e4c69c7c63cbb7b6d0cd52bc12
test-results-19-20 Expired
389 KB
sha256:6916136ea763335cebf4e0012624f302f5a92100a9d701e9b57bca2d240040db
test-results-2-20 Expired
466 KB
sha256:64abb181e99b7fba0231ccb8d375cda9399a821c582dbd3c84a5e2092955445e
test-results-20-20 Expired
343 KB
sha256:d8096c4d04c81d363ceab04e00eb40b628f1c9af9f601aaf289a8f12bceffac8
test-results-3-20 Expired
423 KB
sha256:c35082e14a2aa1d0ffd499eec9d2d3cf7c079f99ba1932cb175c3cc275bcc89f
test-results-4-20 Expired
517 KB
sha256:4f7634729e2e7ff6a3b08517dd657f26cb2d48590296b878423aeb06c12ae222
test-results-5-20 Expired
449 KB
sha256:26746cd1f0b247864f6a9504f561c39f851c25b46a34cbb177e295f0b203274d
test-results-6-20 Expired
435 KB
sha256:181e7e3bb29e982498432212467c35bcc81304063a3a6c5bc9f9fdedcd6a87db
test-results-7-20 Expired
340 KB
sha256:ce0460ba75b38ec657023c4047e195dc593a77e689d76785bfa0bdf68c71fcf6
test-results-8-20 Expired
416 KB
sha256:783db6b7ccdbf1824d3298bafa584d4145f50a0787bc435afe9fc86b561bb27c
test-results-9-20 Expired
475 KB
sha256:51b8fbccaab5efea902b90dba4af55b6223b760c95a1a0b983f76791542fb858