Skip to content

Conversation

glitchminer
Copy link
Contributor

@glitchminer glitchminer commented Aug 21, 2025

What does the PR do

closes #18692

Updates onboarded_app fixture in the e2e_appium test framework for multiple new user creation methods. The fixture introduces a create_profile_method parameter allowing tests to select:

  • Password-based profile creation
  • Seed phrase import with clipboard pasting
  • Random method selection for broader test coverage (50/50)

Affected areas

  • e2e_appium test framework

Impact on end user

None

Testing

  • Ran onboarding tests: python scripts/run_tests.py --category onboarding
  • Verified all three test methods pass locally and on lambdatest:
    • test_onboarding_create_with_password_lands_on_main_app
    • test_onboarding_create_with_seed_lands_on_main_app
    • test_onboarding_create_random_lands_on_main_app

Risk

Low risk

@glitchminer glitchminer requested a review from a team as a code owner August 21, 2025 22:29
@status-im-auto
Copy link
Member

status-im-auto commented Aug 21, 2025

Jenkins Builds

Click to see older builds (25)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 37f4957 #1 2025-08-21 22:37:13 ~7 min tests/nim 📄log
✔️ 37f4957 #1 2025-08-21 22:41:58 ~12 min tests/ui 📄log
✔️ 37f4957 #1 2025-08-21 22:44:08 ~14 min macos/aarch64 🍎dmg
✔️ 37f4957 #1 2025-08-21 22:45:35 ~15 min linux/x86_64 📦tgz
✔️ 37f4957 #1 2025-08-21 22:48:43 ~18 min macos/aarch64-nwaku 🍎dmg
✔️ 37f4957 #1 2025-08-21 22:52:08 ~22 min linux/x86_64-nwaku 📦tgz
✔️ 37f4957 pr18698 2025-08-21 22:56:06 ~10 min tests/e2e 📊rpt
✔️ 37f4957 #1 2025-08-21 23:06:22 ~36 min windows/x86_64 💿exe
✔️ 662f5a8 #2 2025-08-22 09:29:57 ~6 min tests/nim 📄log
✔️ 662f5a8 #2 2025-08-22 09:36:09 ~12 min macos/aarch64 🍎dmg
✔️ 662f5a8 #2 2025-08-22 09:38:46 ~15 min tests/ui 📄log
✔️ 662f5a8 #2 2025-08-22 09:39:04 ~15 min linux/x86_64 📦tgz
✔️ 662f5a8 #2 2025-08-22 09:43:08 ~19 min linux/x86_64-nwaku 📦tgz
✔️ 662f5a8 #2 2025-08-22 09:44:55 ~21 min macos/aarch64-nwaku 🍎dmg
✔️ 662f5a8 #2 2025-08-22 09:47:41 ~24 min windows/x86_64 💿exe
✔️ 662f5a8 pr18698 2025-08-22 09:53:23 ~14 min tests/e2e 📊rpt
✔️ a1bfd8e2 #1 2025-09-10 06:24:16 ~15 min android/arm64 🤖apk 📲
✔️ 82dc28cb #4 2025-09-16 09:22:25 ~6 min android/arm64 🤖apk 📲
✔️ d509c136 #5 2025-09-17 09:23:48 ~7 min android/arm64 🤖apk 📲
✔️ 9d48d48a #6 2025-09-18 09:24:52 ~8 min android/arm64 🤖apk 📲
✔️ 1484b285 #7 2025-09-19 09:26:01 ~10 min android/arm64 🤖apk 📲
✔️ 30cfd582 #10 2025-09-24 17:31:39 ~15 min android/arm64 🤖apk 📲
✔️ dccb7103 #11 2025-09-25 17:27:01 ~10 min android/arm64 🤖apk 📲
✔️ e43c51cf #13 2025-09-27 17:30:53 ~15 min android/arm64 🤖apk 📲
✔️ d9d87b0a #14 2025-09-29 17:37:03 ~20 min android/arm64 🤖apk 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 5996dd19 #16 2025-10-01 17:27:22 ~11 min android/arm64 🤖apk 📲
✔️ 64304f68 #17 2025-10-02 17:31:08 ~15 min android/arm64 🤖apk 📲

time.sleep(0.3)
if not self.is_continue_button_enabled():
self.logger.error(
"Continue button is not enabled - seed phrase may be invalid"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any way to catch error message from UI instead and log it ? Ideally we should not get invalid seed as input for autotest and its better to catch real error anyway

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that it's unlikely to be invalid when using the phrase generators.

Currently it's not possible to locate the error message via XML dumps. The UI issue being captured is that the Continue button is disabled. I will remove this section though as it's mostly redundant with safe_click being used by click_continue.

validate_each_step=True,
create_profile_method="random",
)
def test_onboarding_create_random_lands_on_main_app(self, onboarded_app):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i am little bit confused it is delivered as a single test, that should be a precondition for any test to start with:

  • you either create a new user with password
  • or you create new profile with seed
  • or you login to the app that has already a data folder (aka Returning user)

in all these cases the end result is landing to main screen

suggest to redo it the way it could be one fixture with variety of choices (new user, or returning user) and pass it to test

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 3 tests just validate the fixture itself works with the different profile creation methods (password, seed phrase, random). As before, they may be removed or amended when it's ready for actual tests.

This PR delivers only the ability to create a new account via seed phrase or password. Extending the fixture to cover returning users is the next step for this and will be an additional config like returning_user=True or similar (task #18703).

@anastasiyaig anastasiyaig self-requested a review August 22, 2025 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

e2e_appium: add fixture for create profile using recovery phrase
3 participants