Is there any way to interact with an iPhone's settings when testing a device using calabash-ios?
Using calabash for Android (calabash-android) I can make system calls in my step-definitions using adb, Android Device Bridge. For example: system(adb shell am broadcast -a android.intent.action.AIRPLANE_MODE)
This will make a call right into the Android OS.
I don't want to have to manually set up a device and then run tests. I would like to automate it. Is this possible?
Examples: I want to see if all my tests pass with airplane mode on. Then I would like to programmatically set airplane mode to off and see if all my tests pass. I would prefer not to have to change a setting like this manually and then run all tests.
Thanks
It is not possible to put your device into Airplane mode with Calabash iOS.
You could write a backdoor method in your app that simulates Airplane mode.
Be aware however, that Calabash iOS embeds an http server in your application; that is how the client gem communicates with your app.
http://calabashapi.xamarin.com/ios/Calabash/Cucumber/Core.html#backdoor-instance_method
The Xamarin Test Cloud has some options for testing apps in Airplane mode.