Test Cases

A test case represents a single test scenario, like "User can add item to cart" or "Password reset sends email".

Creating a Test Case

  1. Navigate to a test suite
  2. Click New Test
  3. Choose a creation method:
    • Generate from Video - Upload a screen recording
    • Generate from Text - Describe the flow in words
    • Create Manually - Add steps one by one

Test Case Structure

Each test case contains:

Test Case
├── Name           → "User Login"
├── Description    → Optional description
├── Steps
│   ├── Draft      → Work-in-progress steps
│   └── Published  → Steps used in CI/CD
└── Assertions     → Verification conditions

Draft vs Published

Test cases maintain two versions of steps:

Draft Steps

  • Editable in the UI
  • Used when clicking "Run" in the editor
  • Safe to experiment with

Published Steps

  • Used in CI/CD pipeline runs
  • Updated when you click "Publish"
  • Stable version for automated runs

This separation lets you iterate on tests without breaking your CI/CD pipeline.

Test Case Status

StatusDescription
DraftNew test, not yet published
ActivePublished and ready for CI/CD
ArchivedHidden from view, not executed

Editing a Test Case

  1. Click on a test in the sidebar
  2. Edit the name, steps, or assertions
  3. Changes are auto-saved to draft
  4. Click Publish when ready

Publishing Changes

When you publish:

  1. Draft steps become published steps
  2. Draft assertions become published assertions
  3. CI/CD runs will use the new version

Skip Branches

Skip specific tests on certain Git branches:

  1. Open test settings
  2. Add branch names to "Skip Branches"
  3. Test won't run when triggered from those branches

Useful for:

  • Skipping slow tests on feature branches
  • Only running certain tests on main

Deleting a Test Case

  1. Open the test
  2. Click the Delete button
  3. Confirm deletion

Deleted tests cannot be recovered. Consider archiving instead.

Best Practices

  • One scenario per test - "Login" and "Logout" should be separate tests
  • Descriptive names - "User can reset password via email" not "Test 1"
  • Keep tests independent - Each test should work on its own
  • Publish when stable - Don't publish untested changes
  • Use assertions - Always verify the expected outcome