I have read the procedure
CI Test Type
Acceptance
Which CI step failed?
Run Desktop Acceptance Test translation-reviewer/feature-translation-opps-with-new-opps-model/review-the-translations
Did the test fail after an automatic rerun?
Test failed once, was automatically re-run, and then failed again
Did the test fail when running on desktop, mobile, or both?
Desktop
Stacktrace
FAIL core/tests/puppeteer-acceptance-tests/specs/translation-reviewer/feature-translation-opps-with-new-opps-model/review-the-translations.spec.ts (108.171 s)
Translation Reviewer V2
✕ should be able to view all pending reviews
✕ should be able to move between review cards
✕ should be able to accept the translation (1 ms)
✕ should be able to reject a translation
✕ should be able to check contribution stats
✕ should be able to see the badges
● Translation Reviewer V2 › should be able to view all pending reviews
TimeoutError: waiting for selector `.e2e-test-add-state-input` failed: timeout 30000ms exceeded
3921 | // The '/' value is used to select the 'a new card called' option in the dropdown.
3922 | await this.select(destinationCardSelector, '/');
> 3923 | await this.page.waitForSelector(addStateInput, {
| ^
3924 | visible: true,
3925 | });
3926 | await this.typeInInputField(addStateInput, cardName);
at new WaitTask (../../../node_modules/puppeteer/src/common/DOMWorld.ts:813:28)
at DOMWorld.waitForSelectorInPage (../../../node_modules/puppeteer/src/common/DOMWorld.ts:656:22)
at Object.internalHandler.waitFor (../../../node_modules/puppeteer/src/common/QueryHandler.ts:78:19)
at DOMWorld.waitForSelector (../../../node_modules/puppeteer/src/common/DOMWorld.ts:511:25)
at Frame.waitForSelector (../../../node_modules/puppeteer/src/common/FrameManager.ts:1290:47)
at Page.waitForSelector (../../../node_modules/puppeteer/src/common/Page.ts:3222:29)
at BaseUser.directLearnersToNewCard (utilities/user/exploration-editor.ts:3923:21)
at runMicrotasks (<anonymous>)
at BaseUser.createAndPublishExplorationWithCards (utilities/user/exploration-editor.ts:5087:7)
● Translation Reviewer V2 › should be able to move between review cards
TimeoutError: waiting for selector `.e2e-test-add-state-input` failed: timeout 30000ms exceeded
3921 | // The '/' value is used to select the 'a new card called' option in the dropdown.
3922 | await this.select(destinationCardSelector, '/');
> 3923 | await this.page.waitForSelector(addStateInput, {
| ^
3924 | visible: true,
3925 | });
3926 | await this.typeInInputField(addStateInput, cardName);
at new WaitTask (../../../node_modules/puppeteer/src/common/DOMWorld.ts:813:28)
at DOMWorld.waitForSelectorInPage (../../../node_modules/puppeteer/src/common/DOMWorld.ts:656:22)
at Object.internalHandler.waitFor (../../../node_modules/puppeteer/src/common/QueryHandler.ts:78:19)
at DOMWorld.waitForSelector (../../../node_modules/puppeteer/src/common/DOMWorld.ts:511:25)
at Frame.waitForSelector (../../../node_modules/puppeteer/src/common/FrameManager.ts:1290:47)
at Page.waitForSelector (../../../node_modules/puppeteer/src/common/Page.ts:3222:29)
at BaseUser.directLearnersToNewCard (utilities/user/exploration-editor.ts:3923:21)
at runMicrotasks (<anonymous>)
at BaseUser.createAndPublishExplorationWithCards (utilities/user/exploration-editor.ts:5087:7)
● Translation Reviewer V2 › should be able to accept the translation
TimeoutError: waiting for selector `.e2e-test-add-state-input` failed: timeout 30000ms exceeded
3921 | // The '/' value is used to select the 'a new card called' option in the dropdown.
3922 | await this.select(destinationCardSelector, '/');
> 3923 | await this.page.waitForSelector(addStateInput, {
| ^
3924 | visible: true,
3925 | });
3926 | await this.typeInInputField(addStateInput, cardName);
at new WaitTask (../../../node_modules/puppeteer/src/common/DOMWorld.ts:813:28)
at DOMWorld.waitForSelectorInPage (../../../node_modules/puppeteer/src/common/DOMWorld.ts:656:22)
at Object.internalHandler.waitFor (../../../node_modules/puppeteer/src/common/QueryHandler.ts:78:19)
at DOMWorld.waitForSelector (../../../node_modules/puppeteer/src/common/DOMWorld.ts:511:25)
at Frame.waitForSelector (../../../node_modules/puppeteer/src/common/FrameManager.ts:1290:47)
at Page.waitForSelector (../../../node_modules/puppeteer/src/common/Page.ts:3222:29)
at BaseUser.directLearnersToNewCard (utilities/user/exploration-editor.ts:3923:21)
at runMicrotasks (<anonymous>)
at BaseUser.createAndPublishExplorationWithCards (utilities/user/exploration-editor.ts:5087:7)
● Translation Reviewer V2 › should be able to reject a translation
TimeoutError: waiting for selector `.e2e-test-add-state-input` failed: timeout 30000ms exceeded
3921 | // The '/' value is used to select the 'a new card called' option in the dropdown.
3922 | await this.select(destinationCardSelector, '/');
> 3923 | await this.page.waitForSelector(addStateInput, {
| ^
3924 | visible: true,
3925 | });
3926 | await this.typeInInputField(addStateInput, cardName);
at new WaitTask (../../../node_modules/puppeteer/src/common/DOMWorld.ts:813:28)
at DOMWorld.waitForSelectorInPage (../../../node_modules/puppeteer/src/common/DOMWorld.ts:656:22)
at Object.internalHandler.waitFor (../../../node_modules/puppeteer/src/common/QueryHandler.ts:78:19)
at DOMWorld.waitForSelector (../../../node_modules/puppeteer/src/common/DOMWorld.ts:511:25)
at Frame.waitForSelector (../../../node_modules/puppeteer/src/common/FrameManager.ts:1290:47)
at Page.waitForSelector (../../../node_modules/puppeteer/src/common/Page.ts:3222:29)
at BaseUser.directLearnersToNewCard (utilities/user/exploration-editor.ts:3923:21)
at runMicrotasks (<anonymous>)
at BaseUser.createAndPublishExplorationWithCards (utilities/user/exploration-editor.ts:5087:7)
● Translation Reviewer V2 › should be able to check contribution stats
TimeoutError: waiting for selector `.e2e-test-add-state-input` failed: timeout 30000ms exceeded
3921 | // The '/' value is used to select the 'a new card called' option in the dropdown.
3922 | await this.select(destinationCardSelector, '/');
> 3923 | await this.page.waitForSelector(addStateInput, {
| ^
3924 | visible: true,
3925 | });
3926 | await this.typeInInputField(addStateInput, cardName);
at new WaitTask (../../../node_modules/puppeteer/src/common/DOMWorld.ts:813:28)
at DOMWorld.waitForSelectorInPage (../../../node_modules/puppeteer/src/common/DOMWorld.ts:656:22)
at Object.internalHandler.waitFor (../../../node_modules/puppeteer/src/common/QueryHandler.ts:78:19)
at DOMWorld.waitForSelector (../../../node_modules/puppeteer/src/common/DOMWorld.ts:511:25)
at Frame.waitForSelector (../../../node_modules/puppeteer/src/common/FrameManager.ts:1290:47)
at Page.waitForSelector (../../../node_modules/puppeteer/src/common/Page.ts:3222:29)
at BaseUser.directLearnersToNewCard (utilities/user/exploration-editor.ts:3923:21)
at runMicrotasks (<anonymous>)
at BaseUser.createAndPublishExplorationWithCards (utilities/user/exploration-editor.ts:5087:7)
● Translation Reviewer V2 › should be able to see the badges
TimeoutError: waiting for selector `.e2e-test-add-state-input` failed: timeout 30000ms exceeded
3921 | // The '/' value is used to select the 'a new card called' option in the dropdown.
3922 | await this.select(destinationCardSelector, '/');
> 3923 | await this.page.waitForSelector(addStateInput, {
| ^
3924 | visible: true,
3925 | });
3926 | await this.typeInInputField(addStateInput, cardName);
at new WaitTask (../../../node_modules/puppeteer/src/common/DOMWorld.ts:813:28)
at DOMWorld.waitForSelectorInPage (../../../node_modules/puppeteer/src/common/DOMWorld.ts:656:22)
at Object.internalHandler.waitFor (../../../node_modules/puppeteer/src/common/QueryHandler.ts:78:19)
at DOMWorld.waitForSelector (../../../node_modules/puppeteer/src/common/DOMWorld.ts:511:25)
at Frame.waitForSelector (../../../node_modules/puppeteer/src/common/FrameManager.ts:1290:47)
at Page.waitForSelector (../../../node_modules/puppeteer/src/common/Page.ts:3222:29)
at BaseUser.directLearnersToNewCard (utilities/user/exploration-editor.ts:3923:21)
at runMicrotasks (<anonymous>)
at BaseUser.createAndPublishExplorationWithCards (utilities/user/exploration-editor.ts:5087:7)
Test Suites: 1 failed, 1 total
Tests: 6 failed, 6 total
Snapshots: 0 total
Time: 109.067 s, estimated 446 s
Ran all test suites matching /core\/tests\/puppeteer-acceptance-tests\/specs\/translation-reviewer\/feature-translation-opps-with-new-opps-model\/review-the-translations.spec.ts/i.
INFO 2026-07-17 16:49:58,609 shutdown.py:48] Shutting down.
INFO 2026-07-17 16:49:58,715 stub_util.py:321] Applying all pending transactions and saving the datastore
INFO 2026-07-17 16:49:58,716 stub_util.py:324] Saving search indexes
Screenshots and/or Screen Recordings
https://github.com/user-attachments/assets/3011c9f9-e0df-49db-8834-9b931b636352
https://github.com/user-attachments/assets/087cc1db-9c45-418c-a146-d4f7e193a520
Occurrences
https://github.com/oppia/oppia/actions/runs/29590057845/job/87922612971
Additional Information
No response
Debugging document link
No response
I have read the procedure
CI Test Type
Acceptance
Which CI step failed?
Run Desktop Acceptance Test translation-reviewer/feature-translation-opps-with-new-opps-model/review-the-translations
Did the test fail after an automatic rerun?
Test failed once, was automatically re-run, and then failed again
Did the test fail when running on desktop, mobile, or both?
Desktop
Stacktrace
FAIL core/tests/puppeteer-acceptance-tests/specs/translation-reviewer/feature-translation-opps-with-new-opps-model/review-the-translations.spec.ts (108.171 s) Translation Reviewer V2 ✕ should be able to view all pending reviews ✕ should be able to move between review cards ✕ should be able to accept the translation (1 ms) ✕ should be able to reject a translation ✕ should be able to check contribution stats ✕ should be able to see the badges ● Translation Reviewer V2 › should be able to view all pending reviews TimeoutError: waiting for selector `.e2e-test-add-state-input` failed: timeout 30000ms exceeded 3921 | // The '/' value is used to select the 'a new card called' option in the dropdown. 3922 | await this.select(destinationCardSelector, '/'); > 3923 | await this.page.waitForSelector(addStateInput, { | ^ 3924 | visible: true, 3925 | }); 3926 | await this.typeInInputField(addStateInput, cardName); at new WaitTask (../../../node_modules/puppeteer/src/common/DOMWorld.ts:813:28) at DOMWorld.waitForSelectorInPage (../../../node_modules/puppeteer/src/common/DOMWorld.ts:656:22) at Object.internalHandler.waitFor (../../../node_modules/puppeteer/src/common/QueryHandler.ts:78:19) at DOMWorld.waitForSelector (../../../node_modules/puppeteer/src/common/DOMWorld.ts:511:25) at Frame.waitForSelector (../../../node_modules/puppeteer/src/common/FrameManager.ts:1290:47) at Page.waitForSelector (../../../node_modules/puppeteer/src/common/Page.ts:3222:29) at BaseUser.directLearnersToNewCard (utilities/user/exploration-editor.ts:3923:21) at runMicrotasks (<anonymous>) at BaseUser.createAndPublishExplorationWithCards (utilities/user/exploration-editor.ts:5087:7) ● Translation Reviewer V2 › should be able to move between review cards TimeoutError: waiting for selector `.e2e-test-add-state-input` failed: timeout 30000ms exceeded 3921 | // The '/' value is used to select the 'a new card called' option in the dropdown. 3922 | await this.select(destinationCardSelector, '/'); > 3923 | await this.page.waitForSelector(addStateInput, { | ^ 3924 | visible: true, 3925 | }); 3926 | await this.typeInInputField(addStateInput, cardName); at new WaitTask (../../../node_modules/puppeteer/src/common/DOMWorld.ts:813:28) at DOMWorld.waitForSelectorInPage (../../../node_modules/puppeteer/src/common/DOMWorld.ts:656:22) at Object.internalHandler.waitFor (../../../node_modules/puppeteer/src/common/QueryHandler.ts:78:19) at DOMWorld.waitForSelector (../../../node_modules/puppeteer/src/common/DOMWorld.ts:511:25) at Frame.waitForSelector (../../../node_modules/puppeteer/src/common/FrameManager.ts:1290:47) at Page.waitForSelector (../../../node_modules/puppeteer/src/common/Page.ts:3222:29) at BaseUser.directLearnersToNewCard (utilities/user/exploration-editor.ts:3923:21) at runMicrotasks (<anonymous>) at BaseUser.createAndPublishExplorationWithCards (utilities/user/exploration-editor.ts:5087:7) ● Translation Reviewer V2 › should be able to accept the translation TimeoutError: waiting for selector `.e2e-test-add-state-input` failed: timeout 30000ms exceeded 3921 | // The '/' value is used to select the 'a new card called' option in the dropdown. 3922 | await this.select(destinationCardSelector, '/'); > 3923 | await this.page.waitForSelector(addStateInput, { | ^ 3924 | visible: true, 3925 | }); 3926 | await this.typeInInputField(addStateInput, cardName); at new WaitTask (../../../node_modules/puppeteer/src/common/DOMWorld.ts:813:28) at DOMWorld.waitForSelectorInPage (../../../node_modules/puppeteer/src/common/DOMWorld.ts:656:22) at Object.internalHandler.waitFor (../../../node_modules/puppeteer/src/common/QueryHandler.ts:78:19) at DOMWorld.waitForSelector (../../../node_modules/puppeteer/src/common/DOMWorld.ts:511:25) at Frame.waitForSelector (../../../node_modules/puppeteer/src/common/FrameManager.ts:1290:47) at Page.waitForSelector (../../../node_modules/puppeteer/src/common/Page.ts:3222:29) at BaseUser.directLearnersToNewCard (utilities/user/exploration-editor.ts:3923:21) at runMicrotasks (<anonymous>) at BaseUser.createAndPublishExplorationWithCards (utilities/user/exploration-editor.ts:5087:7) ● Translation Reviewer V2 › should be able to reject a translation TimeoutError: waiting for selector `.e2e-test-add-state-input` failed: timeout 30000ms exceeded 3921 | // The '/' value is used to select the 'a new card called' option in the dropdown. 3922 | await this.select(destinationCardSelector, '/'); > 3923 | await this.page.waitForSelector(addStateInput, { | ^ 3924 | visible: true, 3925 | }); 3926 | await this.typeInInputField(addStateInput, cardName); at new WaitTask (../../../node_modules/puppeteer/src/common/DOMWorld.ts:813:28) at DOMWorld.waitForSelectorInPage (../../../node_modules/puppeteer/src/common/DOMWorld.ts:656:22) at Object.internalHandler.waitFor (../../../node_modules/puppeteer/src/common/QueryHandler.ts:78:19) at DOMWorld.waitForSelector (../../../node_modules/puppeteer/src/common/DOMWorld.ts:511:25) at Frame.waitForSelector (../../../node_modules/puppeteer/src/common/FrameManager.ts:1290:47) at Page.waitForSelector (../../../node_modules/puppeteer/src/common/Page.ts:3222:29) at BaseUser.directLearnersToNewCard (utilities/user/exploration-editor.ts:3923:21) at runMicrotasks (<anonymous>) at BaseUser.createAndPublishExplorationWithCards (utilities/user/exploration-editor.ts:5087:7) ● Translation Reviewer V2 › should be able to check contribution stats TimeoutError: waiting for selector `.e2e-test-add-state-input` failed: timeout 30000ms exceeded 3921 | // The '/' value is used to select the 'a new card called' option in the dropdown. 3922 | await this.select(destinationCardSelector, '/'); > 3923 | await this.page.waitForSelector(addStateInput, { | ^ 3924 | visible: true, 3925 | }); 3926 | await this.typeInInputField(addStateInput, cardName); at new WaitTask (../../../node_modules/puppeteer/src/common/DOMWorld.ts:813:28) at DOMWorld.waitForSelectorInPage (../../../node_modules/puppeteer/src/common/DOMWorld.ts:656:22) at Object.internalHandler.waitFor (../../../node_modules/puppeteer/src/common/QueryHandler.ts:78:19) at DOMWorld.waitForSelector (../../../node_modules/puppeteer/src/common/DOMWorld.ts:511:25) at Frame.waitForSelector (../../../node_modules/puppeteer/src/common/FrameManager.ts:1290:47) at Page.waitForSelector (../../../node_modules/puppeteer/src/common/Page.ts:3222:29) at BaseUser.directLearnersToNewCard (utilities/user/exploration-editor.ts:3923:21) at runMicrotasks (<anonymous>) at BaseUser.createAndPublishExplorationWithCards (utilities/user/exploration-editor.ts:5087:7) ● Translation Reviewer V2 › should be able to see the badges TimeoutError: waiting for selector `.e2e-test-add-state-input` failed: timeout 30000ms exceeded 3921 | // The '/' value is used to select the 'a new card called' option in the dropdown. 3922 | await this.select(destinationCardSelector, '/'); > 3923 | await this.page.waitForSelector(addStateInput, { | ^ 3924 | visible: true, 3925 | }); 3926 | await this.typeInInputField(addStateInput, cardName); at new WaitTask (../../../node_modules/puppeteer/src/common/DOMWorld.ts:813:28) at DOMWorld.waitForSelectorInPage (../../../node_modules/puppeteer/src/common/DOMWorld.ts:656:22) at Object.internalHandler.waitFor (../../../node_modules/puppeteer/src/common/QueryHandler.ts:78:19) at DOMWorld.waitForSelector (../../../node_modules/puppeteer/src/common/DOMWorld.ts:511:25) at Frame.waitForSelector (../../../node_modules/puppeteer/src/common/FrameManager.ts:1290:47) at Page.waitForSelector (../../../node_modules/puppeteer/src/common/Page.ts:3222:29) at BaseUser.directLearnersToNewCard (utilities/user/exploration-editor.ts:3923:21) at runMicrotasks (<anonymous>) at BaseUser.createAndPublishExplorationWithCards (utilities/user/exploration-editor.ts:5087:7) Test Suites: 1 failed, 1 total Tests: 6 failed, 6 total Snapshots: 0 total Time: 109.067 s, estimated 446 s Ran all test suites matching /core\/tests\/puppeteer-acceptance-tests\/specs\/translation-reviewer\/feature-translation-opps-with-new-opps-model\/review-the-translations.spec.ts/i. INFO 2026-07-17 16:49:58,609 shutdown.py:48] Shutting down. INFO 2026-07-17 16:49:58,715 stub_util.py:321] Applying all pending transactions and saving the datastore INFO 2026-07-17 16:49:58,716 stub_util.py:324] Saving search indexesScreenshots and/or Screen Recordings
https://github.com/user-attachments/assets/3011c9f9-e0df-49db-8834-9b931b636352
https://github.com/user-attachments/assets/087cc1db-9c45-418c-a146-d4f7e193a520
Occurrences
https://github.com/oppia/oppia/actions/runs/29590057845/job/87922612971
Additional Information
No response
Debugging document link
No response