Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
39 changes: 37 additions & 2 deletions src/content/docs/advanced/tags-labels/tags-or-labels.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ Tags, Labels & Custom Fields can help users to streamline their testing process,
While both **Tags** and **Labels** help organize and categorize your tests, they serve slightly different purposes and excel in different situations. Understanding these differences can help you make the most of them.

**Tags** are typically used to assign a specific keyword or category to test cases, making it easier to group, filter, or search for related tests. They are often used for ad-hoc categorization and usually have no strict hierarchy.
For example, Tags can represent various attributes, such as the type of test (for ex., @Regression, @Smoke, @E2E), associated features, or testing phases.
For example, Tags can represent various attributes, such as the type of test (for ex., `@Regression`, `@Smoke`, `@E2E`), associated features, or testing phases.

In automation testing, a **Tag** is a segment of extra metadata that you can include on an individual test case or a group of tests. These tags are directly embedded in the test code, and allows you to specify additional information for your tests, which you can use to enhance your test runs. The testing tool will execute only tests containing that piece of information, as almost all modern testing tools and frameworks have integrated support for running a subset of tests, using tags. For example, execute all tests tagged as @Regression but skip @Smoke tests.
In automation testing, a **Tag** is a segment of extra metadata that you can include on an individual test case or a group of tests. These tags are directly embedded in the test code, and allows you to specify additional information for your tests, which you can use to enhance your test runs. The testing tool will execute only tests containing that piece of information, as almost all modern testing tools and frameworks have integrated support for running a subset of tests, using tags. For example, execute all tests tagged as `@Regression` but skip `@Smoke` tests.

![Testomatio - Tag in BDD](./images/Tags_in_BDD.png)

Expand Down Expand Up @@ -56,4 +56,39 @@ Learn how to create and assign **Tags** in Testomat.io to organize your test cas

Learn how to use **Labels** and **Custom Fields** in Testomat.io to organize and categorize tests, suites, runs, plans, and steps on the [Labels and Custom Fields](https://docs.testomat.io/advanced/tags-labels/labels-and-custom-fields) page.

:::

## Tags vs. Labels: Inheritance and Management

To effectively organize your testing workspace, it is crucial to understand how **Tags** and **Labels** behave. Both follow a top-down inheritance model, meaning their configuration at the Suite level directly impacts the individual tests within that suite.

### Inheritance Logic

Both **Tags** (`@tag`) and **Labels** (`Key:Value pairs`) utilize the same inheritance behavior in Testomat.io:

- **'Top-Down' Propagation:** Any Tag or Label applied to a Suite is automatically inherited by every test inside that suite.

- **Management Constraint:** If you attempt to remove a tag or label from an individual test and it persists after saving, it is likely assigned to the **Parent Suite**. As long as the suite holds a specific tag/label, the test will inherit it. To remove it from the test, you must remove it from the suite level.

:::note

**Best Practice:** Only assign Tags and Labels at the Suite level if they are universal to every test in that folder. For more granular control, apply them directly to tests using the multi-select tool to avoid inheritance conflicts.

:::

### How to Properly Remove Inherited Attributes

If a **Tag** or **Label** is assigned at the Suite level but should not apply to one specific test, follow this workflow:

1. **Remove from Suite:** Navigate to the Suite settings and delete the Tag or Label. This will remove it from all tests in that folder.

2. **Re-apply via Bulk Management:** Enable Multi-select mode in your project.

- Select all tests that should have the attribute (excluding the one you want to keep clean).
- Use the **'bulk action menu'** to add the Tag or Label back to the selected group.

:::note

Visit [Managing Inherited Tags](https://docs.testomat.io/advanced/tags-labels/tags/#managing-inherited-tags) section for more information.

:::
82 changes: 61 additions & 21 deletions src/content/docs/advanced/tags-labels/tags.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ Tags help organize and categorize Test Cases and Suites for easier filtering, re

You can easily create tags directly to Test Cases or Suites via their titles.

1. Open Test Case/ Suite
2. Click the **Edit** button
3. Create tag starting with **@** symbol, directly within the Test Case or Suite title
4. Click the **Save** button
1. Open Test Case/Suite.
2. Click the **Edit** button.
3. Create tag starting with **@** symbol, directly within the Test Case or Suite title.
4. Click the **Save** button.

![Testomatio - Add tag](./images/Add_Tag.gif)

Expand All @@ -41,53 +41,93 @@ In case if you don't see a previously created tag in the autocomplete dropdown,

You can also create tags for multiple Suites or Tests at once using the **Multi-select** feature.

1. Go to the **Tests** page
2. Enable **Multi-select** mode by clicking the **Multi-select** button
3. Select one or more Folder/Suites or Tests using the checkboxes
4. Click the **@ Tags** button in the bottom action bar
1. Go to the **Tests** page.
2. Enable **Multi-select** mode by clicking the **Multi-select** button.
3. Select one or more Folder/Suites or Tests using the checkboxes.
4. Click the **@ Tags** button in the bottom action bar.

![Tags button](./images/att1_bulk_tag.png)

5. In the **Select tags for suites** window, click **Create new tags**

![Create new tags link](./images/att3_bulk_tag.png)

6. Enter a new tag name starting with the **@ symbol** and click **Add** button
6. Enter a new tag name starting with the **@** symbol and click **Add** button

![New tag is created](./images/att4_bulk_tag.png)

This method allows you to **create** and immediately **apply a new tag** to multiple items in just a few clicks. It helps you save time, speed up routine actions, and maintain consistent tagging across a large number of test cases or suites — without having to open them individually.

## How to Bulk Update Tags
## How to Bulk Update/Remove Tags

Using the same **Multi-select** feature, you can manage tags for multiple **Folders/Suites** or **Tests** at once — adding or removing tags in bulk.

1. Go to the **Tests** page
2. Enable **Multi-select** mode by clicking the **Multi-select** button
3. Select one or more Folder/Suites or Tests using the checkboxes
4. Click the **@ Tags** button in the bottom action bar
1. Go to the **Tests** page.
2. Enable **Multi-select** mode by clicking the **Multi-select** button.
3. Select one or more Folder/Suites or Tests using the checkboxes.
4. Click the **@ Tags** button in the bottom action bar.

![Tags button](./images/att1_bulk_tag.png)

5. In the **Select tags for suites** window, choose the tag(s) you want to manage:

- To assign a tag, search for it and/or select it from the list
- To remove a tag, search for it and/or select it from the list
- To assign a tag, search for it and/or select it from the list.
- To remove a tag, search for it and/or select it from the list.

6. Click **Add** to assign the selected tag(s)
7. Click **Remove** to delete the selected tag(s)
6. Click **Add** to assign the selected tag(s).
7. Click **Remove** to delete the selected tag(s).

![Add or Remove tags](./images/att2_bulk_tag.png)

This method allows you to efficiently manage tags across multiple items, ensuring consistent organization and saving time.

:::note
## Managing Inherited Tags

When tags are applied at the Suite or Folder level, all nested elements (child Suites or Tests) automatically inherit these tags. However, removing tags from individual nested items is not possible. You can only remove the tags at the same level where they were originally applied.
Partial removal (e.g., deleting a few tags from a single test inside a tagged Suite) is not supported.
Tags applied directly at the **Suite** or **Folder** level follow a **'top-down'** rule:, all nested elements (child Suites or Tests) automatically inherit these tags. Because these tags belong to the parent, they cannot be deleted from individual child tests. You can only remove the tags at the same level where they were originally applied.

:::note
Partial removal (e.g., deleting a few tags from a single test inside a tagged Suite) is not supported.
:::

**To 'remove' an inherited tag from a single test, you must follow these steps:**

1. **Remove the tag from the Parent:**
- Navigate to the Suite/Folder details page.
- Click **'Edit'** button (or double-click on suite title).
- Remove the tag on Suite level.

![Testomat.io - Remove tags](./images/Remove_suite_tag_1.gif)

This will remove it from all nested items.

2. **Re-apply to specific tests:** If the other tests in that suite still need the tag, you must re-apply it to them **individually** or via **Multi-select**. For multi-select:
- Enable **Multi-select** mode by clicking the **Multi-select** button.
- Select one or more Tests using the checkboxes.
- Click the **@ Tags** button in the bottom action bar.
- Select tag from the list or create a new one.
- Click **'Add'** button.

![Testomat.io - Remove tags](./images/Remove_suite_tag_2.gif)

### Bypassing Inheritance: Bulk Tagging at the Test Level

If you want to tag every test in a suite but maintain the flexibility to remove them individually later, apply the tag to the Tests directly rather than the Suite itself:

1. Enable **Multi-select** mode by clicking the **Multi-select** button.
2. Click **'Select All Tests'** option.

![Testomat.io - Add tags](./images/Add_suite_tag_1.png)

3. Click the **@ Tags** button in the bottom action bar.
4. Select tag from the list or create a new one.
5. Click **'Add'** button.

![Testomat.io - Add tags](./images/Add_suite_tag_2.png)

This method ensures the tag exists on the test level, giving you total control to add or remove it from any specific case at any time.

![Testomat.io - Add tags](./images/Add_suite_tag_3.gif)

## How to Filter by Tags

1. Enable Filters
Expand Down
Loading