Possible Issues With Web Testing

Applies to TestComplete 14.71, last modified on April 22, 2021

This topic contains known issues that may affect your web applications testing in TestComplete 14.71.

Edge

  • Starting with October 2018 Update of Windows 10, the Edge web browser process is not terminated when you close the browser, it remains in the system. As a result, the following issues may occur in your tests:

    • When you access the current web browser in your system by using the Sys.Browser or Sys.WaitBrowser method, it may return the suspended Edge instance.

    • The Edge browser may fail to navigate to the needed web page and will show an empty page instead.

    To avoid possible issues, we recommend that you close all existing instances of Edge before running your web tests. To do this, you can use the following script:

    JavaScript, JScript

    var edgeBrowser = Sys.WaitBrowser("Edge");
    if (edgeBrowser.Exists)
      edgeBrowser.Close();

    Python

    edgeBrowser = Sys.WaitBrowser("Edge")
    if (edgeBrowser.Exists):
      edgeBrowser.Close()

    VBScript

    Set edgeBrowser = Sys.WaitBrowser("Edge")
    If edgeBrowser.Exists Then
      edgeBrowser.Close
    End If

    DelphiScript

    var edgeBrowser;

    edgeBrowser := Sys.WaitBrowser('Edge');
    if edgeBrowser.Exists then
      edgeBrowser.Close;

    C#Script

    var edgeBrowser = Sys["WaitBrowser"]("Edge");
    if (edgeBrowser["Exists"])
      edgeBrowser["Close"]();

    To run it before running your web tests, you can add it to the OnStartTest event handler in your project.

  • If you run TestComplete with the Compatibility > Run this program as an administrator option enabled in the file properties, TestComplete cannot recognize the Edge browser. To avoid the issue, use the Advanced > Run as administrator file option instead, or run TestComplete using the regular Run as administrator command.

  • Recording tests in Edge can be slow. We recommend that you record tests in another browser. You can then change the recorded tests to use Edge or make the tests cross-browser.

  • TestComplete cannot get page contents if the Content-Security-Policy response header is set to unsafe-inline. To avoid this problem, do not use the Content-Security-Policy header in your tested application or use another browser for testing.

  • TestComplete cannot simulate keyboard input in Input Method Editors (IMEs) in Edge.

  • TestComplete may calculate object coordinates in Edge incorrectly after you add or hide toolbars in Edge (such as Favorites). To avoid the issue, restart Edge after adding or hiding its toolbars.

Internet Explorer

  • TestComplete may record an extra ClickItem action when reselecting items in Select controls. To speed up your tests, remove extra actions.

  • When simulating the Keys method in Internet Explorer, TestComplete may skip some of the characters to enter.

Chrome

  • Starting from Chrome 69, you may face issues when recording and simulating user actions on the Open File and Save File dialogs opened from Chrome. This happens because the ThirdPartyBlockingEnabled security policy of Chrome is enabled by default. It prevents third-party modules from injecting into Chrome processes, which makes it difficult for TestComplete testing modules to recognize these dialogs.

    To avoid possible issues, disable the policy:

    1. On your computer, open the Registry editor. To do this, click the Start or Windows button, click Run, type regedit, and press Enter.

    2. In the Registry editor, locate the following key:

      Software\Policies\Google\Chrome

      If this key does not exist, create it.

    3. Make sure the ThirdPartyBlockingEnabled value of the key is set to false (0).

      If the value does not exist, create the DWORD value ThirdPartyBlockingEnabled and set it to 0.

    If your Google Chrome browser settings are managed via group policies, ask your system administrator to update the policies to disable the ThirdPartyBlockingEnabled policy.

    To learn more about policies, see chromium.org/administrators/policy-list-3.

  • If Chrome cannot verify an SSL certificate provided by the tested web site, it shows the "Your connection is not private" error message page. Due to the specifics of implementation of this message in Chrome, TestComplete cannot interact with this page. It cannot access the internal objects of the message, so it will not record any actions you perform over it in Chrome.

  • If script injection is restricted by the Content Security Policy (CSP) in your tested web application, TestComplete will not be able to access internal objects of the application.

    To be able to create tests for such applications, you need to disable the policy that restricts script injection. To do that, remove the Content-Security-Policy header from your application pages.

    Create a separate test build of your application with the policy disabled, for testing purpose only. Do not deploy your application with the policy disabled, as it may impair your application security.

    You can find more information about CSP and on how to work with it at:

    developer.mozilla.org/en-US/docs/Web/HTTP/CSP

  • TestComplete cannot work with Chrome in Windows XP and Windows Server 2003.

  • After you change the options of the SmartBear Test Extension in Chrome, you need to restart Chrome. Otherwise, TestComplete will not be able to access web pages in Chrome.

  • If you are signed in to multiple Google accounts in Chrome, TestComplete tracks the actions you perform for all accounts, but it cannot determine for which account you are performing certain action. As a result, TestComplete records multiple instances of the actions you perform in Chrome during test recording.

    To avoid the issue, you can do any of the following:

    • Sign out of all accounts except for the one you will use for testing.

    — or —

  • If you face playback performance problems when testing web pages with a large number of objects, use the --disable-renderer-accessibility command-line argument. It can improve web testing performance because it disables creating MSAA/UIA web page objects.

Firefox

Recent versions of Firefox support working in multiprocess mode. In this mode, Firefox creates several processes in the operating system. Depending on the Firefox configuration, this may cause a number of issues for the test engine:

  • TestComplete may fail to detect web dialogs like Alert, Confirm, Prompt and Login. These dialogs will be absent from the object tree of the Object Browser, and TestComplete will not record user actions on them.

  • TestComplete may fail to detect the browser’s active page correctly.

  • TestComplete may freeze when simulating user actions on a Flash or Flex application running in Firefox.

To avoid these issues, disable the multiprocess mode in Firefox.

See Also

Default Web Testing
Preparing Web Browsers
Requirements for Web Testing

Highlight search results