In TestComplete 14.40, you can create cross-platform web tests. These tests are created on a local computer and then run in multiple remote environments in device clouds. When running your web tests in remote environments, you may encounter the following issues:
-
TestComplete may fail to access the CrossBrowserTesting.com device cloud when connecting to it from a computer running under the Windows 7 operating system. This can happen if the Windows update that sets TLS as the default security protocol is not installed on that computer. To resolve the issue, install the update. You can find information on the update and instructions on how to install it at support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi.
-
When recording cross-platform web tests in Internet Explorer, you may face various issues. We do not recommend that you use Internet Explorer to record cross-platform tests. You can record tests in any other supported web browser (it does not matter which one it will be as the resulting test will be browser-independent).
-
In Internet Explorer, TestComplete may fail to simulate clicks that do not rely on coordinates. To avoid possible issues, you can do the following:
-
Simulate coordinate-based clicks. In your tests, call click methods (Click, DblClick, and others) with parameters that specify the click target coordinates.
-
Enable Visualizer during the test run. See Enabling and Disabling Test Visualizer.
-
-
In the mobile version of Safari, TestComplete may fail to simulate coordinate-based clicks. To avoid possible issues, you can do the following:
-
Simulate clicks without specifying the target coordinates. In this case, TestComplete will simulate the action at the center of the target control. To learn more, see the appropriate click method description.
-
Run your test in another web browser.
-
-
On images captured by Test Visualizer in iOS Safari, the red frame highlighting the tested object may be misplaced.
-
In Chrome, on Android devices, your tests may fail to simulate coordinate-based clicks. To avoid possible issues, you can do the following:
-
Simulate clicks without specifying the target coordinates. In this case, TestComplete will simulate the action in the center of the target control. To learn more, see the appropriate click method description.
-
Run your test in another web browser or on another mobile device.
Note: Starting from TestComplete version 14.91, click actions over
canvas
objects are recorded as coordinate-based. -
-
In Chrome, on Android devices, your tests may simulate non-coordinate-based clicks at an incorrect target point. If you face such an issue, you may do the following:
-
Run your test in another web browser or on another mobile device.
-
Specify the coordinates at which the click is to be simulated explicitly. This is not recommended as clicks at specific coordinates may fail in Chrome on some Android devices (see above).
-
-
When running tests in headless Chrome in remote environments, TestComplete cannot maximize the browser window. Both the
BrowserWindow.Maximize
method and launching the browser with the--start-maximized
command line will be ineffective. This may cause your tests to fail to simulate user actions over controls that are not visible in the browser window.To avoid possible problems, you can use the
goog:chromeOptions
capability to set the web browser window size explicitly by using the--window-size
command-line parameter. For example:var capabilities =
{
"browserName": "chrome",
"goog:chromeOptions": {
"args":
["--headless",
"--window-size=1920x1080"
]
}
} -
In the headless version of Firefox, methods that navigate to a web page (for example, the
RemoteItem.Run
,RemoteItem.Navigate
,Page.ToUrl
,Page.NavigateTo
,Browser.Navigate
methods) may fail. -
Your tests may fail to simulate drag actions, or the web browser where the test is running may stop responding when the drag action is being simulated. For instance:
-
Chrome may stop responding.
-
In Firefox, a click on the target point may be simulated instead of the drag action.
-
In Safari, the drag action may be simulated in an incorrect direction or within an incorrect distance.
-
-
On mobile devices, methods that modify the browser window size or position, for example,
BrowserWindow.Position
orBrowserWindow.Maximize
, will fail. This happens because on mobile devices the web browser is always in the fullscreen mode. -
On iOS devices, when simulating entering text into an
input
element, simulating pressing Enter may be ignored and not processed by the tested web application properly. If you are facing such an issue, as a workaround, you can locate theForm
object to which the problematic input element belongs and call itsSubmit
method. For example:page.FindElement("form").submit(); -
On mobile devices, simulating user actions over date interface of date input controls (
<input type="date">
) is not supported. Setting a control’s date by simulating key input with theKeys
orSetText
methods is not supported either.In your tests, set the date directly by assigning it to the
value
property of the control. For example:page.FindElement("input").value = "2020-12-31";Notes:
-
Set the date in the
yyyy-mm-dd
format regardless of the date display format. -
If you have a test operation that simulates a click over the date picker control right before you set its date, we recommend that you disable that operation. Otherwise, the control's date interface might overlap the control and disrupt further testing.
-
-
When setting the browser window position with the
BrowserWindow.Position
method, the resulting window size may differ from the intended size specified by the method parameters. This happens because of the known WebDriver limitation. You can find more information at www.w3.org/TR/webdriver/#set-window-rect. -
If your Selenium Grid node uses an obsolete version of WebDriver (non-compliant with the recent WebDriver specification version), your tests may fail to simulate mouse actions (for example, clicks, drags, hovers, and so on) over web pages and the web browser window on the node.