Automating Appium Cucumber Tests With Bamboo

Hi All,

First of all, I’m new to Appium and have been using it for the past few weeks on current engagement.

I’ve created Cucumber BDD Tests in IntelliJ with Appium for testing Android and iOS devices. My IntelliJ project is a maven project and is held in Stash currently. The tests are working fine locally using an emulator, however my next step is to automate these tests through Bamboo.

Does anyone within this forum have any experience doing this? Or have any idea as to how I would go about this? I’m trying to understand how I would run these tests through CI if I’m using an emulator. Also I’m trying to work out how to run an Cucumber Appium project at all in Bamboo!

It would be much appreciated if anyone had any answers or suggestions at least.

Thank you,

Kash

hey there,

I’m using Appium with Cucumber.
Our iOS and Android apps under tests are set up as Bamboo projects and contain the proper artifacts.

Before the appium tests begin, we have a Rake subtask fetch_latest build. This
a. checks Bamboo if our current .ipa/apk is the latest
b. if it’s not the latest go download it
c. install the build.

Let me know if this matches up with what you need and any other follow up questions you may have and we can take it from there.

Thanks!

Hi Shermaneric,

Thanks for your reply - great to hear someone else is using Bamboo for their Appium tests.

Currently we manually retrieve the latest build for .ipa/apk files and store them in the resources folder within the IntelliJ project (In future we would look towards storing the builds in Nexus although it is not set up yet).

How are you running your Appium tests in Bamboo? Are you using a remote agent to hold the emulators or is there another way of doing it?

Cheers!

Right on!
I may slightly burst your bubble here.
While our apps under test are built in bamboo, the appium ci we currently have is based on the Jenkins appium boot camp setup.

For ci, I’m using real devices exclusively. It’s a dedicated Mac mini whose job is to:
Check nightly for new artifacts using a bamboo rest api.
After downloading the new artifacts, Jenkins calls a local script to start up appium, then initialize the proper rake task.

Sorry if it’s not what you wanted. The same setup should be possible with bamboo. I would investigate setting up a trigger after a successful iOS or android build, or alternatively running something nightly.

I looked briefly at this thread and thought it could be useful. I’m sure with bamboos rich Api access, you’ll get something to work.

Thread below. Good luck!
Eric

Ps. If your heart is set on doing emulators, I would leverage sauce labs’ infrastructure as they handle spinning up the emulators you need