# 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](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-Lhevk6Jv_PQiNaoQsHE%2F-LhewMjZirrIeSlPPt-m%2Fp-new-suite.png?alt=media\&token=468cea2e-2106-4e3a-a11f-317bd323eb9c)

It opens the following modal window:

![New Suite modal window](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-Lhevk6Jv_PQiNaoQsHE%2F-LhewXBRLkt9kg3PGf_z%2Fp-new-suite-modal.png?alt=media\&token=951a8525-f4e0-4b3e-89d2-173c6946666f)

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](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-Lhevk6Jv_PQiNaoQsHE%2F-Lhex38yAFv8tsx0EjoB%2Fp-new-suite-modal-2.png?alt=media\&token=ca906562-b607-4822-9f74-c82a8421eefe)

## 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](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LhkA96oX2RkHk6loySS%2F-LhkDYgvTI6O0zjJuPnZ%2Frecord-suite-btn.png?alt=media\&token=78a82cee-123e-4995-917a-16dd2c7b29ed)

It opens a new window:

![Suite Recorder window](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LihnptpnHQvPsyGe1RK%2F-LihoDvT6LGi1Bzq9iFz%2Fpuppetry-suite-recorder.png?alt=media\&token=1215c2eb-00d2-4601-82e6-8767a3d1b5ab)

Here you can

1\) Select viewport&#x20;

![Select viewport combobox](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LhkA96oX2RkHk6loySS%2F-LhkE09lugZsKU0aILMZ%2Frecord-suite-select-viewport.png?alt=media\&token=b4cd45ef-f04d-48e2-89b5-9832691058eb)

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

![Color selector](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LhkA96oX2RkHk6loySS%2F-LhkEAur67dVM_6vyn2J%2Frecord-suite-pick-color.png?alt=media\&token=afdf6e84-78e8-4ba4-a6f4-8d3ddecb58e4)

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

![ACME forum login page in the recorder](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LhkA96oX2RkHk6loySS%2F-LhkET8WdS7zbUbSHlrE%2Frecord-suite-with-test-url.png?alt=media\&token=fb773a84-0448-4ba2-a4d5-8e1888786e9b)

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](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LhkA96oX2RkHk6loySS%2F-LhkGiebnxtLV_mVt7I-%2Frecord-name-prompt.png?alt=media\&token=3d4bf2bf-0eba-4091-b423-cf9a1e616260)

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](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LhtXaN9XpoaKqzv6D2-%2F-LhtXqI0GGaz48Zi-QDC%2Frecorded-group-collapsed.png?alt=media\&token=171911e6-5bd6-41f9-bfa9-4abab0327f0f)

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

![Recorded group expanded](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LhtXaN9XpoaKqzv6D2-%2F-LhtXwsNx3d6rRJu7wlb%2Frecorded-group-expanded.png?alt=media\&token=098e4708-796f-4e16-aae1-5008c3df6817)

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

![Recorded targets](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LhtXaN9XpoaKqzv6D2-%2F-LhtY-rgBBhHf_d5uXr3%2Frecorded-targets.png?alt=media\&token=d6e0a7ed-7383-49fb-af57-11ee7594e1fc)

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](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LhtXaN9XpoaKqzv6D2-%2F-LhtY5NpG6cFgPrpR4XV%2Frecording-4.gif?alt=media\&token=8a1a0587-f359-436a-9ec7-f5c8d0353e39)

## Open Suite

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

![Open suite in the main menu](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-Lhevk6Jv_PQiNaoQsHE%2F-LhexwQNM3mqosDT9O6_%2Fp-open-suite.png?alt=media\&token=7aa89163-9e5b-439b-860b-b39eaf818820)

It opens the following modal window:

![Open Suite modal window](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-Lhevk6Jv_PQiNaoQsHE%2F-LheyX8DE7v9S8bAwjFG%2Fp-open-suite-modal.png?alt=media\&token=3821c478-ab8e-4a9c-8115-74877657d63f)

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](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-Lhevk6Jv_PQiNaoQsHE%2F-LheytfIrcYRjh91LtuX%2Fp-save-suite.png?alt=media\&token=ec082c5f-775c-4728-9dfd-e95d719f8d07)

## Save Suite As..

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

![](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-Lhevk6Jv_PQiNaoQsHE%2F-LhexthAeaVU30dOfCoe%2Fp-save-suite-as.png?alt=media\&token=7d0544e7-a1ae-445f-a2f4-793e121d9846)

It opens the following modal window:

![Save Suite modal window](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-Lhevk6Jv_PQiNaoQsHE%2F-Lhez3GAPwbLlXG3tTCX%2Fp-save-suite-modal.png?alt=media\&token=6e5d8d04-82ad-40fb-b467-d67eeb381be2)

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](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-Lhevk6Jv_PQiNaoQsHE%2F-LhezGb9vDubMQopi0tY%2Fp-SUITE-options.png?alt=media\&token=586d253f-b4b5-4ec4-ba02-84d9263868b8)

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

![Suite Options modal window](https://2843146877-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-Lhevk6Jv_PQiNaoQsHE%2F-LhezcmhTwXrQiv9F3b1%2Fp-suite-options-2.png?alt=media\&token=484d6b3a-c314-418a-83f4-f7f649f81120)

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