Skip to content
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

[VBLOCKS-3535] feat: proof of concept appium testing #438

Open
wants to merge 1 commit into
base: feature/appium
Choose a base branch
from

Conversation

mhuynh5757
Copy link
Collaborator

Submission Checklist

  • Updated the CHANGELOG.md to reflect any feature, bug fixes, or known issues made in the source code
  • Tested code changes and observed expected behavior in the example app
  • Performed a visual inspection of the Files changed tab prior to submitting the pull request for review to ensure proper usage of the style guide

All third-party contributors acknowledge that any contributions they provide will be made under the same open-source license that the open-source project is provided under.

  • I acknowledge that all my contributions will be made under the project's license.

Description

This PR adds a proof of concept test to the repo test app using appium.

Breakdown

  • Add appium automated testing to the test app.

Validation

  • Locally ran appium tests.

Additional Notes

N/A

@mhuynh5757 mhuynh5757 changed the title feat: proof of concept appium testing [VBLOCKS-3535] feat: proof of concept appium testing Oct 16, 2024
Copy link
Collaborator

@kpchoy kpchoy left a comment

Choose a reason for hiding this comment

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

Do you have an example I can look at for how the other team is using appium?

  1. So we would need to create the UI for every test we make?
  2. Since this is just 1 test case and has ~100 lines, each test case would be around the same length?
  3. One concern I see is that it looks tedious to manually set status for each test.

}

await new Promise((resolve) => {
setTimeout(resolve, 5000);
Copy link
Collaborator

Choose a reason for hiding this comment

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

is the manual wait time still necessary? appium doesn't have a way to .wait?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

So appium does have a way to wait, but the way I set up the test such that each test is it's own UI and each hook is it's own test run time means that appium isn't in control here. At this point, it's app code, and the appium wait is more similar to how jest waits for tests to finish since appium is the test runner.

@mhuynh5757
Copy link
Collaborator Author

Yeah those concerns are very valid. I have a few ideas on how to cut down on boilerplate, but in the end it will be pretty lengthy for each test compared to the type of testing we're used to. If you compare to how the current tests work, with a "full blown" test app and just doing e2e testing on that, it's not going to be too different in terms of total length.

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.

2 participants