-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
test: fix encrypt password synchronization #17048
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…e SmokeAccounts tag - Commented out several existing workflows in the Bitrise configuration for the e2e testing stages. - Added new workflows for `run_tag_smoke_accounts_ios` and `run_tag_smoke_accounts_android`. - Updated AES encryption test files to replace `SmokeNetworkExpansion` with `SmokeAccounts` for better categorization of tests.
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
|
- Commented out the visibility check for the response text in the AES encryption test to streamline the test flow.
- Replaced instances of SmokeNetworkExpansion with SmokeAccounts in error boundary, import wallet, and reveal secret recovery phrase test files for improved test categorization.
|
- Restored previously commented-out workflows in the Bitrise configuration for various e2e testing stages, enhancing the testing coverage for both iOS and Android platforms.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Duplicate Test IDs in Form Components
Multiple TestForm components are assigned the same responseTextTestId (responseText, which resolves to 'response-text'). This creates non-unique test IDs for response text elements on the same screen, violating test automation best practices and hindering reliable element targeting in automated tests.
app/components/Views/AesCryptoTestForm/AesCryptoTestForm.tsx#L169-L260
metamask-mobile/app/components/Views/AesCryptoTestForm/AesCryptoTestForm.tsx
Lines 169 to 260 in d000d99
| responseTestId={aesCryptoFormResponses.saltResponse} | |
| responseTextTestId={responseText} | |
| styles={{ ...styles }} | |
| /> | |
| <TestForm | |
| title={strings('aes_crypto_test_form.generate_encryption_key')} | |
| buttonLabel={strings('aes_crypto_test_form.generate')} | |
| textFields={[ | |
| { | |
| placeholder: strings('aes_crypto_test_form.password'), | |
| testId: aesCryptoFormInputs.passwordInput, | |
| }, | |
| { | |
| placeholder: strings('aes_crypto_test_form.salt'), | |
| testId: aesCryptoFormInputs.saltInputForEncryptionKey, | |
| }, | |
| ]} | |
| callback={generateEncryptionKey} | |
| callbackTestId={aesCryptoFormButtons.generateEncryptionKeyButton} | |
| responseTestId={aesCryptoFormResponses.generateEncryptionKeyResponse} | |
| responseTextTestId={responseText} | |
| styles={{ ...styles }} | |
| /> | |
| <TestForm | |
| title={strings('aes_crypto_test_form.encrypt_with_key')} | |
| buttonLabel={strings('aes_crypto_test_form.encrypt')} | |
| textFields={[ | |
| { | |
| placeholder: strings('aes_crypto_test_form.encryption_key'), | |
| testId: | |
| aesCryptoFormInputs.encryptionKeyInputForEncryptionWithKey, | |
| }, | |
| { | |
| placeholder: strings('aes_crypto_test_form.data'), | |
| testId: aesCryptoFormInputs.dataInputForEncryptionWithKey, | |
| }, | |
| ]} | |
| callback={encryptWithKey} | |
| callbackTestId={aesCryptoFormButtons.encryptWithKeyButton} | |
| responseTestId={aesCryptoFormResponses.encryptionWithKeyResponse} | |
| responseTextTestId={responseText} | |
| styles={{ ...styles }} | |
| /> | |
| <TestForm | |
| title={strings('aes_crypto_test_form.decrypt_with_key')} | |
| buttonLabel={strings('aes_crypto_test_form.decrypt')} | |
| textFields={[ | |
| { | |
| placeholder: 'Encryption Key', | |
| testId: | |
| aesCryptoFormInputs.encryptionKeyInputForDecryptionWithKey, | |
| }, | |
| ]} | |
| callback={decryptWithKey} | |
| callbackTestId={aesCryptoFormButtons.decryptWithKeyButton} | |
| responseTestId={aesCryptoFormResponses.decryptionWithKeyResponse} | |
| responseTextTestId={responseText} | |
| styles={{ ...styles }} | |
| /> | |
| <TestForm | |
| title={strings('aes_crypto_test_form.encrypt')} | |
| buttonLabel={strings('aes_crypto_test_form.encrypt')} | |
| textFields={[ | |
| { | |
| placeholder: strings('aes_crypto_test_form.data'), | |
| testId: aesCryptoFormInputs.dataInputForEncryption, | |
| }, | |
| { | |
| placeholder: strings('aes_crypto_test_form.password'), | |
| testId: aesCryptoFormInputs.passwordInputForEncryption, | |
| }, | |
| ]} | |
| callback={encrypt} | |
| callbackTestId={aesCryptoFormButtons.encryptButton} | |
| responseTestId={aesCryptoFormResponses.encryptionResponse} | |
| responseTextTestId={responseText} | |
| styles={{ ...styles }} | |
| /> | |
| <TestForm | |
| title={strings('aes_crypto_test_form.decrypt')} | |
| buttonLabel={strings('aes_crypto_test_form.decrypt')} | |
| textFields={[ | |
| { | |
| placeholder: strings('aes_crypto_test_form.password'), | |
| testId: aesCryptoFormInputs.passwordInputForDecryption, | |
| }, | |
| ]} | |
| callback={decrypt} | |
| callbackTestId={aesCryptoFormButtons.decryptButton} | |
| responseTestId={aesCryptoFormResponses.decryptionResponse} | |
| responseTextTestId={responseText} | |
| styles={{ ...styles }} |
Was this report helpful? Give feedback by reacting with 👍 or 👎
|



Description
This PR fixes synchronization issues in AES encryption end-to-end tests and improves test infrastructure by adding proper selectors and reorganizing test categorization.
Changelog
CHANGELOG entry:
Related issues
Fixes:
Manual testing steps
Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist