Appium-Bitrise Integration
One important aspect of Automated Testing is to be confident that newly introduced features and fixes don’t break previous ones, Appium End to End Testing is one way to do that for React native Apps, combine that with your CI/CD pipeline and you got yourself a more robust app with fewer cards coming back from QA😬
In case you are new to Appium and want to set it up into your project check out this article
One way to integrate Appium with Bitrise is to use browser stack as device provider which is a recommended way as you will be able to know how the app behaves on a real device, plus its much faster to setup and test, but this might come in a another article, for now we are going to check how we can run the tests on virtual device on the Bitrise machine thats running your workflow, which could be a good replacement in the case your team doesn’t want to use solutions like browser stack, or as a backup if browser stack is down and you don’t want to delay your production push waiting for it
So without further a do lets see how can you integrate Appium with Bitrise for android
- We run the android virtual machine and set device profile and api level
ex:
Device profile: pixel
android API level: 26 - Clone your repo, Bitrise default configuration works, but if you have special configuration, you can add it
- Install the project node modules
ex: yarn / npm install - Build and sign your app, remember to set the build type to apk as appium doesn’t support app bundles in the basic configuration
- Add this script to the script content input
#!/bin/bashset -exsudo npm install -g appiumappium --vappium &>/dev/null &
This would install Appium on your Bitrise machine and run it on port :4723
6. Make sure the android emulator you started earlier is up and running
7. Run your test command
ex: yarn test/ npm run test
Remember to set the app path of your Appium Android configuration to the Bitrise APK output within your code: proccess.env.BITRISE_APK_PATH
8. If the tests succeed you can deploy the app to the play store 🎉
Thats it you are all done, I hope this was helpful and please reach out to me in case you have any questions.