Skip to content

Import / Export

The Import & Export screen is a single page (reached at /import-export) where you move test cases in and out of Testver. It is split into three stacked sections from top to bottom: Export Test Cases, Import Test Cases, and Import from Third-Party Tools or local files. Everything on the page is about test cases — there is no separate flow on this screen for defects or other record types, despite the broad tagline.

Think of it like the File → Export and File → Import menus in a desktop office app. You pick what you want to take out (a folder of test cases, or all of them), choose a file format, preview the result, and download it. To bring data back in, you hand Testver a file or paste some text, point it at a target folder, and it creates the test cases for you.

  • QA engineers and testers who want a backup of their test cases or need to move them between projects.
  • Teams migrating into Testver from another test-management tool such as TestRail, Zephyr, Xray, PractiTest, or qTest.
  • Leads and managers who want to share a snapshot of test coverage with someone who does not have a Testver login, by sending them a CSV or JSON file.
  • Anyone who prefers preparing test cases in a spreadsheet or text editor and loading them in bulk rather than typing each one into the app.
TermWhat it means here
ExportPulling test cases out of Testver into a downloadable file (JSON or CSV).
ImportLoading test cases into Testver from a file, pasted text, or another tool’s export.
Test caseA single testable scenario with a title, priority, type, optional preconditions, steps, and tags.
StepOne action inside a test case, with an action, an expectedResult, and optional testData.
FolderA node in your test-case folder tree. Used to scope an export and to choose where imports land.
JSONA structured text format. Testver exports an array of test-case objects and imports the same shape.
CSVA comma-separated spreadsheet format. One row per test case; multiple steps packed into a cell, separated by a pipe (|).
Field mappingHow a source tool’s columns/fields (e.g. Summary, Priority) line up with Testver’s fields (e.g. title, priority).
PreviewA read-only look at the data — the export preview pane, or the parsed-test-case table before a third-party import.
AI Assistant (API mode)The chat-driven assistant that can read an uploaded export file, map fields, and create test cases for you. Used for third-party imports on this screen.
Third-party toolAn external test-management product (TestRail, Zephyr, Xray, PractiTest, qTest) whose export files Testver can understand.

Each of the three sections works independently:

  • Export calls Testver’s export service for the chosen folder (or all folders), returns the matching test cases, and renders a live preview. You then convert that preview to JSON or CSV in the browser and download it.
  • Import reads your file or pasted text in the browser, auto-detects whether it is JSON or CSV, parses it into test-case objects, and sends them to the import service to be created under your chosen target folder.
  • Third-party import is currently delivered through the AI Assistant: clicking the button opens the assistant in API mode with a ready-made prompt, and you upload your export file inside the chat for the AI to parse and create.
  1. From the left sidebar, open the test-management area and choose the Import / Export entry (route /import-export).
  2. The page loads with three sections stacked vertically. No data loads automatically — the export preview stays empty until you click Export.
  3. Scroll down to reach the Import Test Cases and Import from Third-Party Tools or local files sections.
AreaWhereWhat it does
Export Test CasesTop sectionPick a folder and a format (JSON/CSV), run the export, preview it, then copy or download.
Import Test CasesMiddle sectionUpload or paste JSON/CSV data, choose a target folder, and create the test cases.
Import from Third-Party Tools or local filesBottom sectionHand an export file from another tool to the AI Assistant, which parses and imports it for you.
Success toastFloating, top-rightA green confirmation (e.g. “Export completed”, “N test cases imported”) that appears for about 3 seconds after an action succeeds.
Format hint cardsInside the Import sectionTwo side-by-side reference cards showing an example JSON shape and an example CSV shape.
  • Folder dropdowns list your whole folder tree, indented to show nesting depth.
  • The export preview is capped at the first 5,000 characters and labelled as a truncated preview — the full content is still what gets downloaded.
  • The import format toggle (Upload File vs Paste Data) and a small “data loaded” badge tell you whether Testver sees your input as JSON or CSV and how large it is in KB.
  • Drag-and-drop is supported on the upload area; the drop zone highlights green while you hover a file over it.

You can import test cases — each with a title, priority, type, optional preconditions, an ordered list of steps, and tags. Two paths exist on this screen:

  • The Import Test Cases section accepts JSON and CSV directly in the browser (either uploaded as a file or pasted as text).
  • The third-party section hands a wider range of files (including XML and Excel exports from other tools) to the AI Assistant for parsing.
FormatWhere it is acceptedNotes
JSONImport Test Cases (upload/paste); AI AssistantAn array of test-case objects, or a single object (auto-wrapped into an array). The native importer auto-detects JSON when the input starts with [ or {.
CSVImport Test Cases (upload/paste); AI AssistantOne row per test case. Steps are packed into cells and separated by a pipe (|). Detected when input does not start with [ or {.
.txtImport Test Cases (upload only)Accepted by the file picker (accept=“.json,.csv,.txt”); its contents are treated as JSON or CSV by the same auto-detection.
XMLAI Assistant (and the hidden wizard)Used by TestRail and Zephyr exports. Not parsed by the native paste/upload importer — route it through the AI Assistant.
Excel (.xlsx / .xls)AI Assistant (and the hidden wizard)Used by Zephyr and qTest exports. Not handled by the native paste/upload importer — route it through the AI Assistant.
  1. In the Import Test Cases section, choose an input mode with the toggle: Upload File or Paste Data.
  2. If you chose Upload File, click the drop zone to pick a .json, .csv, or .txt file, or drag the file onto it. The zone turns green and reads Drop file here while a file hovers over it.
  3. If you chose Paste Data, paste a JSON array or CSV block into the text box. The placeholder shows both shapes as a reminder.
  4. Confirm the green JSON data loaded / CSV data loaded badge appears with the detected type and size in KB.
  5. Pick a Target Folder from the dropdown. Leaving it on Root (No folder) imports into the root.
  6. Click Import Test Cases. The button shows a spinner while it runs.
  7. Read the result banner below the controls (see validation), and use Clear to reset the input and result if you want to load something else.

For the native importer, the field names you provide map directly to Testver’s fields. In JSON, use these keys; in CSV, use these column headers.

Testver fieldJSON keyCSV column headerDefault if missing
TitletitleTitle (or Name / Test Case)Row is skipped if there is no title
PrioritypriorityPrioritymedium
TypetypeTypefunctional
Tagstags (array)Tags (comma-separated)empty
PreconditionspreconditionsPreconditionsempty
Step actionsteps[].actionSteps (Action) (pipe-separated)empty
Step expected resultsteps[].expectedResultSteps (Expected Result) (pipe-separated)empty
Step test datasteps[].testDataSteps (Test Data) (pipe-separated)empty

In CSV, the three step columns are zipped together position-by-position: the first pipe segment of each becomes step 1, the second becomes step 2, and so on. A step is only created when its action or expected-result segment has content.

[{
"title": "Verify login",
"priority": "high",
"type": "functional",
"steps": [
{ "action": "Go to login", "expectedResult": "Page loads" }
],
"tags": ["auth", "smoke"]
}]
Title,Priority,Type,Tags,Steps (Action),Steps (Expected Result),Steps (Test Data)
"Verify login","high","functional","auth, smoke","Go to login | Enter creds | Click submit","Page loads | Fields shown | Dashboard"," | user@test.com | "

When you import, the result is shown in a coloured banner directly under the import controls:

OutcomeWhat you see
Nothing parsedRed banner reading No valid test cases found in input — usually a JSON/CSV shape problem or rows with no title.
Parse errorRed banner with the error message (for example, malformed JSON).
SuccessGreen banner: N test cases imported successfully, plus a success toast top-right.
Partial successGreen banner with the imported count, followed by a red bulleted list of per-row errors returned by the server.

The bottom section, Import from Third-Party Tools or local files, is currently powered by the AI Assistant. It carries an API mode badge and explains that the assistant can read an export file from tools like TestRail, Zephyr, Xray, PractiTest, and qTest — or from any other tool, or your own local test-case files — and create the test cases for you.

  1. Read the two summary cards: Supported export formats (CSV, XML, JSON) and What the AI does for you (detects the source format, maps fields, normalizes priority/type, and reports per-row errors).
  2. Click Import with AI Assistant. This opens the AI Assistant in API mode with a pre-filled import prompt and navigates you to the /ai screen.
  3. In the chat, upload your export file (CSV, XML, JSON, or Excel).
  4. Let the assistant parse the file, map fields, normalize values to Testver’s schema, and create the test cases via the test-management tools.
  5. Review the assistant’s report: it states how many test cases were created and flags any rows that needed manual review.
ToolFormatsWhere to export it from
TestRailCSV, XMLTest Cases → Export → CSV or XML
ZephyrXML, ExcelTests → Export → XML or Excel
XrayCSV, JSONIssues → Export → CSV or JSON (from Jira/Xray)
PractiTestCSVTests → Export → CSV
qTestExcelTest Design → Export → Excel

The parsers behind these tools normalize incoming values to Testver’s schema: priorities such as P1/blocker/highest become critical, P2/major become high, normal/moderate become medium, and minor/trivial/lowest become low. Section, folder, label, module, and reference fields are folded into tags, and numbered step text is split into individual steps.

You export test cases, either for a single folder you choose or for All Folders. Each exported test case carries its title, priority, type, tags, preconditions, and steps (each step’s action, expected result, and test data).

FormatButtonShape
JSONJSONPretty-printed array of test-case objects (2-space indented).
CSVCSVHeader row plus one row per test case. Columns: Title, Priority, Type, Tags, Preconditions, Steps (Action), Steps (Expected Result), Steps (Test Data). Multiple steps are joined with a pipe (|); all values are quoted and inner quotes are doubled.
ControlChoicesEffect
FolderAll Folders or any folder in your treeScopes which test cases are exported.
FormatJSON / CSV toggleSwitches the preview and the downloaded file type. You can flip it after exporting without re-running.
Export buttonRuns the export and fills the preview. Shows a spinner while running.
CopyCopies the current preview text to your clipboard; the link briefly reads Copied!.
Download JSON/CSVSaves the full content to a file named test-cases-export-<timestamp>.<ext>.
  1. In the Export Test Cases section, choose a Folder (or leave it on All Folders).
  2. Pick a FormatJSON or CSV.
  3. Click Export. A success toast confirms Export completed and the preview pane appears.
  4. Check the summary line above the preview: it shows the test-case count, the approximate size in KB, and the active format.
  5. Switch the Format toggle if you want the other format — the preview updates instantly without re-exporting.
  6. Click Copy to grab the text, or Download JSON / Download CSV to save the file.
  7. The downloaded file is named test-cases-export-<timestamp>.json or .csv.
I want to…Do this
Back up all my test casesExport section → All Folders → JSON → Export → Download JSON.
Export just one folder to a spreadsheetExport section → pick the folder → CSV → Export → Download CSV.
Quickly copy export text to shareExport → Export → Copy (the link reads Copied!).
Import test cases from a JSON fileImport section → Upload File → drop the .json → choose Target Folder → Import Test Cases.
Import from a spreadsheet I exported as CSVImport section → Upload File (or Paste Data) → load the CSV → choose folder → Import Test Cases.
Paste test cases directlyImport → Paste Data → paste JSON/CSV → choose folder → Import Test Cases.
Migrate from TestRail / Zephyr / Xray / qTestThird-party section → Import with AI Assistant → upload the export in the chat.
Import an XML or Excel exportUse the AI Assistant button — the native importer handles only JSON/CSV.
Start over after a bad importClick Clear in the Import section to reset the input and result.
  • Export before you import. A quick All Folders → JSON → Export → Download gives you a restore point in case an import goes wrong.
  • Match the headers exactly for CSV imports — Title, Priority, Type, Tags, Steps (Action), Steps (Expected Result), Steps (Test Data). The importer also accepts Name or Test Case for the title column.
  • Use the pipe (\|) to separate multiple steps inside a single CSV cell; the three step columns are zipped together by position.
  • Give every row a title. Rows without a title are silently dropped during native import.
  • Round-trip with the same format. A CSV you export from Testver re-imports cleanly because the column names and the pipe convention match.
  • Send XML/Excel and unusual exports to the AI Assistant rather than fighting the native JSON/CSV importer.
  • Name your source columns clearly (e.g. Priority, Steps) so the AI Assistant maps fields accurately, and split very large exports into ~500-case chunks.
SymptomLikely cause / fix
No valid test cases found in inputThe parsed result was empty — rows had no title, or the CSV headers do not match. Check the title column and headers.
A red parse-error bannerMalformed JSON (e.g. a trailing comma) or a CSV that does not split cleanly. Validate the file and try again.
My JSON imported as CSV (or vice-versa)Detection is based on the first character. Make sure JSON input starts with [ or {; otherwise it is treated as CSV.
Steps did not come through on a CSV importUse the exact Steps (Action) / Steps (Expected Result) / Steps (Test Data) headers and separate steps with |.
Some rows imported, others erroredThe green banner shows the count and lists per-row errors underneath — fix those rows and re-import just them.
My XML / Excel file will not upload in the Import sectionThe native importer only accepts JSON/CSV/.txt. Use Import with AI Assistant for XML and Excel.
The download is missing rows compared to the previewIt is not — the on-screen preview is capped at 5,000 characters, but the downloaded file is complete.
I don’t see the five-tool import wizardIt is intentionally disabled by a feature flag in this build; the AI Assistant card replaces it. Behaviour is expected, not a bug.
Where did the test cases land?In the Target Folder you selected (or the root if you left it on Root (No folder)).