Run tests on different devices using Appium in parallel mode - appium

So, is it possible to run one test on different devices with different OS (on android and ios) using one Appium server instance? Or I need to up different Appium instances on different ports?
I can't found any information about devices that work on different systems, only for the same one (f.e. 2 android devices or 2 ios).
Thanks!

Related

How to set different proxies for multiple iPhone simulators on same Mac machine?

I need to set different proxies for multiple iPhone simulators on the same mac machine, because I need to test an app on multiple simulators at the same time and track their network requests separately.
For the android app, above requirement can be easily met by android emulator + adb tool.
But for the iOS app, iPhone simulator share same network settings of the mac OS, only one proxy can be set.
NOTE: It's the same app running on different simulators. If using same proxy, it's hard to know which simulator the requests come from.
Is there any solution to set different proxies for multiple iPhone simulators?
thanks.

Use a remote iOS device for testing

I want to run my UITests on iOS devices which are connected to a remote host. To put it differently:
I have a Mac mini (MM1) in my parent's house (for example), which is connected to the internet.
I have 3 devices at home, all connected to another Mac mini (MM2).
I would like to run some UITests on MM1 (I assume this will have to be done using xcodebuild in terminal, on my 3 devices in MM2.
I have come across idb (https://fbidb.io) and WebDriverAgent (which is the predecessor to idb).
I assume (and could be wrong) that IF I can expose the remote device as a local device (similar to using commands such as xcrun xctrace list devices), this could work.
There's a company doing this (BrowserStack), but they're quite expensive, and I'd like to be able to 1) control and own my own devices (privacy and data) 2) Learn how this is done :)
Any help in this would be greatly welcome. Thanks in advance.

so if we need to setup an auto tests (Appium) of an iPhone app from our Win 10 setup - what are all of our options?

for Android - we just run the emulator and hook them up
but for iPhone what are our options?
can we also run some iPhone emulator?
or hook up an actual iPhone via USB?
or have our code connect to virtual (or real) MacOS that has an iPhone emulator (connected to by Appium)
or for that matter/similar to above - connect to a 3rd party service that will serve up an emulation for us to test? what are the best services?
are these all the options?
thank you ...
There is no difference from such point of view between android and iOS.
Yes, you can basically use all of the options.
The most simple way is to run emulator on your machine and test it. If you have such resources, you can test on real devices (the best way). Since you can run iPhone emulator even on Windows there is no need to run emulator on MAC.
Regarding 3rd party services, there is an AWS farm that uses real mobile devices, but i have never tried it, i think it is the most expensive way

Possible to Run iOS Apps on PC

Is it possible to run iOS Apps DIRECTLY on Mac OS? What about Windows? Or do you always have to use a virtual machine? I searched around and all I found was people saying you need to use a virtual machine. Reason for this: I want to automate behavior on an app on my iphone, and I think that will be much faster on my PC.
The iOS SDK accesses the hardware of the iPhone/iPad. It's very specific hardware which is not available on any other device.
The CPU is different, the display, device buttons, sensors and phone specific stuff...
The simulator simulates all this hardware, still it needs a different compile and can not execute the iOS bundle as it does not simulate the Arm CPU architecture.
That said, it does not make much sense to do automated test on another platform than the target platform, as the app might have slightly different errors and behavior.

Test iOS devices up against each other

I am planning to do some calabash testing using more than one IOS device. I want to run the tests on a mac mini, however I am not certain if it is possible to run and test more than one device using only a single mac mini. The reason I am asking this is that I have to test two or more devices up against each other. Do anyone know?

Resources