Skip to content

issue 518 appium semaphoreci#719

Merged
tomholub merged 50 commits intomasterfrom
feature/appium-semaphoreci
Oct 22, 2021
Merged

issue 518 appium semaphoreci#719
tomholub merged 50 commits intomasterfrom
feature/appium-semaphoreci

Conversation

@tomholub
Copy link
Collaborator

@tomholub tomholub commented Oct 20, 2021

This PR runs Appium tests on semaphoreCI.

close #518

still todo: build the app for running in the CI.


To be filled by reviewers

I have reviewed that this PR... (tick whichever items you personally focused on during this review):

  • addresses the issue it closes (if any)
  • code is readable and understandable
  • is accompanied with tests, or tests are not needed
  • is free of vulnerabilities
  • is documented clearly and usefully, or doesn't need documentation

@tomholub
Copy link
Collaborator Author

@fcvakintos I've simplified it so that it's just a single build step for both regular tests and Appium tests.

The longest wait at the moment is to get it built anyway, so the fastlane do_everything step will be probably a pre-reqisite for appium tests anyway.

Fails smoke tests now with:

�[35m[XCUITest]�[39m Error: The application at '/Users/semaphore/git/flowcrypt-ios/appium/apps/FlowCrypt.app' does not exist or is not accessible
�[35m[XCUITest]�[39m     at /Users/semaphore/.nvm/versions/node/v12.22.7/lib/node_modules/appium/node_modules/appium-base-driver/lib/basedriver/helpers.js:234:13
�[35m[XCUITest]�[39m {}

The rest is up to you, not my area. If you need help, ask @sosnovsky or @Kharchevskyi for help. How do you build the app for testing today? Do you use the IDE for that? You'll need to replicate that, but with shell commands. Once you can do it locally, update the semaphore commands to use the same steps, and that will make it work.

@fcvakintos
Copy link
Contributor

@tomholub I was at the same point is to get this app file for testing, I will check tomorrow

@fcvakintos
Copy link
Contributor

@tomholub first success build https://flowcrypt.semaphoreci.com/jobs/02452c1d-9a06-4009-b6bd-d1b3d0daab62, I will optimise building app tomorrow

@tomholub
Copy link
Collaborator Author

excellent

@tomholub
Copy link
Collaborator Author

This is interesting:

image

Given it's two build steps in sequence, and given both build the same thing (same app), shouldn't the second build step just take 30 seconds? Does it not cache/reuse build data?

@fcvakintos fcvakintos marked this pull request as ready for review October 22, 2021 19:50
@fcvakintos
Copy link
Contributor

hi @RomanKovalchuk2019 @ivan-ushakov please suggest if possible to improve performance of the build. Right now we have step with 2 fastlanes (do_everything and build_e2e). Maybe it's possible to cmbine them or use some option so on second building it will be faster?

@fcvakintos
Copy link
Contributor

after build_e2e we are executing appium tests

@tomholub
Copy link
Collaborator Author

@sosnovsky is the Roman you wanted to tag :-) alternatively @Kharchevskyi may know.

Copy link
Collaborator Author

@tomholub tomholub left a comment

Choose a reason for hiding this comment

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

Looks good - will merge. Will file issues after that.

- bundle exec fastlane build_e2e
- mv /var/tmp/Debug-iphonesimulator/FlowCrypt.app ~/git/flowcrypt-ios/appium
- sem-version node 12 && npm install -g appium@1.22.0 && cd ~/git/flowcrypt-ios/appium && npm i
- npm run ios.smoke
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Should run all UI tests here, not just smoke, even if it's slow. At least it will force us to optimize / parallelize, in case. I'll file another issue.

@tomholub tomholub merged commit c5ff28b into master Oct 22, 2021
@tomholub tomholub deleted the feature/appium-semaphoreci branch October 22, 2021 20:09
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.

run appium tests in SemaphoreCI (or elsewhere)

3 participants