Limitations

Applies to TestComplete 15.20, last modified on January 19, 2022

In TestComplete starting from version 14.40, you can create cross-platform web tests. You use them to check how your web application or a website performs in web browsers and on platforms and devices that TestComplete does not support directly, for example, Safari, Linux, Mac OS, and so on.

However, these cross-platform web tests have several limitations in comparison to web tests that implement the classic approach:

  • Running tests for CEF and Electron applications in remote environments is not supported.

  • Unlike classic web tests, in cross-platform web tests, TestComplete does not provide any special script objects for third-party web controls (for example, DevExpress, Flash, jQuery UI, or Sencha Ext JS). It provides extended support for standard web controls only. See About Cross-Platform Web Tests - Supported Controls.

  • The Object Spy does not support locating objects in the Object Browser. When you click Highlight in Object Tree in the Object Spy, TestComplete will switch to the Object Browser and show the selected object’s properties and methods, however, it will not locate the object in the Object Tree.

  • In cross-platform web tests, you can access native attributes, properties, and methods of your tested web page and run JavaScript expressions on the page. However, you can only access properties and methods and run scripts that return simple type data (integers, strings, and Booleans). If a property, method, or script expression returns a value of a complex type, for example, an object or a collection, TestComplete will represent it as a string.

  • Test Visualizer never collects information on internal properties of tested objects whose images it captures.

  • When your tested web application is running in a remote environment, its appearance may differ from the one it has on your local desktop computer. For example, when running in a remote mobile environment, your web application may use the hamburger menu not available on your local desktop computer. In addition, the test engine cannot access your tested web application in remote environments via the Object Browser and Object Spy. All this may affect the way you debug your tests when you encounter 'Object Not Found' errors.

    Typically, these errors occur when the object specified by the search expression in your test does not actually exist on the tested web page. Because you cannot check whether the object exists in the application by picking it with the Object Spy or by examining the application screenshots, you have to check the web page’s source code manually. To do this, you can, for example, configure your project to post the entire web page source code to the test log to examine it later:

    1. Add a handler for the OnLogError event to your project. See Creating Event Handlers for TestComplete Events.

    2. Configure the event handler to post the page’s source code to the test log. To get the page’s source code, you can use the following expressions:

      Sys.Browser().Page("*").contentDocument.Script.eval("document.documentElement.outerHTML")

      To get the source code of an individual web page element, you can use the following expression:

      Sys.Browser().Page("*").FindElement(".container-wrap").outerHTML

      Note: Do not use the Log.Error method within the OnLogError handler.

    Examine your tested web page source code to learn if the problematic object actually exists.

See Also

About Cross-Platform Web Tests
Known Issues

Highlight search results