Calabash-ios - Put the device is Airplane Mode

322 views Asked by At

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

1

There are 1 answers

0
jmoody On BEST ANSWER

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.