# Cross Browser and Device Testing

Virtuoso supports testing across a range of platforms, browsers and devices.

These configurations can be used through the Execute advanced in the goal's context menu by toggling Cross browser execution, or by creating a plan and adding device configurations (see Creating a plan).

# Cross browser screenshots

When observing screenshots using different browsers, it is important to note that minor differences often exist. For instance, when viewing a screenshot taken in Chrome, the scroll bar will be included, and the dimensions of the screenshot will be equal to the requested screen size for the executed goal. However, with Firefox, the scroll bar is not included, and the screenshot will be slightly smaller than the requested screen size by the amount of pixels equaling the width of the scroll bar.

It is important to note that whilst the image is indeed smaller than the requested size, the actual contents are exactly the same as what a user would see. A scroll bar would be on the right hand side of the image, and the elements on the page would appear identical to that observed in the execution screenshot.

The maximum resolutions supported by Virtuoso differ per platform:

  • Windows: 2048x1536
  • Mac OSX: 1600x1200, 1920x1080

The supported resolutions of mobile devices corresponds to the specifications of the physical device.

NOTE: Virtuoso may automatically resize to the maximum resolutions stated above if it is unable to set the screen-size to the size provided on the request.

# Limitations, best practices, and differences to Virtuoso browser

Cross-browser and real-device testing on Virtuoso operates outside the Virtuoso cloud, and so the browsers have fundamental differences to the main Virtuoso browser. All cross-browser and real device executions run on corresponding physical devices (not virtual ones).

Therefore, you should be aware of the limitations and different characteristics of these browsers:

  • Real devices do not support virtual camera.
  • Real devices take screenshots that include the device's physical layout (e.g., the iPhone hardware is visible in the frame).
  • Real devices do not support custom/full-size screenshots (screenshots are only limited to viewport of the device). If you wish to see a specific part of the page, you can use the scroll or see commands.
  • Disabling enforcing same-origin policy (CORS) on cross-browser is only supported by desktop Chrome devices.
  • Network and console logs are not supported on cross-browser/platform executions.
  • Cross-browser/device tests do not scale the same way as Virtuoso tests do, and also can run significantly slower than Virtuoso tests.
  • Element highlighting is not available on mobile devices, and few desktop browsers such as IE.
  • Some advanced features such as single-click-to-fix are not available on cross-browser environments.
  • Downloading files is not supported on cross-browser/platform executions.
  • Upload is not supported (due to browser limitations) in the following environments:
    • Edge 15;
    • All Safari versions below 11.1;
    • Mobile devices.
  • Native alerts can cause the remote session to become unresponsive for iOS devices.
  • Dismissing alerts is not supported by some Android devices (e.g. Android 8.0 and older, and Android 11.0 on LambdaTest), iOS 15+, and older desktop browsers (e.g. Chrome 48.0 and older, Firefox 54.0 and older, and Safari 12.0).
  • mouse & press commands are not supported by most iOS devices and some Android devices (e.g. Android 8.0 and older, and Android 11.0 on LambdaTest).
  • mouse commands do not function on Safari 14+.
  • Drag and drop is not supported (and may cause crashes) on most browsers.
  • click commands can fail to interact with some elements on Safari 13+. We suggest running executions on Safari 11 or 12 instead.
  • PDF operations are unsupported for most browsers & devices, but may work for Android 9.0 and later on BrowserStack.
  • iFrame switching is unsupported for older desktop browsers (e.g. Chrome 48.0 and older, Firefox 49.0 and older), Android 8.0 and older, and all iOS versions.
  • Relative element selection may select the incorrect element in older desktop browsers (e.g. Chrome 65.0 and older, Firefox 59 and older).
  • write commands with "replace text on target input field" enabled do not correctly replace the input field's contents on iOS devices.
  • write commands do not correctly replace or append text on Safari 14+.
  • write, pick and other element interaction commands on iOS are performed via JavaScript (due to how the browser driver operates). So, you may notice discrepancies, especially in reactive frameworks. However, if you face this specific problem, please contact our customer success team who can help with a solution we have developed.
  • Mobile devices do not support window resizing.
  • Mobile devices support both portrait and landscape orientations. Portrait is used by default.
  • Opening a page in a new tab does not automatically switch the tab for some browsers (e.g. Firefox 96.0), unlike the Virtuoso browser.

    TIP

    If you encounter a problem due to inconsistencies in tab opening behaviour between browsers, try using switch to tab <index> to ensure that the correct tab is selected.

  • Closing tabs via JavaScript may behave incorrectly on Safari 14+ and iOS 14+.
  • Tab switching is not supported on iOS 14+.
  • Self-signed certificates: Not supported on mobile devices (in some cases on iOS mobile devices, it can be worked around; contact support for assistance)

# Supported cross-browser grids

You can use your own account for the following grid providers:

  • BrowserStack
  • LambdaTest

Changing organization settings details how to use a custom cross-browser grid.

# Supported browsers and devices

Mobile device browser support

The browser used for tests on mobile devices is decided by the grid provider (BrowserStack or LambdaTest).

In this case, the default browser for Android is Chrome, and for iOS, it is Safari. The browser version will depend on the specific device chosen.

Edge compatibility mode not supported in Virtuoso

The Edge devices listed below run the browser in the normal mode without the compatibility mode.

Compatibility mode is when Edge uses the Internet Explorer engine instead, and it's planned for deprecation in the coming years by Microsoft. Read more about it here.

BrowserStack
LambdaTest
Last Updated: 7/25/2024, 9:01:57 AM