Skip to main content

Instant Booted iOS Simulators

Beta

The speed of the Simulator is a crucial factor that impacts the development workflow of iOS app developers. Instant booted iOS Simulators offer significant advantages over our default Simulators, as they reduce the time it takes to launch the Simulator to test apps to almost zero seconds.

With Instant Booted iOS Simulators, you can quickly switch between two iOS versions and test your app in four configurations to ensure its compatibility and performance.

Sauce Labs supports the following configurations:

  • iPhone 14 Simulator with the latest iOS 16.x version.
  • iPhone 13 Simulator with the latest iOS 15.x version.
  • iPad (10th generation) Simulator with the latest iOS 16.x version.
  • iPad (9th generation) Simulator with the latest iOS 15.x version.

These Simulator configurations can be used for manual and automated tests, allowing you to target specific devices and iOS versions for testing. This flexibility can help you optimize the testing process and improve the compatibility and performance of your apps.

What You'll Need

Accessing Instant Booted Simulators

There are two ways that you can access iOS Instant Booted Simulators

To ensure that your capabilities remain consistent and you always have access to an instant-booted iPhone or iPad, we introduced two aliases for the device names. These aliases are as follows:

  • iPhone Instant Simulator
  • iPad Instant Simulator

We also introduced iOS Version Management, see iOS Version Management, which add three new platform version aliases. These are

  • latest|current_major
  • previous_major

The combination of the device name and platform version alias will automatically allocate an Instant Booted Simulator for your manual or automated test.

caution

The alias iPhone Instant Simulator or iPad Instant Simulator will only work with the platform version aliases latest|current_major and previous_major. If you use the alias iPhone Instant Simulator or iPad Instant Simulator with a specific platform version, for example 16.2, then the test will fail with the following error message

Error: Failed to create session.
Invalid platform version specified for instant Simulators: iPhone Instant Simulator. Must be one of ['previous_major', 'current_major', 'latest']

There are two advantages of using the aliases

  1. Whenever Apple releases a new major version of iOS, they usually launch a new iPhone or iPad model. Sauce Labs assigns these models to the aliases iPhone Instant Simulator or iPad Instant Simulator, which means you can access the new device automatically without having to change your capabilities. Consequently, you'll be using the latest device for your tests and will be testing your app on what will most likely be the most popular device used by your users.

  2. If Apple releases a new minor or major iOS version and Sauce Labs incorporates it into their cloud, you'll get automatic access to the new version without having to alter your capabilities. This means that you'll be using the latest iOS version for your tests and will be testing your app on what is most likely the most popular iOS version used by your users.

info

The following examples use iOS 16 and 15 as the current and previous major versions of iOS, respectively.

Device NamePlatform VersionResultInstant BootedNote
iPhone Instant Simulatorlatest/current_majoriPhone 14 with 16.2The requested instant-booted device alias, requested OS version, and latest OS version installed in our cloud match. This means an instant-booted Simulator will be started.
iPad Instant Simulatorlatest/current_majoriPad (10th Generation) with 16.2
iPhone Instant Simulatorprevious_majoriPhone 13 with 15.5
iPad Instant Simulatorprevious_majoriPad (9th Generation) with 15.5
iPhone Instant SimulatorA fixed iOS version, for example, 16.2, or 15.5-The combination is invalid. The device name alias CAN ONLY be combined with platform version aliases
iPad Instant SimulatorA fixed iOS version, for example, 16.2, or 15.5-

Using explicit capabilities

You can use explicit capabilities to access the Instant Booted iOS Simulators. However, this is not recommended because you're more likely to end up on a normally booted simulator when Apple releases a new minor or major version of iOS. As a result, you won't automatically gain access to the latest device or iOS version for your tests, and you'll likely be testing your app on a less popular device or iOS version that is not commonly used by your users.

If you want to use explicit capabilities, then you can use the following combinations:

info

The following examples use iOS 16 and 15 as the current and previous major versions of iOS, respectively. The examples don't always reflect the actual versions of iOS that are supported by Sauce Labs and Apple on Simulators. See our Platform Configurator tool for the most up-to-date information.

Device NamePlatform VersionLatest version in SL CloudInstant BootedNote
  • iPhone 14 Simulator
  • iPad (10th Generation) Simulator
16.216.2The requested device name + OS version match with an Instant Booted configuration.
  • iPhone 13 Simulator
  • iPad (9th Generation) Simulator
15.515.5
iPhone 14 Simulator16.116.2The requested device name + OS version DO NOT match with an Instant Booted configuration.
iPhone 13 Simulator16.216.2The requested device name + OS version DO NOT match with an Instant Booted configuration.

Accessing Instant Booted iOS Simulator for Live Testing

To access the Instant Booted iOS Simulator follow the steps below, for this example we will use the iPhone 14 with the latest iOS 16.x version (current_major):

  1. On Sauce Labs click Live > Cross Browser > Mobile Virtual.

    instant booted menu
  2. Select “Apple” as the Manufacturer.

  3. If you want to use the current_major version, then use these values :

  • Select iPhone 14 Simulator for the Device.
  • Select the latest available version of iOS.
note

If you want to use the previous_major version, then use these values:

  • Select “iPhone 13 Simulator” for the Device
  • Select the previous major version, at the moment this is “iOS 15.5”, for the OS Version

Accessing Instant Booted iOS Simulator for Automated Testing with Appium

To use the Instant Booted Simulators, specify the following device configuration capabilities:

MutableCapabilities capabilities = new MutableCapabilities();

capabilities.setCapability("browserName", "safari");
capabilities.setCapability("platformName", "ios");
// Possible values: "latest", "current_major", "previous_major"
capabilities.setCapability("appium:platformVersion", "current_major");
capabilities.setCapability("appium:deviceName", "iPhone Instant Simulator");
capabilities.setCapability("appium:automationName", "xcuitest");

HashMap<String, Object> sauceOptions = new HashMap<String, Object>();
capabilities.setCapability("sauce:options", sauceOptions);

This will assign an instant-booted Simulator that represents the latest/current_major iOS version for the requested device by what both Apple has released and what Sauce Labs supports in our Simulator cloud. In the case of using previous_major platform version, it will represent the latest previous major iOS version for the requested device by what both Apple has released and what Sauce Labs supports in our Simulator cloud.

note

To use a different version of Appium, you can specify it through the sauce:options. Check our platform configurator to confirm which Appium versions are supported. Using a different version may result in additional 20 seconds of start-up time for your iPhone/iPad Instant Simulator.

FAQ

How can I validate that my session used an Instant Booted Simulator?

This can be done by:

  • Validating the session command time, which should be between 0-10 seconds. The video should start with a booted sim.
instant booted menu
  • Opening the Metadata tab, as Sauce Labs automatically add tags. If you are using “appium:deviceName”: “iPhone Instant Simulator” or “appium:deviceName”: “iPad Instant Simulator”, you should see the tag sl-instant-simulator. When you use the default Appium version, you will additionally see the sl-instant-simulator-with-matching-appium tag.
instant booted tags

I set up an Instant Booted Simulator, but it’s still taking a long time to boot.

There are a few reasons why this could happen.

All available Instant Booted Simulators are used

Instant Booted Simulators are subject to availability. We keep monitoring our pool of Instant Booted Simulators on a daily basis to determine the ideal number of Instant Booted Simulators to keep available. In case all available Instant Booted Simulators are used then your session will fall back to the default way of starting a Simulator.

Appium restarted the Simulator due to specific capabilities that you provided.

To check this, follow the steps below:

  1. Go to Automated > Test Results.
  2. Open your session.
  3. Check the first 15 seconds of the video. If you see that the Simulator was already started from the first second, or the restart of the video happens in the first 15 seconds, it means that Appium rebooted the Simulator. See the video below for more information:

A common cause could be that you have provided a capability “appium:language” or “appium:locale” to change the language of the app or Simulator.

The Instant Booted Simulators use default English settings. Every change you make to it by providing different capabilities will trigger Appium to restart the Simulator.