Repeato
  • Features
  • Pricing
  • Blog
  • About us
  • Get for free
  • Getting started
  • Running test batches
  • Reporting
  • Test exception handling
  • Test workspaces
  • Advanced testing techniques
  • JavaScript API
  • Virtual Test Devices
  • Share tests within the team
  • Continuous Integration Support

Virtual Test Devices

What is a Virtual Test Device?

In contrast to a physical device, a virtual testing device is a piece of computer software that simulates most of the key elements of a genuine smartphone. Because it closely resembles a smartphone, testers can use it to test software applications and gain a sense of how they will function on the chosen real device.

Although virtual testing devices can replicate genuine devices and are economical, real devices cannot be replaced because of accuracy and reliability issues.

Virtual testing tools come in two varieties:

  1. Emulators
  2. Simulators

Why Should I Use a Virtual Device for Testing?

Testing on physical devices is the best you can do when you need to test hardware features such as the camera or GPS.

However, virtual devices have their benefits too:

  • No cables, plugging, unplugging, and issues with empty batteries
  • Easier to bring them along, no extra weight
  • Much cheaper
  • Best for running test automation: If you are planning to run your tests in the cloud, it’s best to use the same device locally AND remotely.
    Since usually, you don’t have access to physical devices in the cloud (unless you run your own server with plugged real devices), it’s best to also create your tests via a virtual device.

What is the Difference Between an Emulator and a Simulator?

The difference is quite theoretical and is not really relevant for testing. However, it’s good to know is that the standard virtual device for Android is an emulator, whereas the standard virtual device for iOS is often referred to as “Simulator”.
On a more theoretical subject:
Binary translation makes emulators slower due to latency. Simulators are faster as there is no binary translation.

How to Install an Android Emulator on My Machine?

The easiest way to get this done is to download Android Studio and then use it to download, configure and launch your AVDs (=”Android Virtual Device”). If you want to save disk-space, or you prefer to use the command line, there is also another (slightly more complicated) way to install emulators without Android Studio.

The easiest way to create your virtual device however is this:

  1.  Download Android Studio
  2. Start it
  3. There is no need to create a new project. You can use start the AVD-Manager directly:
  4. Create virtual devices by clicking on “Create device”android virtual device list
  5. Launch emulator by clicking on the green “play icon” in the respective row
  6. Repeato will automatically detect the emulator (as soon as it’s started) and list it as available testing device

If you run into issues: Please consult the original documentation on managing AVDs.

 

How to Install an iOS Simulator on My Machine?

Be aware: iOS Simulators are only available for Mac OS users. Why? Because Xcode is only available for Mac OS.

  1. Install Xcode:
    Search for Xcode in the Mac App Store, then click Install (or update if you have it already). Your operating system may be out of date if you are unable to upgrade. To be on the save side it’s best to install the most recent version of your operating system, followed by an update to Xcode.
  2. Install command line tools:
    Start Xcode, then choose Preferences… from the Xcode menu (or press Cmd ⌘ + “,”). Go to the Locations panel and install the tools by selecting the most recent version in the Command Line Tools dropdown.
  3. Start the simulator:
    Even without opening the source code of your app, it’s simple to start the Simulator via Xcode:
    Start simulator via Xcode for test automation

 

What Are the Differences Between Real Devices and iOS Simulators When it Comes to Testing?

Performance testing on simulators:

For performance testing processing, graphics, or networking, tests must be run on actual hardware: Simulator is a Mac application that utilizes the CPU, memory, and network connection of the desktop machine. The performance, memory use, and networking speed of an iOS app can therefore not be accurately tested using the simulator. Results from Simulator performance testing should only be used to compare relative variations in app functionality.

When results from the real world are needed, user testing should be conducted on actual hardware

Test automation on simulators:

Test automation on physical iOS devices is much more limited than on the Simulator. This is due to the security constraints implemented by Apple. A variety of things such as clicking system dialogs is simply not possible on physical iOS devices. That’s why on iOS we strongly suggest using the Simulator to automate your app.

User experience testing on simulators:

  • When utilizing a pointer and keyboard, users interact differently than when using their fingers on iOS, watchOS, or tvOS, or when using the focus-based model.
  • Simulator suspends background apps and processes on iOS 11 and later, tvOS 11 and later, and watchOS 4 and later, however the suspended process can be resumed by the debugger.

Testing of graphics and UI on simulators:

  • There may be a difference between the device’s and the Mac’s resolution, or pixels per point. Font and images as a result, particularly with smaller text, can appear jagged.
  • Text and graphics may appear crisper when the simulator window is scaled up.
  • The Mac screen’s color gamut can vary, which can lead to incorrect colors.

Testing of hardware-specific features:

The following hardware is not supported in Simulator:

  • Ambient light sensor
  • Audio input, except for using Siri by choosing Hardware > Siri.
  • Barometer
  • Bluetooth
  • Camera
  • Motion support (accelerometer and gyroscope)
  • Proximity sensor

 

Repeato

  • Home
  • Pricing
  • Blog
  • FAQ
  • About us

Documentation

  • Getting started
  • Test exception handling
  • Advanced testing techniques
  • JavaScript API
  • Release notes

Support

  • Contact
  • Documentation
  • Book a demo

Legal

  • Imprint
  • Terms & Conditions
  • Privacy policy
Repeato Reviews