Import & Export
Import test cases from Excel or CSV files and export your test suite for sharing or migration.
Import & Export
TestKase supports importing test cases from Excel (.xlsx, .xls) and CSV (.csv) files, and exporting your existing test cases to CSV. This is useful for migrating from another tool, sharing test cases with stakeholders who prefer spreadsheets, or bulk-creating test cases from a specification document.
Importing test cases
- Navigate to the Test Cases section and click the Import button () in the toolbar.
- Upload your file. Supported formats: .xlsx, .xls, .csv (max 10 MB).
- If the file is an Excel workbook with multiple sheets, select which sheet to import from.
- On the Column Mapping screen, map each column in your file to a TestKase field. Columns are auto-mapped where possible. At minimum, you must map a column to the Title field.
- Review the Preview & Validate screen. TestKase performs a dry-run validation and highlights any rows with errors or warnings.
- Click Import to create the test cases. A summary shows how many were imported and how many failed.
Importing into folders
The folder you select in the sidebar does not determine where imported test cases go. Instead, you specify the target folder per test case using a Folder column in your CSV or Excel file.
How it works
Add a column named Folder (or Folder Path / Folder Name) to your file and set the folder path for each test case:
Title,Summary,Folder
"Login test","Verify login",Authentication
"Signup test","Verify signup",Authentication / Registration
"API health check","Check API",Regression / API / HealthThis creates the following folder structure automatically:
Authentication
├── Login test
└── Registration
└── Signup test
Regression
└── API
└── Health
└── API health checkRules
| Rule | Detail |
|---|---|
| Separator | Use / (forward slash) to separate parent and child folders. Spaces around / are optional. |
| Max depth | 3 levels (e.g. Level 1 / Level 2 / Level 3). Deeper nesting is not supported. |
| Auto-creation | Folders that don't exist are created automatically during import. |
| Existing folders | If the folder already exists, the test case is added to it — no duplicates are created. |
| Empty value | If the Folder column is empty or missing, the test case is imported into the root (no folder). |
Common patterns
All test cases in one folder:
Title,Folder
"Test 1",Smoke Tests
"Test 2",Smoke Tests
"Test 3",Smoke TestsNested folders (2 levels):
Title,Folder
"Valid login",Authentication / Login
"Invalid login",Authentication / Login
"Signup flow",Authentication / RegistrationMixed — some in folders, some in root:
Title,Folder
"Login test",Authentication
"Quick check",
"API test",Regression / APISelecting a folder in the sidebar before clicking Import is for filtering the view — it does not affect where imported test cases are placed. Always use the Folder column in your file to control placement.
Importing test steps
You can import test cases with their test steps in a single file. The import uses a row-grouping convention:
- A row with a Title starts a new test case.
- A row with an empty Title is treated as an additional test step for the previous test case.
Map the following step columns during the column mapping step:
| Column | Maps to | Description |
|---|---|---|
| Step Description | step_description | The step instruction (required for step rows) |
| Step Test Data | step_test_data | Input data for the step (optional) |
| Step Expected Result | step_expected_result | Expected outcome (optional) |
A test case row can also include step fields — this becomes the first step. Subsequent rows with empty Title add more steps to the same test case. Up to 50 steps per test case are supported.
Example structure:
| Title | Summary | Priority | Step Description | Step Test Data | Step Expected Result |
|---|---|---|---|---|---|
| Login - Valid credentials | Verify login works | High | Navigate to login page | /login | Login page displays |
| Enter valid email | test@example.com | Email accepted | |||
| Click Sign In | Dashboard appears | ||||
| Login - Invalid password | Verify error on wrong password | Medium | Navigate to login page | /login | Login page displays |
| Enter wrong password | wrong123 | Error message shown |
In this example, the first test case ("Login - Valid credentials") gets 3 steps, and the second ("Login - Invalid password") gets 2 steps.
The Excel template includes an example showing this multi-row structure. Download it from the Upload step to see the recommended format.
Download import template
On the Upload step, you can download a template in two formats:
- Excel (.xlsx) — recommended. Includes:
- Sheet 1 "Test Cases" — styled header row with an example row and dropdown menus for list-type fields (Priority, Status, Platform, custom single/multi-list fields, etc.), making it easy to enter valid values.
- Sheet 2 "Field Reference" — a reference table showing each field's name, type, whether it is mandatory, and allowed values.
- CSV — a simple template with headers and an example row. No dropdown validation.
Both templates respect your project's field visibility settings — hidden fields are excluded automatically. Only fields marked as visible in your project configuration will appear as columns.
The Excel template is the best starting point for new imports. Dropdown menus prevent typos in list fields, and the Field Reference sheet documents all available values without leaving the spreadsheet.
Column mapping
TestKase auto-maps columns based on header names using case-insensitive matching and common aliases (e.g. "Name" → Title, "Description" → Summary, "Type" → Automated, "Preconditions" → Precondition, "Steps" → Step Description, "Step Result" → Step Expected Result). You can override any mapping using the dropdown selector.
Custom fields appear in a separate group in the mapping dropdown. Values are coerced per custom field type:
- TEXT → stored as-is
- NUMBER → must be a valid number
- SINGLE_LIST → must be one of the allowed values
- MULTI_LIST → comma-separated values
- CALENDAR → must be in YYYY-MM-DD format
Validation & error handling
During the preview step, TestKase validates every row:
| Check | Result |
|---|---|
| Missing mandatory field | Row error |
| Invalid dropdown value | Row error listing allowed values |
| Invalid custom field type | Row error (e.g. "expects NUMBER, got 'abc'") |
| Title exceeds 300 characters | Row error |
| Owner not found in project | Row warning |
| Empty row (all blank) | Skipped silently |
Rows with errors are skipped during import by default (configurable via the Skip rows with errors checkbox). Partial imports are fully supported — the results screen shows exactly which rows succeeded and which failed.
Sample CSV format
Basic import (test cases only):
Title,Summary,Priority,Status,Automated,Precondition,Labels,Folder
"Login - Valid credentials","Verify user can log in with correct email and password",High,Active,No,"User account exists","login,authentication",Authentication
"Login - Invalid password","Verify error message when wrong password is entered",Medium,Active,No,"User account exists","login,negative",AuthenticationImport with test steps:
Title,Summary,Priority,Status,Precondition,Step Description,Step Test Data,Step Expected Result
"Login - Valid credentials","Verify login flow",High,Active,"User account exists","Navigate to login page","/login","Login page displays"
"","","","","","Enter valid email and password","test@example.com / Pass123","Fields accepted"
"","","","","","Click Sign In button","","Dashboard appears"
"Login - Invalid password","Verify error on wrong password",Medium,Active,"User account exists","Navigate to login page","/login","Login page displays"
"","","","","","Enter wrong password","wrong123","Error message shown"In the steps example, rows with an empty Title are treated as additional steps for the previous test case.
Exporting test cases
- Navigate to the Test Cases section.
- Optionally apply filters to narrow the export to specific test cases (e.g., only Active Smoke tests).
- Click the Export CSV button () in the toolbar.
- A CSV file will be downloaded containing all test cases matching your current filters.
The exported CSV includes: Test Case ID, Title, Description, Priority, Status, Type, Preconditions, Labels, Environment, Automation ID, Automation Status, Folder, Created By, Created At, Updated At, plus any custom fields.
You can export test cases, edit them in a spreadsheet application (Excel, Google Sheets), and re-import them to perform bulk updates. Just make sure to keep the Title column consistent so TestKase can match them correctly.
See also
- Test Cases — Overview, creation, detail tabs, and field reference
- Test Steps — Define step-by-step execution procedures
- Folders & Organization — Organize test cases with folders, search, and filters
- Bulk Operations — Clone and bulk update test cases
- History & Attachments — Execution history, change tracking, and file attachments
- Best Practices — Guidelines and FAQ
