testzeus-tags#
Organize and categorize tests with tags in TestZeus.
Category: data · Version: 1.0.0 · Requires: testzeus-auth
Triggers: tag, tags, organize, label, filter by tag, add tag, create tag, tagging, categorize tests
Overview#
Tags in TestZeus help organize and categorize tests for easy filtering, grouping, and execution. Tags can be simple labels or key-value pairs.
Quick Reference#
# Create tag
testzeus tags create --name "regression" --value "suite"
# List tags
testzeus tags list
# Get tag
testzeus tags get tag_id
# Update tag
testzeus tags update tag_id --name "critical" --value "p0"
# Delete tag
testzeus tags delete "tag-name"
# Use in tests
testzeus tests create --name "Test" --tags regression --tags smoke
# Filter by tag
testzeus tests list --filters tags?="smoke"
# Run by tag
testzeus test-run-group execute --name "Smoke" --tags smoke
Tag Types#
Simple Tags#
# Tag with name only
testzeus tags create --name "smoke"
testzeus tags create --name "regression"
testzeus tags create --name "e2e"
Key-Value Tags#
# Tag with name and value
testzeus tags create --name "priority" --value "high"
testzeus tags create --name "priority" --value "medium"
testzeus tags create --name "priority" --value "low"
testzeus tags create --name "suite" --value "checkout"
testzeus tags create --name "suite" --value "login"
Create Tags#
Basic Creation#
# Simple tag
testzeus tags create --name "smoke"
# Key-value tag
testzeus tags create --name "priority" --value "high"
# Tag for test type
testzeus tags create --name "type" --value "integration"
# Tag for feature area
testzeus tags create --name "feature" --value "checkout"
Tag Naming Conventions#
Convention |
Example |
Use Case |
|---|---|---|
|
|
Test category |
|
|
Execution priority |
|
|
Feature area |
|
|
Environment |
|
|
Test suite |
Manage Tags#
List Tags#
# List all tags
testzeus tags list
# Filter by name
testzeus tags list --filters name=test
# Get tag details
testzeus tags get tag_id
Update Tags#
# Update tag value
testzeus tags update tag_id --name "priority" --value "critical"
# Rename tag
testzeus tags update tag_id --name "new-name"
Delete Tags#
# Delete by name
testzeus tags delete "smoke"
# Delete by ID
testzeus tags delete tag_id
Use Tags with Tests#
Create Test with Tags#
# Single tag
testzeus tests create \
--name "Login Test" \
--feature-file ./login.feature \
--tags smoke
# Multiple tags
testzeus tests create \
--name "Checkout Test" \
--feature-file ./checkout.feature \
--tags regression \
--tags e2e \
--tags priority-high
# Key-value tags
testzeus tests create \
--name "Payment Test" \
--feature-file ./payment.feature \
--tags priority-high \
--tags feature-payment \
--tags type-integration
Update Test Tags#
# Add tags
testzeus tests update test_id --tags new-tag
# Replace all tags
testzeus tests update test_id \
--tags smoke \
--tags regression
List Tests by Tag#
# Filter by single tag
testzeus tests list --filters tags?="smoke"
# Filter by tag value
testzeus tests list --filters tags?="priority-high"
# Multiple tag filter (AND)
testzeus tests list --filters tags?="smoke" --filters tags?="regression"
Run Tests by Tag#
Execute Tag Group#
# Run all smoke tests
testzeus test-run-group execute \
--name "Smoke Tests" \
--tags smoke
# Run regression tests
testzeus test-run-group execute \
--name "Regression Suite" \
--tags regression
# Run priority-high tests
testzeus test-run-group execute \
--name "Critical Tests" \
--tags priority-high
Multiple Tags#
# Run smoke AND regression tests
testzeus test-run-group execute \
--name "Critical Smoke" \
--tags smoke \
--tags regression
# Run any of the tags (OR behavior)
testzeus test-run-group execute \
--name "Multi-Category" \
--tags smoke,e2e,integration
Tag Best Practices#
1. Consistent Naming#
# Good
testzeus tags create --name "type" --value "smoke"
testzeus tags create --name "type" --value "regression"
# Avoid
testzeus tags create --name "smoke_test"
testzeus tags create --name "smoke-tests"
testzeus tags create --name "SmokeTests"
2. Hierarchical Tags#
type:smoke
type:regression
type:integration
priority:high
priority:medium
priority:low
feature:checkout
feature:login
feature:search
3. Meaningful Values#
# Good
testzeus tags create --name "priority" --value "p0"
testzeus tags create --name "priority" --value "p1"
testzeus tags create --name "priority" --value "p2"
# Avoid
testzeus tags create --name "priority" --value "1"
testzeus tags create --name "priority" --value "a"
Common Workflows#
Setup Regression Suite#
# 1. Create tags
testzeus tags create --name "suite" --value "regression"
testzeus tags create --name "type" --value "e2e"
# 2. Tag existing tests
testzeus tests update test_id --tags suite-regression
# 3. Run by tag
testzeus test-run-group execute \
--name "Regression Suite" \
--tags suite-regression
CI/CD Pipeline#
# 1. Create CI tags
testzeus tags create --name "ci" --value "required"
testzeus tags create --name "ci" --value "optional"
# 2. Tag tests
testzeus tests update critical_test --tags ci-required
testzeus tests update nice_test --tags ci-optional
# 3. Run required tests in CI
testzeus test-run-group execute \
--name "CI Required" \
--tags ci-required
Feature Branches#
# 1. Create branch tag
testzeus tags create --name "branch" --value "feature-new-checkout"
# 2. Tag feature tests
testzeus tests update checkout_test --tags branch-feature-new-checkout
# 3. Run branch tests
testzeus test-run-group execute \
--name "Feature Tests" \
--tags branch-feature-new-checkout
SDK Usage#
from testzeus_sdk import TestZeusClient
async def main():
async with TestZeusClient() as client:
# Create tag
tag = await client.tags.create({
"name": "priority",
"value": "high"
})
# List tags
tags = await client.tags.get_list()
# Create test with tags
test = await client.tests.create(
name="Critical Test",
test_feature="Feature: ...",
tags=["priority-high", "smoke"]
)
# Filter tests by tag
smoke_tests = await client.tests.get_list(
filters={"tags": {"operator": "?=", "value": "smoke"}}
)
# Run by tag
run = await client.test_run_groups.create_and_execute(
name="Smoke Suite",
tags=["smoke"]
)
Error Handling#
Common Errors#
Error |
Cause |
Solution |
|---|---|---|
|
Wrong name |
List tags first |
|
Tag exists |
Use existing tag |
|
Tests using tag |
Remove from tests first |
Tag Conflicts#
# Check if tag is in use
testzeus tests list --filters tags?="tag-name"
# If in use, remove from tests first
testzeus tests update test_id --tags ""
Component Schema#
Use TagChip component:
{
"component": "TagChip",
"props": {
"name": "smoke",
"value": null,
"color": "blue"
}
}
{
"component": "TagChip",
"props": {
"name": "priority",
"value": "high",
"color": "red"
}
}
Related Skills#
testzeus-test-operations - Running tests by tags
testzeus-test-authoring - Creating tests with tags