# Exporting as Test Specification

You can export test suite(s) in a human-readable report, e.g. to share it with colleges, who have no experience with Puppetry.

Press **Ctrl+Shift-E** (⌘⇧E) or click on **File/Export Project as...** menu item:

![Export Project as...](https://3461068122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LuIBYFi-rHiGpXnUF5q%2F-LuIFVt4ThCtvMvhwGpC%2Fexport-menu.png?alt=media\&token=55d546b8-31bf-4173-b77a-fb3d5adc69e6)

**Export Project** modal window shows up.&#x20;

![Export project modal](https://3461068122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LuIFqj6Vou_pgk8jLWK%2F-LuIGM_-KS-FcLyMeW9j%2Fexport1.png?alt=media\&token=7567733c-4ead-472d-884c-4060cf221430)

Select format "**test specification**"

![Export as test specification](https://3461068122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LuIFqj6Vou_pgk8jLWK%2F-LuIGaLny0U0KfwU6lXr%2Fexport21.png?alt=media\&token=b257ddf0-501c-422a-a290-255ad3b80c7c)

Now you just need to select a destination folder for the report and click **Export** button. You will have a text report like this:

```
Demo Project
environment: test

template variables:
   SANDBOX_BASEURL = https://puppetry.app/demo/

TodoMVC
   filename: todomvc.json
   timeout: 50000
   
   targets:
      FIRSTNAME_INPUT = #fname
      LASTNAME_INPUT = #lname
      MESSAGE_INPUT = #comment
      CONSENT_CHECKBOX = #consent
      OPTION_RADIO_1 = #option1
      ATTACHMENT_FILE = #attachment
      FORM = #form
      SUBMIT_BTN = #submit
      HEADER =  .todoapp .header
      NEWTODO_INPUT =  .todoapp .header input.new-todo
      MAIN = .todoapp > div > .main
      ....

   1. describe: Functionality

      1.1. test: No todos
         1.1.1. Set browser viewport as "1920x1080", "x1"
         1.1.2. Visit "http://todomvc.com/examples/react/#/"
         1.1.3. Wait until target "HEADER" appears on the page with timeout "30000ms"
            ▷ Give React.js time to build the app
         1.1.4. Assert that target "HEADER" is "available" and "visible"
         1.1.5. Assert that target "MAIN" is "NOT available"
         1.1.6. Assert that target "FOOTER" is "NOT available"
```

## Report Screenshots

You can extend the report with the automatically generated screenshots per every test step. Just check on the "run tests and generate step screenshots" option in the "**Export project**" moda window:

![Tick it on to get generated step screenshots](https://3461068122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LuIFqj6Vou_pgk8jLWK%2F-LuIGe-B3vzMhWlxImEL%2Fexport-23.png?alt=media\&token=5ccc6381-76db-4c9a-b7e8-f7eae9f7f669)

When exporting is done, you are going to find in the given destination folder screenshots named after the test steps indices:&#x20;

![Test step screenshots in file explorer](https://3461068122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LuIFqj6Vou_pgk8jLWK%2F-LuIGhsQ16USgLScXZGF%2Fexport-screenshots.png?alt=media\&token=0c11e0e3-407f-412a-949f-af3d794b7a06)

\
If you open a screenshot corresponding a target command or assertion you will see the acting targert highlighted:

![Action target is highlighted](https://3461068122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdyKJ-zzeS2hB7DF04J%2F-LuIFqj6Vou_pgk8jLWK%2F-LuIGm_y1p7OJFem154z%2Fexport-screen-single.png?alt=media\&token=0b6af89c-c8ca-4706-be4b-370262634dfd)


---

# 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/export/export-as-test-specification.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.
