# 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://3461068122-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://3461068122-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://3461068122-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://3461068122-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: Initial state](https://3461068122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LuDY4GejwQdxk0bTCmE%2F-LuDYJlc2GJ-c_psLvQL%2Fsuite-recorder1.png?alt=media\&token=6e1106a0-5271-4ad8-b995-4afb8a076841)

Here you can

1\) Select viewport&#x20;

![Select viewport combobox](https://3461068122-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://3461068122-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:

![Suite Recorder window: URL entered](https://3461068122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LuDY4GejwQdxk0bTCmE%2F-LuDYO1Q85qyC-wyZcaW%2Fsuite-recorder2.png?alt=media\&token=7deb8c0a-2352-4586-b5cf-85c772c8ba67)

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://3461068122-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)

You can also find recorder console below the address bar.

![Recorder console](https://3461068122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LuDY4GejwQdxk0bTCmE%2F-LuDYb1p-1YamO-KmuD_%2Fsuite-recorder-console.png?alt=media\&token=1bd497fd-d6b4-4f31-9e4c-10377e6a68e3)

It prints all the user actions intercepted by the recorder. If you hover the console it expands showing you more of the log.

![Recorder log](https://3461068122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LuDY4GejwQdxk0bTCmE%2F-LuDYfQ7GDp_6MK4JF7Z%2Fsuite-recorder-console2.png?alt=media\&token=c84fb279-0df9-463a-bcb8-bd736168110e)

Left to the **Create Suite** button you can see an icon:

![DevTools button](https://3461068122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LuDY4GejwQdxk0bTCmE%2F-LuDYjsGMLmh0cruuWXO%2Fsuite-recorder-devtools.png?alt=media\&token=73165caa-0208-4a63-aa75-9314f975544b)

Click it when you need **Chrome DevTools**.

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://3461068122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LuDY4GejwQdxk0bTCmE%2F-LuDYrR_8dJmO_6jMmjs%2Fsuite-recorder3.png?alt=media\&token=75bef874-aba7-4843-8ec7-096ba42af4da)

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

![Recorded group expanded](https://3461068122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LuDY4GejwQdxk0bTCmE%2F-LuDYvJebgHFiRNTNLGF%2Fsuite-recorder4.png?alt=media\&token=303b7a4b-c480-4219-becf-20d271f400cc)

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://3461068122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LuDY4GejwQdxk0bTCmE%2F-LuDYyjpJgNJBOHICY7P%2Fsuite-recorder5.png?alt=media\&token=b91f31c6-9bca-4249-bfbe-93e7c351f23e)

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

## Open Suite

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

![Open suite in the main menu](https://3461068122-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://3461068122-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://3461068122-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://3461068122-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://3461068122-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 Suite o**ptions**:

![Suite options tab](https://3461068122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LuDY4GejwQdxk0bTCmE%2F-LuDZ29SekGSqlihBU5L%2Fsuite2.png?alt=media\&token=47aeea5b-e976-4988-827c-41aab79a9b22)

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

![Suite Options modal window](https://3461068122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LuDY4GejwQdxk0bTCmE%2F-LuDZ5ibORaHkMheMdnG%2Fsuite1.png?alt=media\&token=d4d77cc5-7717-4420-ad7c-ef88bf33b731)

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.puppetry.app/suite.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
