# 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)
