Preparing TestComplete Tests for Running in CrossBrowserTesting Environments

Applies to TestComplete 14.0, last modified on January 23, 2019

You can run both script and keyword TestComplete tests in CrossBrowserTesting environments. You may need to change the test commands and projects in order for the tests to run successfully. You may also need to prepare your project suite to avoid possible issues when copying your tests to CrossBrowserTesting environments.

This topic describes the specifics of running TestComplete tests in CrossBrowserTesting environments and provides requirements and recommendations.

Requirements

Web Tests Only

The tests you run in CrossBrowserTesting must be web tests. That is, they must interact with a web application or a web site running in a web browser.

Do not include commands that interact with the Desktop or with any third-party applications in your tests. These applications will not be available in CrossBrowserTesting environments and your tests will fail.

Project Items on the Project Suite Hard Drive

A TestComplete project can include “external” items like test data Excel or .csv files, shared script units, or some common images for image checkpoints. Generally, these files can be located on any hard drive on your computer or in a network shared folder.

In order for TestComplete to be able to use “external” files in the CrossBrowserTesting cloud, these files must be on the same hard drive, on which your project suite is located. TestComplete will be able to copy them to the cloud computer and recreate the folder structure there for the run. However, TestComplete cannot do this for the files that reside on other hard drives or in a network location. So, these files will not be available on the target cloud machine, and your test will fail.

No Plugin Objects

You can create plugins to add custom script objects and functionality to TestComplete. Plugin files are absent from the CrossBrowserTesting cloud machines, so the objects will be unavailable when you run tests in the cloud. If you use plugins, change your tests so that they could not use the script objects and other functionality provided by the plugins.

Note: Besides plugins, you can also add custom script objects to TestComplete with script extensions. TestComplete automatically copies all registered script extensions to a cloud computer when you start a test and registers them in the TestComplete instance on that computer. Your tests that use script extensions will be able to run successfully. After the test run is over, your script extensions are unregistered and removed from the cloud computer.

Recommendations and Specifics

Use Browser-Independent Tests

The tests must be browser-independent. Otherwise, the test commands that simulate user actions over a hard-coded web browser will fail when you run your test in an environment where another web browser is running.

To make your tests browser-independent, you can, for example, use the Sys.Browser object and the Browser.CurrentBrowser property to get the current web browser.

To learn how to create browser-independent tests in TestComplete, see Cross-Browser Testing in TestComplete.

Use the Run Browser Command

When a CrossBrowserTesting environment starts, it launches its web browser automatically. So, you may omit commands that launch the needed web browser at the beginning of your tests (for instance, the Run Browser operation or the Browsers.Item.Run method). However, we recommend that you leave this command in your tests. This will keep your project runnable on your computer.

Ignore Browser Loops

If your test includes a browser loop, TestComplete will ignore it and will run the loop’s child instructions only for the browser that is currently running in the CrossBrowserTesting environment.

Use Local Connections to Access Local Resources

If your tested web application or other test resources reside on your local computer or in your local network, use local connections to access the application and resources from CrossBrowserTesting environments. A local connection is an encrypted tunnel between your network and the CrossBrowserTesting cloud. To learn how to establish it, see –

Configuring Connection to Tested Website From the CrossBrowserTesting Cloud

Make sure that TestComplete tests can access your tested application and other resources from the cloud. That is, make sure that the paths to the application or resources you use in tests remain valid after the TestComplete test project is copied to the environments.

Make sure that TestComplete tests can access your tested application and other resources from CrossBrowserTesting environments. That is, make sure that the paths to the application or resources you use in tests remain valid after the TestComplete test project is copied to the environments. See –

Preparing TestComplete Tests That Work With Local Network Resources

You can find more information on testing web applications residing in local environments on the CrossBrowserTesting web site.

Use ACE Driver to Read Data from Excel Files

In your tests, you can use DB Table variables and Data-Driven Loop operation, or ExcelDriver and CSVDriver objects to read data from Excel and CSV files. To retrieve data from Excel files, TestComplete can use either the Microsoft Access Database Engine 2010 (ACE) driver, or Microsoft Excel ODBC driver.

CrossBrowserTesting environments, where you run your TestComplete tests, have the ACE driver installed. Configure your tests to use the ACE driver to retrieve data from Excel files:

  • If you use the DDT.ExcelDriver object to read data from Excel files in your tests, set the UseACEDriver parameter of the DDT.ExcelDriver method that returns the object to true:

    JavaScript, JScript

    DDT.ExcelDriver("MyFile.xls", "Sheet1", true);

    Python

    DDT.ExcelDriver("MyFiles\\MyFile.xls", "Sheet1", true)

    VBScript

    Call DDT.ExcelDriver("MyFile.xls", "Sheet1", True)

    DelphiScript

    DDT.ExcelDriver('MyFile.xls', 'Sheet1', true);

    C#Script

    DDT["ExcelDriver"]("MyFile.xls", "Sheet1", true);
  • The DDT.CSVDriver object and DB Table variables always use the ACE driver.

Use Project Files on the Same Hard Drive

When possible, place your test project and the test data files it uses on the same hard drive. See above.

If Your Test Takes Parameters

You cannot add tests that take parameters to environments directly. Such tests will be disabled in the Select Tests dialog.

To run tests that take parameters in CrossBrowserTesting environments, create either test items, or “master” tests that will run the needed tests with the appropriate parameters. To learn more, see Preparing TestComplete Tests That Take Parameters for Running in CrossBrowserTesting Environments.

If You Need to Exchange Data Between Tests

TestComplete runs all the tests in CrossBrowserTesting environments in parallel, each test in a separate environment. If you are running tests that exchange data with each other or must be run in a certain order, you can do one of the following:

  • Modify your tests to make them independent of each other and run them separately.

  • Create a master test that will run all the tests in the needed order and then run that master test in CrossBrowserTesting environments.

Use Smaller Tests to Record Video

During the test run, a video of each test is recorded. You can view the video to learn what happened during the test run. The video is limited to 10 minutes. If your test runs longer, the video will contain only the first 10 minutes of the test.

To record the entire test run from the beginning to the end, make sure your test runs no longer than 10 minutes. You may need to split your large tests into smaller ones.

Check Test Before Running

Before running your web tests on CrossBrowserTesting.com, we recommend that you run them in your local environment (for example, on your current computer) to make sure that the tests work correctly.

Other Preparatory Actions

To run TestComplete tests in CrossBrowserTesting environments –

Active CrossBrowserTesting Account with TestComplete Support

To avoid possible issues when copying your tests to the CrossBrowserTesting environments –

Reduce the Size of Your Project Suite

To test a Rich Web Application –

Prepare Application for Testing

See Also

Preparing for Running Tests in CrossBrowserTesting Environments
Preparing TestComplete Project Suites for Running in CrossBrowserTesting Environments
About CrossBrowserTesting Integration
Running Tests in CrossBrowserTesting Environments

Highlight search results