Skip to content

Conversation

bznein
Copy link
Collaborator

@bznein bznein commented Oct 1, 2025

Before asking for reviews, here is a check list of the most common things you might need to consider:

  • updating the Changelog
  • writing unit tests
  • checking if your changes affect other coins or tokens in unintended ways
  • testing on multiple environments (Qt, Android, ...)
  • having an AI review your changes

@bznein bznein force-pushed the testAndroid branch 4 times, most recently from a187051 to 0201e65 Compare October 2, 2025 08:25
@bznein bznein marked this pull request as ready for review October 2, 2025 08:38
@bznein bznein requested a review from thisconnect October 2, 2025 08:38
@bznein bznein changed the title [WIP - Do Not Review Yet] tests: enable automatic tests on Android. tests: enable automatic tests on Android. Oct 2, 2025
Copy link
Collaborator

@thisconnect thisconnect left a comment

Choose a reason for hiding this comment

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

🙏 untested LGTM

With a few suggestions. It would be good to get a 2nd review from somebody else

`make webe2etest`

Appium is used to perform automatic test on Android emulators.
The test runs automatically on PRs and push to master in the Github CI.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Maybe mention make mobilee2etest here or is it CI only?

"name": "tests",
"version": "1.0.0",
"type": "module",
"main": "index.js",
Copy link
Collaborator

Choose a reason for hiding this comment

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

"main" field can be removed.

It would serve as entry file so other project could import tests from 'tests'.

if (driver) await driver.deleteSession();
});

it("App main page loads", async () => {
Copy link
Collaborator

Choose a reason for hiding this comment

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

PLATFORM: Android
ANDROID_EMULATOR_WAIT_TIME_BEFORE_KILL: 5
with:
api-level: 34
Copy link
Contributor

Choose a reason for hiding this comment

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

Why 34? Should it be a matrix with all supported API levels?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Absolutely right! This was more of a "let's get a single setup working first" but it does make sense to add all levels now. I'll do it before asking for the next review

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It turns out that API <30 don't work out of the box and require a bit more work/investigation. I will open an issue to track this but I think it would make this PR a bit too messy and big so if it's ok for you I'd keep it for another one

if (driver) await driver.deleteSession();
});

it("App main page loads", async () => {
Copy link
Contributor

Choose a reason for hiding this comment

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

Can or should the Android tests reuse Playwright tests? The code running on both platforms is nearly identical after all. Or is the plan to write most tests in Playwright and only stuff that is different on Android here?

What is the overall plan? Maybe worth writitng it down somewhere so people who will write tests know how to proceed.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Playwright and webdriver.io have different api to interact with the browser. So I don't think we can run the same tests.

https://playwright.dev/docs/writing-tests#basic-actions
https://webdriver.io/docs/api/mobile (or do we use https://github.com/admc/wd to interact with the browser?)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@thisconnect is right. As far as I know there isn't really a way to reuse the tests. I will investigating whether we can at least translate one into the other easily or if we should keep it separated. I think the plan is still a bit in-flight and not set in stone yet. I'll make sure to track it in an issue.

@bznein bznein force-pushed the testAndroid branch 5 times, most recently from 49c1e10 to 126bca2 Compare October 6, 2025 11:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants