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?
Related
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
The iOS simulador that installs with Xcode is a VM or a emulator like Android does?
It's neither a Virtual Machine nor an Emulator. It's a simulator, in another words it's a standard mac application which mimic the behaviour of iOS devices. It mimics most of the features of an actual devices, but lacks some major features. So you need to use a real device for testing some of the real world scenarios.
You can read more about simulators here : About Simulator
I would like to quote some key information from the above linked page:
What is Simulator
Simulator allows you to rapidly prototype and test builds of your app
during the development process. Installed as part of the Xcode tools,
Simulator runs on your Mac and behaves like a standard Mac app while
simulating an iPhone, iPad, Apple Watch, or Apple TV environment.
Think of the simulator as a preliminary testing tool to use before
testing your app on an actual device.
Need of actual device for Testing
Simulator is a useful tool, but it should not be the only way you test
an app. Because the simulator is an app running on a Mac, it has
access to the computer’s resources, including the CPU, memory, and
network connection. All of these resources are likely to be faster
than those found on a mobile device. As a result, the simulator is not
an accurate test of an app’s performance, memory usage, and networking
speed. For this same reason, always test the performance of your app’s
user interface on a device. In Simulator, your app’s user interface
may appear to run both faster and smoother than on a device.
Also keep in mind that some user interface elements can be easier to
interact with in Simulator using a mouse than when trying to interact
with the app through touch on a device.
Finally, there are some hardware and API differences in Simulator.
These differences may affect your app when testing in Simulator.
So I am currently building my first iOS iPhone App which I plan to launch in the coming months. I have now finished my app but I don't have a big budget so testing on multiple devices is difficult. I already have an iPad so I assume that could run an iPhone version just to check that all the code is working. If I know that the code can run on an actual iOS device (the iPad) will the simulator suffice for the rest of testing would you think? I do plan to use test flight later on in the project too.
you could launch your app on your iPad with iphone mode. Just select option 'iPohne' as on screenshot below
Using simulator gives you some restrictions. For examle, you can not test full process of in-app purchase, location, ads, etc. So, if you are using some of this features for your specific platoform, it's better to test it on the actual device
It is possible to test multiple IOS devices with OSX Server and Xcode Server.
https://developer.apple.com/videos/wwdc/2014/
Continuous Integration with Xcode 6
I hope I have understood the problem correctly.
The Problem with test multiple IOS devices is. That instruments can run only one device at a time.
With XCode Server it should bepossible to run more then one device at the same time.
Has anyone tried this?
Can Appium handle multiple sessions out of the box or Appium changes are required?
https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/xcode_guide-continuous_integration/000-About_Continuous_Integration/about_continuous_integration.html#//apple_ref/doc/uid/TP400132921
I am making an application, and I have an iPhone 4s and iPad, but don't have an iPhone 5.
Now, the problem is I can test the UI without an iPhone5, but how can I check the functionality in iPhone 5 and higher versions of it.
How should I test this?
Depends on your budget... you could use Xamarin Test Cloud, or Perfecto Mobile to test on real devices.
Alternatively you could consider asking some real users to beta test it for you.
If you do this, Test Flight or Diawi (very simple to use) are good platforms.
1) install the stimulator in your mac machine
2) use https://www.testflightapp.com/ and invite some tester to help you do testing in iphone 5 devices.
3) if you are having a html5 based app you can test it here http://iphone5simulator.com/