> For the complete documentation index, see [llms.txt](https://docs.puppetry.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.puppetry.app/master/suite.md).

# Suite

Suite is literally a JSON file keeping suite-related targets, groups, test-cases and test-steps.

## Create Suite

To create a new project you can press **Ctrl+N** (⌘N)  or click on **File / New Suite** item in the main menu:

![New Suite in the main menu](/files/-LhewMjZirrIeSlPPt-m)

It opens the following modal window:

![New Suite modal window](/files/-LhewXBRLkt9kg3PGf_z)

You need to specify suite name and press **Create** button. It will create a json file with name built from provided one and open it.

Optionally you can give a custom name to the file. Just click to open **Specify filename** panel:

![Custom filename for suite](/files/-Lhex38yAFv8tsx0EjoB)

## Record Suite

After you created anew suite you can either populate it manually or record it. To go with the last option, click on **Record** button in the footer of **Groups** panel:

![Record suite button](/files/-LhkDYgvTI6O0zjJuPnZ)

It opens a new window:

![Suite Recorder window](/files/-LihoDvT6LGi1Bzq9iFz)

Here you can

1\) Select viewport&#x20;

![Select viewport combobox](/files/-LhkE09lugZsKU0aILMZ)

2\) Set a color for element highlighting on test pages

![Color selector](/files/-LhkEAur67dVM_6vyn2J)

3\) Enter URL or test page and press **ENTER**. It will bring you to the specified page:

![ACME forum login page in the recorder](/files/-LhkET8WdS7zbUbSHlrE)

Now you can interact with the page (click on elements, type in inputs and so on). Any affected element will be automatically registered into targets. But you can **right-click** (or **Ctrl-Shift-click) an element** to register it into targets explicitly.&#x20;

![After Ctrl-Shift-click you will be prompted for a target name](/files/-LhkGiebnxtLV_mVt7I-)

4\) When you are done, click on **Create Suite** button in the header. That will bring you back to the **Groups** panel, where you will see a newly created **Recorded group:**

![Recorded group collapsed](/files/-LhtXqI0GGaz48Zi-QDC)

Let's expand the generated group and the test case:

![Recorded group expanded](/files/-LhtXwsNx3d6rRJu7wlb)

As you can see our interactions on the page recorded into a valid test case. Now let's switch to **Targets** panel:

![Recorded targets](/files/-LhtY-rgBBhHf_d5uXr3)

As you can see automatically generated targets named after their selectors. Besides, we have an explicitly specified target (`AVATAR`)&#x20;

### Recording Suite Showcase

![Recording suite in practice](/files/-LhtY5NpG6cFgPrpR4XV)

## Open Suite

To open suite click on **File / Open Suite** item in the main menu:

![Open suite in the main menu](/files/-LhexwQNM3mqosDT9O6_)

It opens the following modal window:

![Open Suite modal window](/files/-LheyX8DE7v9S8bAwjFG)

Here we select a suite from the list of suites currently available in the project

You can also use [Project Explorer](https://docs.puppetry.app/projects#project-explorer)

## Save Suite

To create a new project you can press **Ctrl+S** (⌘S)  or click on **File / Save Suite** item in the main menu:

![Save Suite in the main menu](/files/-LheytfIrcYRjh91LtuX)

## Save Suite As..

You can clone a suite. To do it click on **File / Save Suite** **As...** item in the main menu:

![](/files/-LhexthAeaVU30dOfCoe)

It opens the following modal window:

![Save Suite modal window](/files/-Lhez3GAPwbLlXG3tTCX)

Here you just need to provide a name for suite clone.

## Suite Options

In suite tabs you can find one called **Options**:

![Options suite tab](/files/-LhezGb9vDubMQopi0tY)

Click on it to get the **Suite Options** modal window:

![Suite Options modal window](/files/-LhezcmhTwXrQiv9F3b1)

Here you change the suite name and set up test run timeout (maximal allowed time for the entire test run)
