[Need suggestions] iOS device grid with Appium


So i’ve been recently working with docker out of curiosity, So far it’s fun stuff. My motto was to run iOS device grid over it. So far i wasn’t able find an OSX image so i can start it at a container inside docker.
Then I found one with vagrant here.

My approach-

  1. Start a selenium grid on host.

  2. Start the vagrant (host connected usb device access seem not to be working without it)

  3. Get multiple OSX box and spin those an Appium node with the node config shared from host.(So each box get own config)

  4. Run the automation script from host.


Get docker OSX container and try to do same as above.

Any one already tried this approach or have any info/suggestion ???
@Hassan_Radi@SergeyTichomirov@banthia @amitjaincoer191 @Priyank_Shah @VikramSilk @fthamura @sameer49

P.S. Spinning more than 2 OSX VM on apple h/w or running OSX on non apple h/w is violation of Apple’s term. :wink:

1 Like

With docker, you cannot do this since OS X does not support docker at least for now.

If you want to setup grid for iOS testing, then you will need OS X VM cloud, which is not easy to setup on your own. There are some services such as http://www.macstadium.com which provide this. Also, there is a licensing problem with OS X VM as it is not free.

Yes, There is no docker container with OSX,
Setting OSX VM cloud locally will be too much overhead so, i’ll prefer cloud provider for that.

However as Apple EULA states that we can have two VM’s on a mac hardware. That mean i can have 3 iOS device on single machine ( we still have to consider the resource available while running vm’s). If it works i guess it’s a good start before moving to cloud.

Yes, I’ve tried this myself for a proof of concept (POC). We haven’t deployed it for actual use due to lack of funding and need at the moment. I used the manual setup approach for the VMs rather than via vagrant, so it’s not fully automated for the configuration aspect, since I was just doing a POC. It works ok in the POC.

Sad that we have to resort to this approach due to XCode’s limitation of only being able to handle one physical device at a time.

I am trying to use Docker for iOS app testing with appium and Java. Can you suggest steps involved.

Thank you,

@mmurali You will need and mac machine if you are automating app on iOS simulator. Appium can now run automated test on multiple simulator, because apple removed the limitation. Approach discussed in this tread was to overcome the limitation which is no longer needed.

You should be able to run 5 simulators on a Mac with 16 GB of RAM (last time I checked)

There is no solution to run simulator inside docker, AFIK.

We can automate for ios real devices using docker by giving privilage to docker with usbmuxd which gets access to usb connected ios devices.