New Version: Cycle 2.2.0

Welcome to our first release of 2019! Read the post below for a summary of changes, or click the links to go straight to a section.


Cycle Projects

In previous versions of Cycle, generally users would organize related Cycle files and test assets into a folder or directory, often but not always set as the Resource Directory. With the 2.2.0 release, the Resource Directory is replaced with a Project Directory, and the organization of related files is formalized as a Cycle Project.

I just opened Cycle 2.2.0 for the first time – what do I do?

Going forward, all Features, Playlists, and Group Tests must be associated with a Project, and a Project must first be open to create, open, and/or edit any Cycle file.

When you first open Cycle 2.2.0, no Project will be open. This means the first step is to create a new Project or import an existing directory as a Project.

Project Dialog

Creating a New Project

If no Project is currently open, you can create a new Project by clicking the New Project button in the Cycle Ribbon or by going to File > New > Project.

New Project Button

Once a New Project is created, the files and folders in the default Project template will populate the File Browser. The files and folders included by default in the Project template are designed to help you hit the ground running and stay organized.

The default Project template can be edited. For example, if you wanted to add a folder so that all new Projects contain that folder, simply add it into the directory at: C:\Users\USERNAME\AppData\Roaming\Cycle\config\CycleProjectTemplate 

Importing an Existing Directory as a Project

 You can turn an existing directory into a Project by clicking the Import Project button in the Cycle Ribbon (if no Project is already open) or by going to File > Import Project, browsing for a Project Location, and entering a Project Name.

Importing an Existing Project

Importing a Project will not move the directory from its current location in your file system.

 Opening an Existing Project

 If no Project is currently open, you can open a Project by clicking the Open Project button in the Cycle Ribbon, navigating to your desired Project directory, selecting the relevant .cycproj file, and clicking Open.

If a Project is currently open, you can open a different one by going to File > Open and selecting a .cycproj file.

Open a Project File  

Switching Between Projects

Note that only one Cycle Project can be open at one time. To switch to a different Project, you simply open that Project via the File > Open… menu option. This action will automatically close the existing Project, and open the new one.

 Opening a File Not Associated with the Open Project

To open and edit any Cycle file, a Project must first be open. Cycle files not associated with the open Project can be opened, edited, saved, and executed. However, execution results may be affected if relative file paths or project-level settings are different.


Project-level settings have been isolated from Application Preferences in the UI, since Application Preferences apply to all Projects, but Project settings are set per Project. The Project settings button  is located in the bottom-right-hand corner of the File Browser.

Project Settings Screen

Most Project settings are saved to the .cycproj file, but user settings such as datastore connection details are saved to the .cycuser file.  Separating these settings into separate files enables the Project-level settings to be shared as part of the Project, while user settings with potentially sensitive information are kept private.

Private user settings are indicated with a note in the UI.  

Sharing a Project

A Cycle Project, including the Project-level settings, can be zipped up and shared with collaborators. A .gitignore file is included in the default Project template to avoid user settings being shared in Git repositories. If SVN or other version control software is being used, the *.cycuser file extension should not be uploaded to a shared repository.

Variable Blacklist Setting

Sometimes you do not want sensitive information like usernames and passwords to show up in execution output and reports. Cycle now includes a Variable Blacklist setting that enables you to list variable names that are known to contain sensitive information, so their values will be masked in the Output Panel and all reports.

To access the setting, click the Project settings button  (bottom right of File Browser) > Reporting settings > Variable Blacklist, enable the setting to “Hide sensitive data from reports”, and then add your variable names.

In Output and Reports, the blacklisted variable names will be printed, but their values will be masked with asterisks.

Line Wrapping Setting

Sometimes you want lines to wrap in the Cycle Editor, and sometimes you don’t! You can toggle line wrapping on and off via the new setting available under Edit > Preferences.

Line Wrapping

New MOCA Step

Given that we have had these Steps available since Cycle 1.11.0:

Given I upload file "<LOCAL_FILE_PATH>" to "<REMOTE_FILE_PATH>" on the MOCA server

Given I download file "<REMOTE_FILE_PATH>" from MOCA server to "<LOCAL_FILE_PATH>"

…we thought it was about time we added this Step to help clean up:

I delete file “<LOCAL_FILE_PATH>” on the MOCA server

Bug Fixes

Screenshots of Passing Image Steps added to HTML reports

Previously, Cycle’s HTML reports would only contain screenshots of image Steps if the Step failed. This has been expanded to always include screenshots of what Cycle saw in an image Step, provided the “Save matched images” setting is turned on within Cycle’s Execution settings.

Playlists executing Features located in subdirectories

Previously, Playlist directories were not executing Features from subdirectories. Clicking the button to include subdirectories would update the number of features to run to the correct value, but executing that playlist entry only resulted in the non-subdirectories features running. This has been corrected.


A full list of minor fixes and improvements can be found in Cycle 2.2.0 release notes, available in the Cycle User Manual.