diff --git a/astro.config.mjs b/astro.config.mjs index c9227c74..f12bb1dc 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -120,8 +120,16 @@ export default defineConfig({ { label: 'Classical vs BDD', link: '/project/tests/classical-vs-bdd' }, { label: 'Classical Test Case Editor', link: '/project/tests/classical-test-case-editor' }, { label: 'BDD Test Case Editor', link: '/project/tests/bdd-test-case-editor' }, + { label: 'Converting to BDD', link: '/project/tests/converting-to-bdd' }, { label: 'Copy and Move your Tests', link: '/project/tests/copy-and-move-your-tests' }, - { label: 'Test Case Creation and Editing', link: '/project/tests/test-case-creation-and-editing' }, + { label: 'Create a Test', link: '/project/tests/create-a-test' }, + { label: 'Test Steps and Expected Results', link: '/project/tests/test-steps-and-expected-results' }, + { label: 'Edit Test Steps', link: '/project/tests/edit-test-steps' }, + { label: 'Test Attachments', link: '/project/tests/test-attachments' }, + { label: 'Suites and Folders', link: '/project/tests/suites-and-folders' }, + { label: 'Tags, Labels, and Assignees', link: '/project/tests/tags-labels-and-assignees' }, + { label: 'Test Priority', link: '/project/tests/test-priority' }, + { label: 'Dynamic Parameters', link: '/project/tests/dynamic-parameters' }, { label: 'Other Features for Test case Design', link: '/project/tests/other-features-for-test-case-design' }, ], }, diff --git a/redirects.js b/redirects.js index c5918676..7d383f9b 100644 --- a/redirects.js +++ b/redirects.js @@ -49,6 +49,7 @@ const redirects = { "/security/overview/": "/legal/security", "/security/subprocessors": "/legal/security/subprocessors", "/usage/continious-integration": "/integrations/continuous-integration", + "/project/tests/test-case-creation-and-editing": "/project/tests", // "/usage/bdd-syntax": "", bdd-syntax locate in not-in-use folder "/reference/reporter/pipes/testomatio.html": "/project/runs/reporter/pipes/testomatio", "/usage/templates.html": "/management/project/templates", diff --git a/src/content/docs/advanced/mermaid-diagrams/index.md b/src/content/docs/advanced/mermaid-diagrams/index.md index 3ec93f70..e4bda5f1 100644 --- a/src/content/docs/advanced/mermaid-diagrams/index.md +++ b/src/content/docs/advanced/mermaid-diagrams/index.md @@ -49,4 +49,4 @@ Testomat.io can build a mindmap for you. **Generate Project Structure** reads yo - [AI-Powered Features](https://docs.testomat.io/advanced/ai-powered-features/ai-powered-features) - [Living Documentation](https://docs.testomat.io/advanced/living-doc) -- [Test Case Creation and Editing](https://docs.testomat.io/project/tests/test-case-creation-and-editing) \ No newline at end of file +- [Create a Test](https://docs.testomat.io/project/tests/create-a-test) \ No newline at end of file diff --git a/src/content/docs/advanced/test-artifacts/index.md b/src/content/docs/advanced/test-artifacts/index.md index ed064ce9..0ba91611 100644 --- a/src/content/docs/advanced/test-artifacts/index.md +++ b/src/content/docs/advanced/test-artifacts/index.md @@ -22,7 +22,7 @@ You can add attachments during test case creation or editing by directly **dragg ![Testomat.io - Add attachment](./images/Add_attachment_1.gif) -For more details on adding and managing attachments, refer to the [Add Attachments to Test](https://docs.testomat.io/project/tests/test-case-creation-and-editing/#add-attachments-to-test). +For more details on adding and managing attachments, refer to the [Add Attachments to Test](https://docs.testomat.io/project/tests). You can also manage attachments across Testomat.io by adding them to **suites**, **folders**, and the **readme section**. This streamline workflows by keeping all relevant files and documentation in one place. Whether you’re sharing important notes, reference materials, or test data, you can now attach them directly to the relevant test structures for easy access. @@ -36,7 +36,7 @@ You can also manage attachments across Testomat.io by adding them to **suites**, If you no longer need your attachments, you can delete them. -Go to [How to Delete Attachment from Test Case](https://docs.testomat.io/project/tests/test-case-creation-and-editing/#how-to-delete-attachment-from-test-case) section to read more about this feature. +Go to [How to Delete Attachment from Test Case](https://docs.testomat.io/project/tests) section to read more about this feature. :::note @@ -48,7 +48,7 @@ You can delete attachments from Suite, Folder and Readme section in the same way Before the attachment is permanently deleted from the store, you can restore it. -Go to [How to Restore Deleted Attachment](https://docs.testomat.io/project/tests/test-case-creation-and-editing/#how-to-restore-deleted-attachment) section to read more about this feature. +Go to [How to Restore Deleted Attachment](https://docs.testomat.io/project/tests) section to read more about this feature. :::note diff --git a/src/content/docs/getting-started/index.md b/src/content/docs/getting-started/index.md index 7476279c..ef21f649 100644 --- a/src/content/docs/getting-started/index.md +++ b/src/content/docs/getting-started/index.md @@ -94,7 +94,7 @@ You can create any number of folders and suites within a folder. ## Create Manual Test Cases -Read full article: [Test Case Creation and Editing](https://docs.testomat.io/project/tests/test-case-creation-and-editing/). +Read full article: [Create a Test](https://docs.testomat.io/project/tests/create-a-test). After you’ve created test suites, you can start adding tests. 1. Select a test suite. diff --git a/src/content/docs/project/import-export/export-tests/download-manual-tests-as-files.md b/src/content/docs/project/import-export/export-tests/download-manual-tests-as-files.md index 58aafd02..b74934bd 100644 --- a/src/content/docs/project/import-export/export-tests/download-manual-tests-as-files.md +++ b/src/content/docs/project/import-export/export-tests/download-manual-tests-as-files.md @@ -269,7 +269,7 @@ To create a test case with **Dynamic Parameters** in a markdown file, you need t ::: -For more information about **Dynamic Parameters** follow the [link](https://docs.testomat.io/project/tests/test-case-creation-and-editing/#how-to-add-dynamic-parameters-to-a-test). +For more information about **Dynamic Parameters** follow the [link](https://docs.testomat.io/project/tests). ## How to Import Manual Tests from Markdown diff --git a/src/content/docs/project/tests/converting-to-bdd.md b/src/content/docs/project/tests/converting-to-bdd.md new file mode 100644 index 00000000..1f179bec --- /dev/null +++ b/src/content/docs/project/tests/converting-to-bdd.md @@ -0,0 +1,156 @@ +--- +title: Converting to BDD +description: Three ways to move Classical tests into a BDD project in Testomat.io - the Transform Project to BDD AI agent, manual refactoring, and CodeceptJS as a middle ground. Includes a before-and-after refactoring example. +type: article +url: https://docs.testomat.io/project/tests/converting-to-bdd +head: + - tag: meta + attrs: + name: keywords + content: convert to BDD, Transform Project to BDD, AI agent, refactoring tests, Gherkin, CodeceptJS, migrate Classical to BDD, Testomat.io +--- + +To use a Markdown test as a BDD test, rewrite it as a Gherkin scenario. Changing the project setting alone does not convert the test. + +![Three paths from a Classical project: the AI agent and a manual rewrite both build a new BDD project, CodeceptJS keeps you in the same one](./images/converting-to-bdd/three-paths-to-bdd.png) + +You have three paths. Two build a new BDD project. The third keeps you in Classical. + +| Path | What you end up with | Best when | +| --- | --- | --- | +| **Transform Project to BDD** | A new BDD project, built from your existing tests | You want everything moved quickly and written in one style | +| **Manual refactoring** | A new BDD project, written by your team | The logic is tricky and a person has to make the calls | +| **CodeceptJS** | No new project - you stay Classical | You want tests the business can read, without taking on Gherkin | + +## Transform Project to BDD + +**Transform Project to BDD** is an AI agent that reads your Classical tests and builds a BDD project out of them. + +- It rewrites your steps into valid `Given/When/Then` syntax. +- It creates a **new BDD project** with the converted suites. +- Your original Classical project stays as it is. + +Nothing is overwritten, so you can review the result. To run it: + +1. On the **Tests** page, open the `...` menu. +2. Choose **AI Agents**. +3. Select **Transform Project to BDD**. + +![The AI Agents list open, with Transform Project to BDD in it](./images/converting-to-bdd/1-transform-project-to-bdd.png) + +The agent stays close to your original wording. A Classical step that did two things comes out as one line: + +```gherkin +Scenario: Successful login with valid credentials + Given the user is on the Testomat.io login page + When the user enters a registered email and the correct password + Then the user should be redirected to the Project Dashboard +``` + +![The new BDD project created by the agent, next to the original Classical one](./images/converting-to-bdd/2-new-bdd-project.png) + +This `When` line does two things at once, so no other scenario can reuse it. + +:::note + +Read more about the agents on the [AI-Agents](https://docs.testomat.io/advanced/ai-powered-features/ai-agents) page. + +::: + +## Manual Refactoring + +Rewrite the tests yourself when a few of them carry logic only the author understands. + +1. Create a new BDD project. +2. Rewrite each test so every step follows Gherkin rules. +3. Split any step that does more than one thing. +4. Match each new step to a step definition in your automation code. + +Writing it yourself, you split that step: + +```gherkin +Scenario: Successful login with valid credentials + Given the user is on the Testomat.io login page + When the user enters a registered email + And the user enters the correct password + Then the user should be redirected to the Project Dashboard +``` + +Every line here is a step definition other scenarios can call. To make the process faster you can: + +- Split steps land in the [Steps Database](https://docs.testomat.io/project/steps-snippets/steps), so autocomplete offers them next time. +- If the Gherkin is not valid yet, **Save To Draft & View Test** keeps your work. + +:::note + +A BDD project cannot be moved back to Classical. The feature file history and its data would be lost. + +::: + +## CodeceptJS + +If you just want your tests to be easy to read, you do not need to switch to BDD. CodeceptJS uses simple instructions that are easy for everyone on the team to follow. You can keep your current project without rewriting your tests or learning a new format. + +The main difference is who the tests are written for. Gherkin scenarios are written in a way that both the team and the business can understand and review before the code is written. CodeceptJS is still code, just written in a way that is easier to read. + +## Check the Converted Tests + +Four things are worth checking after a conversion, whether the AI agent did the work or your team did. + +**One action per step.** `Enter a registered email and the correct password` does two things at once, split it: + +```gherkin +When the user enters a registered email +And the user enters the correct password +``` + +**The goal.** `Hit the blue 'Sign In' button at the bottom of the form` names the colour and the position. The next redesign makes both wrong. Redo: + +```gherkin +When the user clicks the 'Sign In' button +``` + +**A clear starting point.** A Classical test often jumps straight in, assuming the user is already on the right page. BDD code has to know where the scenario begins, and scenarios that say so fail less often for the wrong reason. + +```gherkin +Given the user is on the Testomat.io login page +``` + +**Valid syntax.** `Expected Result:` - in BDD the line has to carry a keyword and correct wording: + +```gherkin +Then the user should be redirected to the Project Dashboard +``` + +## Connect to Code + +A rewritten scenario is not finished until every step has a definition in your automation code. Import your feature files to make the connection. + +1. On the **Tests** page, click **Import from other TMS**. +2. On the **Imports** page, click **Import**. +3. Select **Import from Source Code**. +4. Pick **Cucumber** as the framework. +5. Copy the command you are given. +6. Run it in your project folder: + +```bash +TESTOMATIO={apiKey} npx check-cucumber@latest "**/*.feature" --dir features +``` + +7. Refresh the page. The imported feature files appear in the test tree. + +![The import screen with Cucumber selected as the framework](./images/converting-to-bdd/3-import-cucumber.png) + +:::note + +The command needs **NodeJS 10+** with NPM. It looks in the `features` folder by default - change `--dir` if your feature files live somewhere else. + +::: + +See [Import Tests From Cucumber](https://docs.testomat.io/project/import-export/import/import-tests-from-cucumber) for the full guide. + +## Next Steps + +- [Classical vs BDD](https://docs.testomat.io/project/tests/classical-vs-bdd) +- [BDD Test Case Editor](https://docs.testomat.io/project/tests/bdd-test-case-editor#bdd-editor) +- [AI-Agents](https://docs.testomat.io/advanced/ai-powered-features/ai-agents) diff --git a/src/content/docs/project/tests/create-a-test.md b/src/content/docs/project/tests/create-a-test.md new file mode 100644 index 00000000..1a906a7e --- /dev/null +++ b/src/content/docs/project/tests/create-a-test.md @@ -0,0 +1,80 @@ +--- +title: Create a Test +description: Create tests in Testomat.io from a full description, a title, or a list of titles. +type: article +url: https://docs.testomat.io/project/tests/create-a-test +head: + - tag: meta + attrs: + name: keywords + content: create a test, new test, test case creation, quick test creation, bulk create tests, save options, test editor, Testomat.io +--- + +When you start a new project, choose **Create a new suite** to add tests manually. To add tests tou haw 3 possibilities: + +- write the test and its description, +- create test with the title only, +- create several tests in a bulk. + +![Three ways to create a test: a full test with a description, a quick test from a title, and a bulk list](./images/create-test/create-test-ways.png) + +You can also import automated tests from source code or a CSV file. See [Import tests](https://docs.testomat.io/project/import-export/import/import-tests-from-source-code). + +![The three start options on a new project: create a suite, import from source code, import from CSV](./images/create-test/1-new-project.png) + +## Add a New Test + +1. Go to the **Tests** page. +2. Open a suite or create one. +3. Click **New Test**. +4. Enter the test title. +5. Add the preconditions, steps, and expected results. +6. Click **Save**. + +![The test editor with the title field filled in and a description below it](./images/create-test/2-test-editor.png) + +The test appears in the tree in its suite. New tests are marked **manual**. + +See [Steps Database](https://docs.testomat.io/project/steps-snippets/steps) for examples of how to structure the test. + +## Quick Test Creation + +Enter only the titles when you have ideas for tests and want to add them quickly to the list. You can add the description, steps, and other details later. + +1. Open a suite. +2. Enter the test title. +3. Click **Create**. + +![Creating a test straight from the title field with the Create button](./images/create-test/3-quick-create-test.png) + +Open test to add the details. + +## Create Tests in a Bulk + +1. Open a suite or create one. +2. Turn on the **Bulk** toggle. +3. Enter one test title per line. +4. Click **Create**. + +Each written title in a line becomes a separate test in the suite. It is similar to the **Quick Test Creation** but a bit in other way. This is useful when you want to create the tests first and add description later. + +You can also use [keyboard shortcuts](https://docs.testomat.io/usage/keyboard-shortcuts/) to create and edit tests and suites. + +## Save a Test + +All four save options save your changes. Choose one based on what you want to do next. + +| Option | Result | +| --- | --- | +| **Save** | Saves the test and keeps it open. | +| **Save + View Test** | Saves the test and opens it in view mode. | +| **Save + Go To Suite** | Saves the test and returns to the suite. | +| **Save + Close All** | Saves the test and closes all open tests and suites. | + +![The save button with its dropdown showing the four save options](./images/create-test/4-save-test-options.png) + +## Next Steps + +- [Classical Test Case Editor](https://docs.testomat.io/project/tests/classical-test-case-editor) +- [Steps Database](https://docs.testomat.io/project/steps-snippets/steps) +- [Tags](https://docs.testomat.io/advanced/tags-labels/tags) diff --git a/src/content/docs/project/tests/dynamic-parameters.md b/src/content/docs/project/tests/dynamic-parameters.md new file mode 100644 index 00000000..4d8f1430 --- /dev/null +++ b/src/content/docs/project/tests/dynamic-parameters.md @@ -0,0 +1,126 @@ +--- +title: Dynamic Parameters +description: Run one test with different data by adding a parameter table and using its values in test steps. +type: article +url: https://docs.testomat.io/project/tests/dynamic-parameters +head: + - tag: meta + attrs: + name: keywords + content: dynamic parameters, data-driven tests, parameter table, parameter header, test iterations, placeholders, run report, Testomat.io +--- + +Use dynamic parameters to run the same test with different values. Add a **parameter table** to the test and use its headers in your test steps. Each row in the table becomes a separate test iteration. For example, one test can use several usernames: + +| Username | Password | +| --- | --- | +| user1 | pass1 | +| user2 | pass2 | +| user3 | pass3 | + +The test runs three times, using the values from each row. + +![One test step written with a placeholder runs once for each row of the parameter table](./images/dynamic-parameters/one-step-three-rows.png) + +Three pieces work together: + +- A **parameter table** stores the values. +- A **parameter header** names each value. +- A **placeholder** in a test step tells Testomat.io where to use the value. + +:::note + +A placeholder must match its parameter header exactly. If it doesn't, Testomat.io shows `Undefined` in place of the value. + +::: + +## Add Parameters to a Test + +1. Open **Tests** and select the test. +2. Click the **Extra button**. +3. Select **Add Parameter**. +4. Enter the name of the parameter. +5. Add a **Parameter header** for each value you need. You can also click **Add column**. +6. Click **Save**. +7. Enter the values for each row. +8. Click **Save**. + +![The saved parameter table at the bottom of the modal](./images/dynamic-parameters/1-parameters-table.png) + +The parameter table appears in the test, with one row per set of test data. + +## Edit Parameters + +You can edit parameters from the test description or from the parameter menu. + +### From the Test Description + +1. Click **Edit** next to the parameter. +2. Change the parameter name. +3. Click **Save**. +4. Click **Edit Header**. +5. Change the header name. +6. Click **Save**. + +![Edit parameters icons in the test description](./images/dynamic-parameters/2-edit-parameters.png) + +:::note + +When you rename a header, update every placeholder that uses the old name. A placeholder that no longer matches its header shows `Undefined` in the run. + +::: + +### From the Parameter Menu + +1. Click the **Extra button**. +2. Select **Add Parameter**. +3. Edit the parameter name or header name. +4. Click **Save**. + +## Delete a Parameter + +1. Click the **Trash** icon next to the parameter. +2. Click **OK** to confirm. + +You can also delete a parameter from the parameter menu: open **Add Parameter** and click the **Trash** icon. + +:::note + +Deleting a parameter removes its data from future test runs, so its iteration is no longer created. + +::: + +## Use Parameters in Test Steps + +After adding the parameter table, connect its headers to your test steps with a placeholder. + +1. Check the exact **Parameter header** name. +2. Open the test and click **Edit**. +3. Add the header name to a placeholder using either `${}` or `{{}}`. +4. Click **Save**. + +For example: + +```text +Enter an invalid Mobile Number ${Mobile No} + +Open home page {{URL}}. +``` + +When the test runs, Testomat.io replaces each placeholder with the value from the current row. + +Both placeholder formats work in steps and descriptions. In test titles, use `${}`. + +| Where | `${ParameterName}` | `{{ParameterName}}` | +| --- | --- | --- | +| **Test title** | Works | Not supported | +| **Steps and description** | Works | Works | + +Using `${}` everywhere keeps the syntax consistent. + +## Next Steps + +- [Test Steps and Expected Results](./test-steps-and-expected-results.md) +- [Edit Test Steps](./edit-test-steps.md) +- [Tags, Labels, and Assignees](./tags-labels-and-assignees.md) + diff --git a/src/content/docs/project/tests/edit-test-steps.md b/src/content/docs/project/tests/edit-test-steps.md new file mode 100644 index 00000000..5ebda0cb --- /dev/null +++ b/src/content/docs/project/tests/edit-test-steps.md @@ -0,0 +1,75 @@ +--- +title: Edit Test Steps +description: Edit test steps and expected results in the Rich editor, where each step and its result get their own field. +type: article +url: https://docs.testomat.io/project/tests/edit-test-steps +head: + - tag: meta + attrs: + name: keywords + content: edit steps, rich editor, markdown editor, expected results, test editor, Testomat.io +--- + +Open a test and click **Edit**. The editor gives you three tabs, and the one you pick decides how you work with the steps. + +## Choose a Tab + +| Tab | What you get | +| --- | --- | +| **Markdown** | The raw description. Full control over tables, headings, and images | +| **Rich editor** | Each step and its expected result in its own field. No Markdown to write | +| **Preview** | The finished test as a tester sees it | + +Both tabs edit the same description, so you can switch between them at any time. + +![Markdown and Rich editor both edit the same test description](./images/edit-test-steps/one-description.png) + +## Edit the Steps + +1. On the **Tests** page, open a test. +2. Click **Edit**. +3. Open the **Rich editor** tab. +4. Change the text of any step or its expected result. +5. To add a step, click **Add new step**. +6. Click **Save**. + +![The Rich editor with a step and its expected result in separate fields](./images/edit-test-steps/1-edit-steps.png) + +Your changes are saved to the test description and appear under **Steps** on the test page. + +Each field has its own formatting buttons - bold, italic, code, and a link. The expected result also takes an image. + +### Add Step Data + +**Step data** is a note on the step. Use it for extra context the tester needs, such as the account to sign in with or the values to enter. + +1. Click **Step data** under the step. +2. Enter the note. + +The field takes formatting and images, like the others. + +### Hide a Field + +To hide the **Step data** or **Expected result** field, click the **×** next to its name. + +### Delete a Step + +1. Click the handle next to the step number. +2. Choose **Delete**. + +![The step handle menu open with the Delete option](./images/edit-test-steps/2-delete-step.png) + +## Reuse a Step + +**Add Steps** in the toolbar is different from **Add new step**. It offers the steps already in your project, so you pick one instead of typing it again. See [Steps Database](https://docs.testomat.io/project/steps-snippets/steps). + +## If This Doesn't Work + +- **No steps in the Rich editor.** The test has no `## Steps` section yet. Add one in the **Markdown** tab — see [Test Steps and Expected Results](https://docs.testomat.io/project/tests/test-steps-and-expected-results). +- **The formatting changed after saving.** The Rich editor rewrites steps in its own format. If the test used a table, subheadings, or a separate `## Expected Results` section, edit it in the **Markdown** tab instead. + +## Next Steps + +- [Test Steps and Expected Results](https://docs.testomat.io/project/tests/test-steps-and-expected-results) +- [Create a Test](https://docs.testomat.io/project/tests/create-a-test) +- [Classical Test Case Editor](https://docs.testomat.io/project/tests/classical-test-case-editor) diff --git a/src/content/docs/project/tests/images/attachments/1-attach-file.png b/src/content/docs/project/tests/images/attachments/1-attach-file.png new file mode 100644 index 00000000..a8f0ad11 Binary files /dev/null and b/src/content/docs/project/tests/images/attachments/1-attach-file.png differ diff --git a/src/content/docs/project/tests/images/attachments/2-test-editor-attachment.png b/src/content/docs/project/tests/images/attachments/2-test-editor-attachment.png new file mode 100644 index 00000000..499e2c22 Binary files /dev/null and b/src/content/docs/project/tests/images/attachments/2-test-editor-attachment.png differ diff --git a/src/content/docs/project/tests/images/attachments/3-resize-screenshot.png b/src/content/docs/project/tests/images/attachments/3-resize-screenshot.png new file mode 100644 index 00000000..62402061 Binary files /dev/null and b/src/content/docs/project/tests/images/attachments/3-resize-screenshot.png differ diff --git a/src/content/docs/project/tests/images/attachments/4-drawing-modal.png b/src/content/docs/project/tests/images/attachments/4-drawing-modal.png new file mode 100644 index 00000000..9a93c06a Binary files /dev/null and b/src/content/docs/project/tests/images/attachments/4-drawing-modal.png differ diff --git a/src/content/docs/project/tests/images/attachments/5-view-attachment.png b/src/content/docs/project/tests/images/attachments/5-view-attachment.png new file mode 100644 index 00000000..02b4d8df Binary files /dev/null and b/src/content/docs/project/tests/images/attachments/5-view-attachment.png differ diff --git a/src/content/docs/project/tests/images/attachments/6-restore-attachment.png b/src/content/docs/project/tests/images/attachments/6-restore-attachment.png new file mode 100644 index 00000000..b9bbb68e Binary files /dev/null and b/src/content/docs/project/tests/images/attachments/6-restore-attachment.png differ diff --git a/src/content/docs/project/tests/images/converting-to-bdd/1-transform-project-to-bdd.png b/src/content/docs/project/tests/images/converting-to-bdd/1-transform-project-to-bdd.png new file mode 100644 index 00000000..54717fe3 Binary files /dev/null and b/src/content/docs/project/tests/images/converting-to-bdd/1-transform-project-to-bdd.png differ diff --git a/src/content/docs/project/tests/images/converting-to-bdd/2-new-bdd-project.png b/src/content/docs/project/tests/images/converting-to-bdd/2-new-bdd-project.png new file mode 100644 index 00000000..f041ee89 Binary files /dev/null and b/src/content/docs/project/tests/images/converting-to-bdd/2-new-bdd-project.png differ diff --git a/src/content/docs/project/tests/images/converting-to-bdd/3-import-cucumber.png b/src/content/docs/project/tests/images/converting-to-bdd/3-import-cucumber.png new file mode 100644 index 00000000..2dd5214a Binary files /dev/null and b/src/content/docs/project/tests/images/converting-to-bdd/3-import-cucumber.png differ diff --git a/src/content/docs/project/tests/images/converting-to-bdd/three-paths-to-bdd.png b/src/content/docs/project/tests/images/converting-to-bdd/three-paths-to-bdd.png new file mode 100644 index 00000000..99c0a828 Binary files /dev/null and b/src/content/docs/project/tests/images/converting-to-bdd/three-paths-to-bdd.png differ diff --git a/src/content/docs/project/tests/images/create-test/1-new-project.png b/src/content/docs/project/tests/images/create-test/1-new-project.png new file mode 100644 index 00000000..f9e4ed96 Binary files /dev/null and b/src/content/docs/project/tests/images/create-test/1-new-project.png differ diff --git a/src/content/docs/project/tests/images/create-test/2-test-editor.png b/src/content/docs/project/tests/images/create-test/2-test-editor.png new file mode 100644 index 00000000..bab72df7 Binary files /dev/null and b/src/content/docs/project/tests/images/create-test/2-test-editor.png differ diff --git a/src/content/docs/project/tests/images/create-test/3-quick-create-test.png b/src/content/docs/project/tests/images/create-test/3-quick-create-test.png new file mode 100644 index 00000000..b16da11d Binary files /dev/null and b/src/content/docs/project/tests/images/create-test/3-quick-create-test.png differ diff --git a/src/content/docs/project/tests/images/create-test/4-save-test-options.png b/src/content/docs/project/tests/images/create-test/4-save-test-options.png new file mode 100644 index 00000000..dcbfe348 Binary files /dev/null and b/src/content/docs/project/tests/images/create-test/4-save-test-options.png differ diff --git a/src/content/docs/project/tests/images/create-test/create-test-ways.png b/src/content/docs/project/tests/images/create-test/create-test-ways.png new file mode 100644 index 00000000..2bcbd450 Binary files /dev/null and b/src/content/docs/project/tests/images/create-test/create-test-ways.png differ diff --git a/src/content/docs/project/tests/images/dynamic-parameters/1-parameters-table.png b/src/content/docs/project/tests/images/dynamic-parameters/1-parameters-table.png new file mode 100644 index 00000000..17742130 Binary files /dev/null and b/src/content/docs/project/tests/images/dynamic-parameters/1-parameters-table.png differ diff --git a/src/content/docs/project/tests/images/dynamic-parameters/2-edit-parameters.png b/src/content/docs/project/tests/images/dynamic-parameters/2-edit-parameters.png new file mode 100644 index 00000000..2e21835b Binary files /dev/null and b/src/content/docs/project/tests/images/dynamic-parameters/2-edit-parameters.png differ diff --git a/src/content/docs/project/tests/images/dynamic-parameters/one-step-three-rows.png b/src/content/docs/project/tests/images/dynamic-parameters/one-step-three-rows.png new file mode 100644 index 00000000..0991875e Binary files /dev/null and b/src/content/docs/project/tests/images/dynamic-parameters/one-step-three-rows.png differ diff --git a/src/content/docs/project/tests/images/edit-test-steps/1-edit-steps.png b/src/content/docs/project/tests/images/edit-test-steps/1-edit-steps.png new file mode 100644 index 00000000..340ecb35 Binary files /dev/null and b/src/content/docs/project/tests/images/edit-test-steps/1-edit-steps.png differ diff --git a/src/content/docs/project/tests/images/edit-test-steps/2-delete-step.png b/src/content/docs/project/tests/images/edit-test-steps/2-delete-step.png new file mode 100644 index 00000000..7b4b2904 Binary files /dev/null and b/src/content/docs/project/tests/images/edit-test-steps/2-delete-step.png differ diff --git a/src/content/docs/project/tests/images/edit-test-steps/one-description.png b/src/content/docs/project/tests/images/edit-test-steps/one-description.png new file mode 100644 index 00000000..5eca2dd3 Binary files /dev/null and b/src/content/docs/project/tests/images/edit-test-steps/one-description.png differ diff --git a/src/content/docs/project/tests/images/priority/1-priority-dropdown.png b/src/content/docs/project/tests/images/priority/1-priority-dropdown.png new file mode 100644 index 00000000..dc8fb4ef Binary files /dev/null and b/src/content/docs/project/tests/images/priority/1-priority-dropdown.png differ diff --git a/src/content/docs/project/tests/images/priority/2-priority-bulk-change.png b/src/content/docs/project/tests/images/priority/2-priority-bulk-change.png new file mode 100644 index 00000000..40af3c9c Binary files /dev/null and b/src/content/docs/project/tests/images/priority/2-priority-bulk-change.png differ diff --git a/src/content/docs/project/tests/images/priority/3-priority-filter.png b/src/content/docs/project/tests/images/priority/3-priority-filter.png new file mode 100644 index 00000000..9037dbdc Binary files /dev/null and b/src/content/docs/project/tests/images/priority/3-priority-filter.png differ diff --git a/src/content/docs/project/tests/images/priority/4-priority-analytics.png b/src/content/docs/project/tests/images/priority/4-priority-analytics.png new file mode 100644 index 00000000..462675d9 Binary files /dev/null and b/src/content/docs/project/tests/images/priority/4-priority-analytics.png differ diff --git a/src/content/docs/project/tests/images/priority/why-priority-matters.png b/src/content/docs/project/tests/images/priority/why-priority-matters.png new file mode 100644 index 00000000..62dd0b3a Binary files /dev/null and b/src/content/docs/project/tests/images/priority/why-priority-matters.png differ diff --git a/src/content/docs/project/tests/images/suites-folders/1-create-new-suite.png b/src/content/docs/project/tests/images/suites-folders/1-create-new-suite.png new file mode 100644 index 00000000..912219c6 Binary files /dev/null and b/src/content/docs/project/tests/images/suites-folders/1-create-new-suite.png differ diff --git a/src/content/docs/project/tests/images/suites-folders/2-pick-emoji.png b/src/content/docs/project/tests/images/suites-folders/2-pick-emoji.png new file mode 100644 index 00000000..aa1a6032 Binary files /dev/null and b/src/content/docs/project/tests/images/suites-folders/2-pick-emoji.png differ diff --git a/src/content/docs/project/tests/images/suites-folders/3-breadcrumb-navigation.png b/src/content/docs/project/tests/images/suites-folders/3-breadcrumb-navigation.png new file mode 100644 index 00000000..b8fb6be7 Binary files /dev/null and b/src/content/docs/project/tests/images/suites-folders/3-breadcrumb-navigation.png differ diff --git a/src/content/docs/project/tests/images/suites-folders/4-star-suite.png b/src/content/docs/project/tests/images/suites-folders/4-star-suite.png new file mode 100644 index 00000000..efebbeb1 Binary files /dev/null and b/src/content/docs/project/tests/images/suites-folders/4-star-suite.png differ diff --git a/src/content/docs/project/tests/images/suites-folders/5-convert-to-folder.png b/src/content/docs/project/tests/images/suites-folders/5-convert-to-folder.png new file mode 100644 index 00000000..847676e0 Binary files /dev/null and b/src/content/docs/project/tests/images/suites-folders/5-convert-to-folder.png differ diff --git a/src/content/docs/project/tests/images/suites-folders/test-tree.png b/src/content/docs/project/tests/images/suites-folders/test-tree.png new file mode 100644 index 00000000..4ac6be51 Binary files /dev/null and b/src/content/docs/project/tests/images/suites-folders/test-tree.png differ diff --git a/src/content/docs/project/tests/images/tags-labels-assignees/1-tags-dropdown.png b/src/content/docs/project/tests/images/tags-labels-assignees/1-tags-dropdown.png new file mode 100644 index 00000000..a0c3e114 Binary files /dev/null and b/src/content/docs/project/tests/images/tags-labels-assignees/1-tags-dropdown.png differ diff --git a/src/content/docs/project/tests/images/tags-labels-assignees/2-test-tags.png b/src/content/docs/project/tests/images/tags-labels-assignees/2-test-tags.png new file mode 100644 index 00000000..7d52c11b Binary files /dev/null and b/src/content/docs/project/tests/images/tags-labels-assignees/2-test-tags.png differ diff --git a/src/content/docs/project/tests/images/tags-labels-assignees/3-assign-test.png b/src/content/docs/project/tests/images/tags-labels-assignees/3-assign-test.png new file mode 100644 index 00000000..02fb7149 Binary files /dev/null and b/src/content/docs/project/tests/images/tags-labels-assignees/3-assign-test.png differ diff --git a/src/content/docs/project/tests/images/test-steps/steps-database.png b/src/content/docs/project/tests/images/test-steps/steps-database.png new file mode 100644 index 00000000..a8231d47 Binary files /dev/null and b/src/content/docs/project/tests/images/test-steps/steps-database.png differ diff --git a/src/content/docs/project/tests/suites-and-folders.md b/src/content/docs/project/tests/suites-and-folders.md new file mode 100644 index 00000000..50ecbe46 --- /dev/null +++ b/src/content/docs/project/tests/suites-and-folders.md @@ -0,0 +1,102 @@ +--- +title: Suites and Folders +description: Organize tests with suites and folders in Testomat.io. +type: article +url: https://docs.testomat.io/project/tests/suites-and-folders +head: + - tag: meta + attrs: + name: keywords + content: test suite, folder, test tree, create a suite, convert suite to folder, starred suites, favourites, breadcrumbs, Testomat.io +--- + +A **suite** contains tests. A **folder** groups suites. + +![A folder holds folders and suites, a suite holds tests, and a suite never holds another suite](./images/suites-folders/test-tree.png) + +## Create a Suite or Folder + +Choose **New suite** when you want to add tests. Choose **New folder** when you want to group suites. + +1. Go to the **Tests** page. +2. Click **+ New**. +3. Select **+ New suite** or **+ New folder**. +4. Enter a name. +5. Click **Save**. + +The new item appears in the test tree. Open a suite to add tests. + +![The new suite dialog with the name field and the suite or folder type selector](./images/suites-folders/1-create-new-suite.png) + +## Add an Emoji to a Suite + +Add an emoji to make a suite easier to spot in the test tree. Yopu can remove and change it at any time. + +![The emoji picker open on a suite](./images/suites-folders/2-pick-emoji.png) + +## Navigate with Breadcrumbs + +Breadcrumbs show the test's location in the tree. + +Click a breadcrumb to go back to a parent suite or folder. + +Hover over a shortened breadcrumb to see its full name. + +![Breadcrumbs above a nested test, with a tooltip showing the full suite name](./images/suites-folders/3-breadcrumb-navigation.png) + +## Star Suites and Folders + +Star items you use often to find them under the **Starred** filter. + +1. Go to the **Tests** page. +2. Hover over a suite or folder. +3. Click the **star** icon. + +You can also star an item from search results. + +![Starring a suite in the test tree and the Starred filter showing it](./images/suites-folders/4-star-suite.png) + +### Clear Starred Items + +1. Apply the **Starred** filter. +2. Click the **Crossed star** button. +3. Confirm the action. + +## Convert a Suite to a Folder + +Convert a suite when you need to place other suites alongside it. + +1. Go to the **Tests** page. +2. Open the suite. +3. Open the **(...)** menu. +4. Select **Convert to folder**. +5. Confirm the action. + +![The Convert to folder option in the suite extra menu](./images/suites-folders/5-convert-to-folder.png) + +The new folder keeps the suite inside it, along with all its tests and history. + +Before: + +```text +Notifications (Suite) +├── Test 1 +└── Test 2 +``` + +After: + +```text +Notifications (Folder) +└── Notifications (Suite) + ├── Test 1 + └── Test 2 +``` + +You can now add other suites to the folder. + +## Next Steps + +- [Create a Test](https://docs.testomat.io/project/tests/create-a-test) +- [Copy and Move your Tests](https://docs.testomat.io/project/tests/copy-and-move-your-tests) +- [Other Features for Test case Design](https://docs.testomat.io/project/tests/other-features-for-test-case-design) \ No newline at end of file diff --git a/src/content/docs/project/tests/tags-labels-and-assignees.md b/src/content/docs/project/tests/tags-labels-and-assignees.md new file mode 100644 index 00000000..9f8b5d43 --- /dev/null +++ b/src/content/docs/project/tests/tags-labels-and-assignees.md @@ -0,0 +1,97 @@ +--- +title: Tags, Labels, and Assignees +description: Add tags and labels to organize tests, and assign tests to project members in Testomat.io. +type: article +url: https://docs.testomat.io/project/tests/tags-labels-and-assignees +head: + - tag: meta + attrs: + name: keywords + content: labels, tags, add a tag, custom fields, assign a test, test assignee, test organization, Testomat.io +--- + +Use tags, labels, and assignees to organize tests and make them easier to manage. + +- **Tags** group tests by name, such as `@smoke` or `@regression`. +- **Labels** add structured information, such as a component, owner, or requirement ID. +- **Assignees** show who is responsible for a test. + +## Tags and Labels + +Tags and labels both help you organize tests, but they work differently. Use a **tag** when a name is enough. Use a **label or custom field** when you need to store a value with it. + +| | Tag | Label or custom field | +| --- | --- | --- | +| **Stores** | A name | A name and a value | +| **Add from** | The test title with `@` | **Set labels** in the editor | +| **Best for** | Quick test groups | Information you want to track and filter | + +## Add a Tag + +Tags are added directly to the test title. + +1. Open the test and click **Edit**. +2. In the title field, type `@` and the tag name. +3. Select an existing tag from the list, or enter a new name. +4. Click **Save**. + +![Typing the @ symbol in a test title and the drop-down of existing tags](./images/tags-labels-assignees/1-tags-dropdown.png) + +The tag appears next to the test title. + +:::note + +Pick an existing tag from the list when you can. Tag names are case-sensitive, so `@smoke` and `@Smoke` are two different tags. + +::: + +![A test in the list with its tag shown next to the title](./images/tags-labels-assignees/2-test-tags.png) + +## Add a Label + +Use labels when a test needs more information than a simple tag can provide. + +1. Open the test or suite editor. +2. Click **Set labels**. +3. Select a label or custom field. +4. Set its value. + +The label appears on the test with its value. + +To label several tests at once, use the **Labels** action in the bulk panel. For the labels available in your project and how they are set up, see [Labels and custom fields](https://docs.testomat.io/advanced/tags-labels/labels-and-custom-fields) and [Tags](https://docs.testomat.io/advanced/tags-labels/tags/). + +## Assign a Test + +Assign a test to show who is responsible for it. The user's avatar appears on the test. + +1. Open the test on the **Tests** page. +2. Click the user icon in the top-right corner. +3. Select a project member. + +Use the search field to find a member quickly, or pick **Unassigned** to remove the assignment. + +![The list of project users in the assign dropdown](./images/tags-labels-assignees/3-assign-test.png) + +:::note + +Only project members can be assigned to tests. If you don't see the person you need, add them to the project first. + +::: + +## Test Assignment and Run Assignment + +A test assignment and a run assignment have different purposes. + +| | Applies to | Shows | +| --- | --- | --- | +| **Test assignment** | The test, until someone changes it | Who is responsible for the test | +| **Run assignment** | One test run only | Who is running the test in that run | + +Assigning a test in a run does not change its test assignment. + +## Next Steps + +- [Create a Test](./create-a-test.md) +- [Test Attachments](./test-attachments.md) +- [Tags](https://docs.testomat.io/advanced/tags-labels/tags/) + \ No newline at end of file diff --git a/src/content/docs/project/tests/test-attachments.md b/src/content/docs/project/tests/test-attachments.md new file mode 100644 index 00000000..7503d634 --- /dev/null +++ b/src/content/docs/project/tests/test-attachments.md @@ -0,0 +1,132 @@ +--- +title: Test Attachments +description: Add files, images, and drawings to a test, view attachments, and restore deleted files. +type: article +url: https://docs.testomat.io/project/tests/test-attachments +head: + - tag: meta + attrs: + name: keywords + content: test attachments, upload file, attach screenshot, resize image, drawing editor, preview attachment, delete attachment, restore attachment, Testomat.io +--- + +Add screenshots, logs, sample files to a test. There are two places a file can be added: + +| Where | Use it for | +| --- | --- | +| **The Attachments tab** | Supporting files | +| **The test description** | Files the tester needs to see as part of the steps | + +## Add Attachments to a Test + +1. Open the test. +2. Click the **Attachments** tab. +3. Click **Browse a file**, or drag and drop the file into the upload area. + +![The attachments area with the Browse a file button](./images/attachments/1-attach-file.png) + +The file appears on the test's **Attachments** tab. + +## Add Attachments to the Description + +Add an image to the description when it belongs to the test instructions. + +1. Open the test editor. +2. Click **Attachment**. +3. Select a file, drag and drop it into the upload area, or paste it from the clipboard. +4. Click the uploaded image to add it to the description. + +![The attachment dialog open inside the test editor](./images/attachments/2-test-editor-attachment.png) + +The image now appears in the test description and on the **Attachments** tab. + +### Resize an Image + +You can change the size of images added to the description. + +1. Hover over the image. +2. Click **Large**, **Small**, or **Default**. + +![The resize button that appears when hovering over an attached image](./images/attachments/3-resize-screenshot.png) + +:::note + +The size applies to all images in that test. Choose a size that works well for the largest image. + +::: + +## Add a Drawing + +Use a drawing to highlight an area of a screen or explain an interaction. + +1. Open the test and click **Edit**. +2. Click **Draw**. +3. Add the elements you need. +4. Adjust their styles. +5. Click **Save**. + +![Drawing modal window in the test editor](./images/attachments/4-drawing-modal.png) + +## Preview an Attachment + +You can open supported files in Testomat.io without downloading them. + +1. Open a test, suite, or folder from the **Tests** page. +2. Open the **Attachments** tab. +3. Click an attachment. +4. Use **Fit to width/height** or **Full screen** to change the view. + +![The attachment preview window with the fit and full screen controls](./images/attachments/5-view-attachment.png) + +Testomat.io can preview these file types: + +| Type | Formats | +| --- | --- | +| **Code and data** | `.json`, `.xml`, `.html`, `.sql`, `.js`, `.py`, `.java`, `.svg` | +| **Logs and text** | `.txt`, `.log`, `.properties`, `.csv` | +| **Scripts** | `.bat`, `.sh` | +| **Documents** | `.pdf` | + +If a file type is not supported, download the file and open it on your computer. + +## Delete an Attachment + +You can delete an attachment from the test view or while editing the test. + +:::note + +Deleted attachments stay available for **30 days**, so you can restore one if you remove it by mistake. After 30 days they are permanently removed. + +::: + +### From the Test View + +1. Open the test. +2. Click **Attachments**. +3. Click the **Delete** icon. +4. Confirm the deletion. + +### From edit mode + +1. Open the test and click **Edit**. +2. Open the **Attachments** tab. +3. Click the **Delete** icon. +4. Confirm the deletion and save the test. + +## Restore an Attachment + +1. Open the test or suite. +2. Open the **Attachments** tab. +3. Click **Restore**. +4. Select an attachment to restore, or click **Restore All**. + +![Restore attachment button](./images/attachments/6-restore-attachment.png) + +The restored files return to the **Attachments** tab. + +## Next Steps + +- [Edit Test Steps](https://docs.testomat.io/project/tests/edit-test-steps) +- [Test Steps and Expected Results](https://docs.testomat.io/project/tests/test-steps-and-expected-results) +- [Create a Test](https://docs.testomat.io/project/tests/create-a-test) + diff --git a/src/content/docs/project/tests/test-case-creation-and-editing.md b/src/content/docs/project/tests/test-case-creation-and-editing.md deleted file mode 100644 index abfd7865..00000000 --- a/src/content/docs/project/tests/test-case-creation-and-editing.md +++ /dev/null @@ -1,575 +0,0 @@ ---- -title: Test Case Creation and Editing -description: Learn how to create and manage test cases effectively in Testomat.io. This guide covers building test scenarios, applying various test design techniques, and integrating them into your workflow for streamlined test management and automation. -type: article -url: https://docs.testomat.io/project/tests -head: - - tag: meta - attrs: - name: keywords - content: test case creation, test design, test management, test automation, testing tools, Testomat.io, software testing, test scenarios, automated tests, testing workflow ---- - -When a new project is created, there are multiple options to start: - -![Choose what to do next](./images/2023-08-03_00.37.59@2x.png) - -1. Create new suite and start adding tests -2. Import automated tests from source code -3. Import tests from CSV file from another Test Management System - -## Creating a Test - -Tests are created within a suite. - -![Create suite](./images/2023-08-03_00.40.35@2x.png) - -To create a new suite use "+" button or input field. -Open a newly created suite. - -To add a new test to the suite you are currently in, click on **New Test** button. - -![Create a test](./images/2023-08-03_00.42.32@2x.png) - -Then input the name and the description of your test. - -![Create test name and test description](./images/2023-08-03_00.45.26@2x.png) - -It is also possible to create the test straightaway from this screen. Simply input the test's title and click on the **Create** button. You can add the description at any time later. - -![Quick test creation](./images/2023-08-03_00.49.14@2x.png) - -Repeating these steps, you can easily add as many tests as you need within a reasonable period of time. - -Also, you can use shortcut commands to create/edit Test Cases or Suites. Visit the [Keyboard Shortcuts](https://docs.testomat.io/usage/keyboard-shortcuts/) page to learn more. - -## Edit Steps in Test Case Preview - -After your test cases are created, Testomat.io offers a convenient feature for quick editing - **Edit Steps**. This allows you to modify steps and expected results directly from the test case preview page. - -To use this feature, ensure that the **Steps** title is included in the test case description. Once that is set, you will see the **Edit Steps** option near the **Steps** title. - -To edit steps from the test case preview window, follow these steps: - -1. Click the Edit Steps button. - -![Edit steps](./images/Edit_steps_1.png) - -2. Click Add Step button on displayed modal. - -![Edit steps](./images/Edit_steps_2.png) - -3. Add steps and expected results, if needed. -4. Click Save button. - -![Edit steps](./images/Edit_steps_3.png) - -Example of test case after editing: - -![Edit steps](./images/Edit_steps_4.png) - -:::note - -If you want to use the **Edit Steps** feature on a test case that already has steps added, be aware that it will affect the previous formatting! - -::: - -For example, if you used the pattern displayed below, after clicking **Edit Steps** you need to delete **Expected result** wording as it will be added automatically after you save changes. - -``` -## Steps - -* Step 1 - Expected result: Step 1 -* Step 2 - Expected result: Step 2 -* Step 3 - Expected result: Step 2 -``` - -Test Case before editing: - -![Edit steps](./images/Edit_steps_5.png) - -Test Case after editing: - -![Edit steps](./images/Edit_steps_6.png) - -## Save Your Tests - -Testomat.io Editor offers options designed to streamline your test and suite management workflow. Lets have look: - -![saving options](./images/save_tests.png) - -Save: promptly save your changes while staying on the current test. - -Save + View Test: save your work while immediately viewing the test in question. - -Save + Go To Suite: save your changes and seamlessly navigate to the suite you're working on. - -Save + Close All: ensures all open tests and suites are saved and closed simultaneously. - -## Add Attachments to Test - -First of all, you need to open the test that you want to add the attachment to. - -![Open test](./images/2023-08-03_01.05.06@2x.png) - -Click on the **Attachments** tab. - -![Open attachments](./images/2023-08-03_01.06.27@2x.png) - -Add your attachment via **Browse a file** or simply drag and drop it. - -![Click on attachments](./images/2023-08-03_01.07.03@2x.png) - -You can also add attachmennts to the test descrption: - -1. Click on the **Attachment** button. -2. Select a file from your PC, or drag and drop it onto the area. You can also paste a file from the clipboard. -3. Click on the image that has been downloaded. - -![Testomatio.io - Insert attachment in a test description](./images/New_9mLj3wh3_2024-10-07.png) - -Once you have completed the steps, you will see the attachment in the test case description: - -![Testomatio.io - Insert attachment in a test description](./images/New_8DanPb4g_2024-10-08.png) - -## Resize Attached Images in a Test Case - -All images attached to a test case are displayed on the preview page at their default size. - -To change the size of an attached image for a better view, follow these steps: - -1. Hover over the attachment. -2. Click on the displayed button. - -![Testomatio.io - Image resize](./images/resize_image.png) - -By clicking on the resize button on one image, all attachments in the test case will automatically resize. - -## Add Drawing to Test - -Including drawings in test case descriptions can improve clarity by visually representing complex UI layouts and interactions that are difficult to explain through text alone. - -To add a drawing to a test case, enter the edit mode and click on the **Draw** button. - -![Testomatio.io - Draw Editor](./images/New_OwQMWpps_2024-10-07.png) - -You'll see a window with a set of drawing tools. You can select different elements from the top panel (2) and apply styles to them from the side panel (3). When you are done with the drawing, click on the **Save** button (4). - -![Testomatio.io - Draw Tools](./images/New_VxPGvi8Y_2024-10-07.png) - -After saving the changes in the edit mode, you will see a preview of the drawing in the test case description: - -![Testomatio.io - Draw Preview](./images/New_1hpi4Xy4_2024-10-07.png) - -## Preview Attachments - -Testomat.io provides a built-in previewer that allows you to check files directly in your browser, without the need of downloading them just to check their contents. - -1. On **'Tests'** page open Test Case (Suite/Folder). -2. Go to **'Attachments'** tab. -3. Click on any attachment to open the preview window. -4. Adjust your view: Click the **'Fit to width/height'** or **'Full screen'** buttons to optimize the display. - -![Testomatio.io - Attachments Preview](./images/Preview_attach_1.gif) - -4. Use keyboard combinations to navigate between attached files. - -![Testomatio.io - Attachments Preview](./images/Preview_attach_2.png) - -**Supported Preview Formats:** - -In addition to standard image files, you can preview the following types: - -- **Code & Data:** `.json`, `.xml`, `.html`, `.sql`, `.js`, `.py`, `.java`, `.svg` - -- **Logs & Text:** `.txt`, `.log`, `.properties`, `.csv` - -- **Scripts:** `.bat`, `.sh` - -- **Documents:** `.pdf` - -![Testomatio.io - Attachments Preview](./images/Preview_attach_3.gif) - -:::note - -If a file type is not supported for preview, the system will prompt you to download it to view it locally. - -::: - -## Delete Attachment from Test Case - -Save time by quickly deleting unnecessary attachments, ensuring your test cases remain relevant and clutter-free. To delete attachment: - -1. On **'Tests'** page open Test Case. -2. Click **'Attachments'** tab. -3. Click **'Delete'** icon on the attachment you want to delete. - -![Testomat.io - Delete attachment](./images/Delete_attachment_1.png) - -4. Confirm action. - -![Testomat.io - Delete attachment](./images/Confirm_deleting_1.png) - -OR - -1. On **'Tests'** page open Test Case. -2. Click **'Edit'** button. - -![Testomat.io - Delete attachment](./images/Delete_attachment_2.png) - -3. Click **'Attachments'** tab inside edit mode. -4. Click **'Delete'** icon on the attachment you want to delete. - -![Testomat.io - Delete attachment](./images/Delete_attachment_3.png) - -5. Confirm action and Save changes. - -:::note - -All deleted Attachments are stored for 30 days before being permanently deleted. - -::: - -## Restore Deleted Attachment - -Before the attachment is permanently deleted from the store, you can restore it. To do that: - -1. Open test case (or suite case) with deleted attachments you want to restore. -2. Open **'Attachments'** tab. -3. Click **'Restore'** button. - -![Testomat.io - Restore Deleted Attachment](./images/Restore_attachment_1.png) - -4. Click on a single attachment to restore it. -5. Click **'Restore All'** button to restore all attachments with one click. - -![Testomat.io - Restore Deleted Attachment](./images/Restore_attachment_2.png) - -## Add a Label/Tag to a Test - -This option is the easiest one! You simply need to add the label's name (preceeded by @ char) in the name field of the test. The drop-down list of tags already used in projects appears, when you type the @ symbol. - -![Add tag to a test](./images/New_926xDzhS_2024-08-13.png) - -And now you can see your label/tag in the test list next to the test's title. - -![See the test with tag](./images/2023-08-03_01.01.17@2x.png) - -## Assign a Test to a User - -If you want to assign a certain test to a certain user, you should click on this user icon in the upper right corner of the window, as shown in the picture. - -![Assign user](./images/2023-08-03_01.10.41@2x.png) - -Assign a user from the list of users added to the project by clicking on the user's name. Please note, that you need to make sure the intended user is added to the project first! - -![Choose user](./images/2023-08-03_01.12.09@2x.png) - -Now you can see that this test is assigned to a certain user. The user icon has changed accordingly. - -![See assigned person](./images/2023-08-03_01.12.54@2x.png) - -## Test Priority - -**Priority** helps teams quickly understand the importance of a test and focus on the most critical scenarios first. By assigning a priority, you can better organize test cases, improve visibility, and efficiently manage execution and reporting. - -**Priority can be:** - -- set when creating a new test -- changed at any time while editing an existing test -- updated in bulk for multiple tests at once -- used to filter tests -- visually identified via an icon displayed next to the test title - -**Priority visibility:** - -- priority icon is displayed next to each test title -- priority icon is displayed in the test tree - -This allows teams to instantly focus on the most important tests. - -### Available Priority Levels - -Testomat.io supports the following priority levels: - -- **Low** – low-importance test -- **Normal** – default priority -- **High** – high-importance test -- **Important** – important test -- **Critical** - critical/blocker test - -Each priority level has a dedicated icon to make test importance easily recognizable across the interface. - -### Set Priority When Creating a Test - -When creating a new test, you can assign a priority directly from the test editor: - -1. Navigate to the **'Tests'** page. -2. Click the **'+ Test'** button. -3. Select a suite for test. -4. Click the **'Select'** button. - -![Select destination](./images/att2_1457.png) - -5. Click the **'Priority icon'** to open the list of available priorities next to the **'New Test'** indicator. -6. Select the required priority. -7. Enter the test title. -8. Save the test — the selected priority will be applied. - -![Set priority](./images/att1_1457.png) - -:::note - -If no priority is selected, the test has **normal** priority by default. Consider setting a higher priority for tests that are critical or blockers. - -::: - -### Change Priority When Editing a Test - -You can update the priority of an existing test at any time: - -1. Navigate to the **'Tests'** page. -2. Open the test you want to edit. -3. Click the **'Priority icon'** next to the **'Edit Test'** indicator. -4. Click on the desired priority. -5. Save the test — the changed priority will be applied. - -![Change Priority](./images/att3_1457.png) - -The icon will update immediately to reflect the selected priority. - -### Bulk Assign (Change) Priority - -You can change the priority for multiple tests at once to save time and quickly update large test sets. - -1. Navigate to the **'Tests'** page. -2. Enable **'multi-select'** button and select tests using the checkboxes. -3. Click the **'Priority'** button at the bottom of the screen. -4. In the popup, select the desired priority (e.g., important). -5. Click **'Apply'** button. - -![Bulk Assign Priority](./images/att5_1457.png) - -All selected tests will immediately update to the new priority, and the icons will reflect the change. - -### Filter Tests by Priority - -Testomat.io allows you to filter tests by Priority, making it easy to: - -- focus on High or Important tests during regression or smoke testing. -- quickly narrow down large test suites. -- combine Priority filtering with other filters such as tags, a state or an assignee. - -![Filter by priority](./images/att4_1457.png) - -### Priority-Based Analytics - -In Testomat.io, **Priority** serves as a core attribute for structuring reporting and risk analysis across both project and company levels. - -#### Accessing Project-Level Priority Analytics - -You can isolate metrics by priority within an individual project workspace: - -1. Navigate to the **'Analytics'** page inside your project. -2. Click the **'Filters'** icon in the action bar. -3. Choose your preferred **Priority** levels (e.g., High, Critical) along with any other filter criteria. -4. Click **'Apply'** to update the visual charts and metrics. - -![Testomat.io - Priority Analytics](./images/Priority_analytics_2.gif) - -#### Accessing Company-Level Priority Analytics - -For cross-project oversight, priority data is aggregated globally: - -1. Select **'Analytics'** from the main global workspace navigation. -2. Review aggregated priority distributions across all projects in the **Global Analytics** overview. - -:::note - -To learn more about company-wide aggregated views, check out the [Analytics Board](https://docs.testomat.io/advanced/global-analytics/analytics-board/) page. - -::: - -#### Custom Priority Widgets & Dashboards - -Beyond default views, you can build **custom Analytics Dashboards** using dedicated priority metrics. - -| Widget | What it shows | -|-------|--------------| -| **Failed Runs By Priority** | Highlights where test failures concentrate based on severity levels over time. | -| **Latest Failed Runs By Priority**| Isolates priority distribution specifically for the most recent failed runs. | -| **Latest Run Results By Priority And Status** | Provides a stacked breakdown (Passed, Failed, Skipped) for the latest execution per priority. | -| **Priority By Date** | Tracks failure and execution trends across different priorities over selected timeframes. | -| **Run Results By Priority And Status** | Offers an aggregated overview of historical test outcomes categorized by priority. | - -![Testomat.io - Priority Analytics](./images/Priority_analytics_1.png) - -:::note - -More info about how to create a **Custom Widgets & Dashboards** on [Analytics Dashboards (Widgets)](https://docs.testomat.io/advanced/global-analytics/analytics-dashboards/) page. - -::: - -## Add Dynamic Parameters to a Test - -Lets start with definition of **'Dynamic Parameters'**. - -While standard parameters define your data set, **Dynamic Parameters** are the placeholders you use within your test steps or description. They act as variables that are automatically swapped with real values from your parameter table during execution. - -This ensures that a single test script can dynamically change its behavior or input data for every iteration without you having to write multiple versions of the same test. - -Parameters are used to create data-driven tests. Each parameter will be treated as a separate test during a manual or automated run. - -**To add parameters to your test**: - -1. Navigate to **‘Tests’** in the sidebar. -2. Select specific test. -3. Click the **'Extra button'** icon. -4. Select **'Add Parameter'** from the menu. - -![Add_Parameter](./images/dynamic_param_1.png) - -After a modal with instructions will appear, - -5. Add parameter headers: - -- Enter a name for the header. -- A new **'Parameter header'** will appear automatically for each additional header (or click **'Add column'** button). - -6. Click **'Save'** button after adding all necessary headers. - -![Parameter_header](./images/dynamic_param_2.png) - -7. Add parameter names. -8. Click **'Save'** button. - -![Parameter_names](./images/dynamic_param_3.png) - -Now, your parameters are added, and you can see them at the bottom of the modal, - -![Added_parameters](./images/dynamic_param_4.png) - -or under the test description. - -![Added_parameters_desc](./images/dynamic_param_5.png) - -### Edit Test Parameters - -You are able to edit existing parameters or parameter headers in two methods: - -**Method 1: Editing directly under the test description** - -1. Click the **'Edit'** icon next to the parameter. - -![Edit_icon](./images/edit_dynamic_param_1.png) - -2. Update the parameter name. -3. Click the **'Save'** button. - -![Edit_parameter_name](./images/edit_dynamic_param_2.png) - -4. Click the **'Edit Header'** button. - -![Edit_Header](./images/edit_dynamic_param_3.png) - -5. Update the header name. -6. Click the **'Save'** button. - -![Update_Header_Name](./images/edit_dynamic_param_4.png) - -**To delete a parameter:** - -1. Click the **'Trash'** icon. -2. Click **'OK'** to confirm action on **'Are you sure you want to delete this param?'** pop-up. - -![Delete_parameter](./images/delete_dynamic_param_1.png) - -**Method 2: Editing via the parameter menu** - -1. Click the **'Extra button'** icon. -2. Select **'Add Parameter'** from the extra menu dropdown. - -![Second_Method_delete](./images/edit_dynamic_param_5.png) - -3. Follow the same steps as in Method 1: - -- Click the **'Edit'** icon next to the parameter. -- Update the parameter name. -- Click **'Save'**. - -![Second_Method_Edit_Parameter_Name](./images/edit_dynamic_param_6.png) - -- Click **'Edit Header'** button. -- Update the header name. -- Click **'Save'**. - -![Second_Method_Edit_Header_Name](./images/edit_dynamic_param_7.png) - -**To delete a parameter via the parameter menu:** - -1. Click the **'Extra button'** icon. -2. Select **'Add Parameter'** from the extra menu dropdown. - -![Second_Method_delete](./images/edit_dynamic_param_5.png) - -3. Click the **'Trash'** icon. -4. Click **'OK'** to confirm action on **'Are you sure you want to delete this param?'** pop-up. - -![Second_Method_delete](./images/delete_dynamic_param_2.png) - -### Use Dynamic Parameters in Test Steps - -Once you have defined your **Parameter Headers** (as shown in the steps above), you can reference them directly in your test logic. - -1. **Identify your Header:** Note the exact name of the **'Parameter header'** you created (e.g., `Username` or `Environment`). -2. Click **'Edit'** button for test. - -![Testomat.io - Dynamic Parameters in Test Steps](./images/dynamic_par_in_steps_1.png) - -3. **Insert the Placeholder:** In the Test Description or Steps field, use the syntax `${ParameterName}` or `{{ParameterName}}`. - -**Example:** -``` -Enter an invalid Mobile Number ${Mobile No} - -OR - -Open home page {{URL}}. - -``` - -4. **Save the Test:** Click the **'Save'** button on the test case. - -![Testomat.io - Dynamic Parameters in Test Steps](./images/dynamic_par_in_steps_2.png) - -When you launch the test, Testomat.io will scan for the `${}` and `{{}}` syntax and inject the corresponding value from your parameters table for that specific run iteration. - -:::note - -1. Parameter names are case-sensitive. Ensure the text inside the brackets matches your header name exactly to avoid **"Undefined"** errors during runtime! - -2. For **Titles** use **ONLY** `${ParameterName}` syntax, for **Steps and description** you can use both: `${ParameterName}` or `{{ParameterName}}` . - -![Testomat.io - Dynamic Parameters in Test Steps](./images/dynamic_par_note_1.png) - -::: - -### Launch Test Case with Dynamic Parameters - -When a test case with added parameters is launched — whether as a manual or automated run — it is automatically rendered with actual values. This data-driven approach ensures that your test logic remains clean while covering multiple scenarios. - -**How Parameters Work During Execution:** - -- **Iteration-Based Testing:** Each row in your parameters table is treated as a separate test iteration. -- **Data Substitution:** During the run, the system substitutes the parameter placeholders with the specific data from that row. - -![Testomat.io - Rendering Test Parameters](./images/Rendering_test_param_1.gif) - -- **Comprehensive Reporting:** In the Run Report, each iteration is displayed as an individual test case, complete with its specific test results. - -![Testomat.io - Rendering Test Parameters](./images/Rendering_test_param_2.png) - -This functionality allows you to pinpoint exactly which set of data caused a failure without searching through a single, massive test log. diff --git a/src/content/docs/project/tests/test-priority.md b/src/content/docs/project/tests/test-priority.md new file mode 100644 index 00000000..c2faed6a --- /dev/null +++ b/src/content/docs/project/tests/test-priority.md @@ -0,0 +1,128 @@ +--- +title: Test Priority +description: Set a priority for a test, change it later, update priorities in bulk, and filter tests by priority. +type: article +url: https://docs.testomat.io/project/tests/test-priority +head: + - tag: meta + attrs: + name: keywords + content: test priority, priority levels, critical test, bulk priority, filter by priority, priority analytics, priority widgets, Testomat.io +--- + +Set a priority when creating a test, change it later, or update several tests at once. Priority appears next to the test title and helps you quickly find the tests that need attention. + +![Set a priority on a test, filter tests by level, and see priority in analytics](./images/priority/why-priority-matters.png) + +## Priority Levels + +Choose the level that best describes the importance of the test. + +| Level | Use it for | +| --- | --- | +| **low** | Minor checks that rarely affect a release. | +| **normal** | Most tests. This is the default. | +| **high** | Tests that need extra attention. | +| **important** | Tests that are important for a feature or workflow. | +| **critical** | Tests that can block a release or other important work. | + +Your team can use these levels in the way that works best for your project. For example, you might use **critical** for release blockers, **important** for feature blockers, and **high** for tests that always run in regression. + +Each priority has its own icon, so you can recognize it quickly in the test list and tree. + +## Set Priority When Creating a Test + +Choose the priority while creating the test. + +1. Go to the **Tests** page. +2. Click **+ New** and then **New test**. +3. Enter the test title. +4. Click the priority icon to the left of the title field. +5. Select a priority. +6. Click **Save**. + +![The priority list open next to the New Test indicator](./images/priority/1-priority-dropdown.png) + +:::note + +If you don't select a priority, the test gets **normal** priority. + +::: + +## Change Priority + +You can change the priority of an existing test at any time. + +1. Open the test on the **Tests** page. +2. Click the priority icon to the left of the title field. +3. Select a new priority. +4. Close the test. + +The new priority applies immediately. You don't need to save the test. + +## Change Priority for Multiple Tests + +Update several tests at once instead of opening them one by one. This is useful when you need to set priorities for a whole suite or a group of tests. + +1. Go to the **Tests** page. +2. Turn on **multi-select**. +3. Select the tests you want to update. +4. Click **Priority** at the bottom of the page. +5. Select a priority. +6. Click **Apply**. + +![The bulk priority popup with a priority selected and the Apply button](./images/priority/2-priority-bulk-change.png) + +## Filter Tests by Priority + +Use the priority filter to quickly find tests with a specific priority. + +1. Go to the **Tests** page. +2. Click the filter icon next to the search field. +3. In **Priority**, select one or more levels. +4. Click **Apply**. + +![The Tests page filter panel with priority levels selected](./images/priority/3-priority-filter.png) + +You can combine the priority filter with other filters, such as tags, state, or assignee. + +## Use Priority in Analytics + +Priority is also available in project and company analytics. + +### Project Analytics + +1. Open **Analytics** in your project. +2. Click the **Filters** icon. +3. Select the priority levels you want to see. +4. Add any other filters you need. +5. Click **Apply**. + +![The Analytics page filtered by priority, with the charts updated](./images/priority/4-priority-analytics.png) + +The charts update to show data for the selected priorities. + +### Company Analytics + +Open **Analytics** from the global workspace navigation to see priority data across your projects. For more information, see [Analytics Board](https://docs.testomat.io/advanced/global-analytics/analytics-board/). + +### Priority Widgets + +You can also add priority-based widgets to an analytics dashboard. + +| Widget | What it shows | +| --- | --- | +| **Failed Runs By Priority** | Failed runs grouped by priority over time. | +| **Latest Failed Runs By Priority** | Failed runs from the latest test runs, grouped by priority. | +| **Latest Run Results By Priority And Status** | Passed, failed, and skipped results for the latest runs, grouped by priority. | +| **Priority By Date** | Run and failure trends for each priority over a selected period. | +| **Run Results By Priority And Status** | Run results across your test history, grouped by priority. | + +For more information, see [Analytics Dashboards (Widgets)](https://docs.testomat.io/advanced/global-analytics/analytics-dashboards/). + +## Next Steps + +- [Tags, Labels, and Assignees](./tags-labels-and-assignees.md) +- [Create a Test](./create-a-test.md) +- [Bulk Edit](https://docs.testomat.io/advanced/bulk-edit-folder) + diff --git a/src/content/docs/project/tests/test-steps-and-expected-results.md b/src/content/docs/project/tests/test-steps-and-expected-results.md new file mode 100644 index 00000000..837ea513 --- /dev/null +++ b/src/content/docs/project/tests/test-steps-and-expected-results.md @@ -0,0 +1,159 @@ +--- +title: Test Steps and Expected Results +description: Add test steps and expected results in a Classical project using simple Markdown formats. +type: article +url: https://docs.testomat.io/project/tests/test-steps-and-expected-results +head: + - tag: meta + attrs: + name: keywords + content: test steps, expected results, Markdown test cases, steps database, autocompletion, nested steps, steps table, Testomat.io +--- + +In a Classical project, Testomat.io reads test steps from the `## Steps` section of the description. Add `## Steps` and write your steps below. You can format the steps and expected results in several ways, depending on how you want the test to read. + +![A step written once joins the Steps Database and is offered in every other test](./images/test-steps/steps-database.png) + +## Choose a Format + +| Format | Use it when | Saved to the steps database | +| --- | --- | --- | +| Plain text | The test is short and the result matters only here | No | +| Separate steps | You want to reuse the result in other tests | Yes | +| Nested list | One step has several things to check | Yes | +| Separate section | You want to review steps and checks separately | Yes | +| Table | You have many short steps and want a compact test | Yes | +| Subheadings | A step has several actions or detailed checks | Yes | + +Steps saved to the database are offered in autocompletion the next time you write a test. + +## Expected Results as Plain Text + +Put the expected result on the next line after the step. + +```markdown +## Steps +* Go to the payment page + Expected result: Payment page loads +* Enter credit card details and submit + Expected result: Payment is processed and confirmation page loads +``` + +Expected results written this way stay in the test and are not added to the steps database. + +## Expected Results as Separate Steps + +Make each expected result a separate list item. + +```markdown +## Steps +* Go to the payment page +* Verify that Payment page loads +* Enter credit card details and submit +* Verify that Payment is processed and the confirmation page loads +``` + +Starting expected results with `Verify that` also makes them easy to scan. + +## Expected Results as a Nested List + +Put the expected results under the step they belong to. + +```markdown +## Steps +* Go to the payment page + 1. Verify that Payment page loads +* Enter credit card details and submit + 1. Verify that Credit card number is accepted + 2. Verify that Expiration date is accepted + 3. Verify that CVV code is accepted +* Submit payment + 1. Verify that Payment is processed + 2. Verify that Confirmation page loads +``` + +:::note + +When a numbered step contains an unordered list, indent the list by 4 spaces or 1 tab so Markdown keeps it under the step. + +::: + +```markdown +## Steps +1. Go to the payment page + - Verify that Payment page loads + - Verify that payment page matches the design +2. Enter credit card details and submit + - Verify that Credit card number is accepted + - Verify that Expiration date is accepted + - Verify that CVV code is accepted +``` +::: + +## Expected Results in a Separate Section + +List all steps first, then add their expected results under `## Expected Results`. Keep both lists in the same order so each result matches its step. + +```markdown +## Steps +1. Go to the payment page +2. Enter credit card details and submit + +## Expected Results +1. Payment page loads +2. Payment is processed and confirmation page loads +``` + +## Steps in a Table + +Put each step and its expected result in the same row. + +```markdown +## Steps + +| Step | Expected results | +| --- | --- | +| Go to the payment page | Payment page loads | +| Enter credit card details | Credit card details are accepted | +| Submit payment | Payment is processed and confirmation page loads | +``` + +For long expected results, a list is easier to read than a table. + +## Expected Results as Subheadings + +Use the step as a subheading and put its expected results below it. + +```markdown +## Steps + +### Go to the payment page +* Verify that Payment page loads + +### Enter credit card details +* Enter credit card number + 1. Verify that Credit card number is accepted +* Enter expiration date + 1. Verify that Expiration date is accepted +* Enter CVV code + 1. Verify that CVV code is accepted + +### Submit payment +* Verify that Payment is processed +* Verify that Confirmation page loads +``` + +Save the test and open its preview. Your steps appear under **Steps**, and any reusable results show up in autocompletion the next time you type a step. + +:::note + +The **Edit steps** control on the test preview page converts your steps to its own format, which can change the original formatting. See [Classical Test Case Editor](https://docs.testomat.io/project/tests/classical-test-case-editor). + +::: + +## Next Steps + +- [Classical Test Case Editor](https://docs.testomat.io/project/tests/classical-test-case-editor) +- [Steps Database](https://docs.testomat.io/project/steps-snippets/steps) +- [Keyboard Shortcuts](https://docs.testomat.io/advanced/shortcuts) + \ No newline at end of file diff --git a/src/content/docs/tutorials/Manual-Testing-Classic.md b/src/content/docs/tutorials/Manual-Testing-Classic.md index 9f14fab8..1ae7e9b4 100644 --- a/src/content/docs/tutorials/Manual-Testing-Classic.md +++ b/src/content/docs/tutorials/Manual-Testing-Classic.md @@ -161,4 +161,4 @@ To share the outcome with your team or stakeholders, use the share option on the ## Next steps * Ready to add automation? See [Import Tests From Source Code](https://docs.testomat.io/project/import-export/import/import-tests-from-source-code/#_top). -* See [Test Case Creation and Editing](https://docs.testomat.io/project/tests/test-case-creation-and-editing/#_top). \ No newline at end of file +* See [Create a Test](https://docs.testomat.io/project/tests/create-a-test). \ No newline at end of file