How to run appium cross-platform UI tests on CI


I’ve been doing appium for few weeks and I have quite sophisticated question, so I really need a professional suggestion from you guys.

Basically my task is to write cross-platform mobile UI tests, then build the latest version of my mobile app (iOS, Android) using CI (Jenkins, Bamboo) and after that run my tests as a part of this CI.

The problem is that I’m working under Windows (i don’t like Mac) and as far as I’ve heard, the only way to run iOS tests under it using Selenium Grid with nodeconfig (How to use the Remote server functionality?). We have free Macs in our company, so is it painful and robust doing such things on Windows or should I like Mac, configure some CI on it and start developing and running cross-platform mobile tests easily? :smile:


Hi Alex,

Yes, a Mac is needed to test iOS devices however you can just have a Appium server running on the Mac which AppiumDriver (RemoteWebDriver abstract) will interact with. The actual test assembly can be executed on whichever system you like (dependent on the Appium client of course).

Selenium Grid isn’t required if you are willing to specify each of the servers you will be connecting to for your tests. That being said, I would recommend having your servers set up as part of a grid if you want your test server to be accessed by other teams in your organization as grid gives an interface that can be used to see what test devices are available.

My current configuration is 2 Appium servers running on my Mac (one server for iOS devices+simulators, the other for Android), which register with our grid server and tests are executed on (Jenkins > MSBuild > MSTest > test assembly > Selenium Grid > Appium Server).

Hopefully what I just wrote can be of some help.



@Simon_, thanks a lot!

Thanks! that helped :slight_smile: