-
-
Notifications
You must be signed in to change notification settings - Fork 2
FAQ
Frequently asked questions about Importobot.
Importobot is a tool that converts test case exports from formats like Zephyr, Xray, and TestLink into runnable Robot Framework (.robot) files.
It automates the manual work of migrating test cases, preserves metadata from the original source, and flags any steps that require manual review, preventing silent errors.
Zephyr, TestRail, Xray, and TestLink formats are supported with JSON and XML inputs.
Runnable Robot Framework .robot files.
Python 3.10+ and the uv package manager.
See the Getting Started guide for installation instructions.
Run uv run pytest from the root of the repository. The test suite should pass.
uv run importobot input.json output.robot
uv run importobot --batch input_dir/ output_dir/
It analyzes the text of a test step to map it to a known Robot Framework keyword (e.g., "Click button 'Submit'" becomes Click Button Submit). If a step is ambiguous, it is flagged with a comment in the output file for manual review.
Yes, there are several ways to customize the conversion. See the User Guide for more details.
-
Templates: Use the
--robot-templateflag to apply a custom Robot Framework structure. -
Schema Mapping: Use
--input-schemato map custom field names from your export to the names Importobot expects. - Blueprint Learning: Importobot can learn formatting and style from your existing Robot files to keep new conversions consistent.
You can provide a Markdown file that defines the custom field names in your export file. Importobot uses this to understand your data structure, improving parsing accuracy. See the User Guide for an example.
Blueprint templates learn patterns from your existing Robot Framework files and apply them to new conversions to maintain consistency with your team's style.
Check that the file path is correct. Using absolute paths is generally more reliable, especially in scripts.
- First, ensure you have installed the Robot Framework libraries that are listed in the
*** Settings ***section of the generated file (e.g.,SeleniumLibrary). - Use the
--dryrunflag with Robot Framework (robot --dryrun your_test.robot) to check for syntax errors. - Inspect the generated file for any
TODOcomments, which indicate steps that Importobot could not convert automatically.
Custom fields are retained in metadata but do not change the generated steps.
Importobot can handle minor variations in JSON structure. If your format is significantly different, the conversion may fail. In that case, please open a GitHub issue and provide a small, anonymized sample of your export file.
If you see [ WARN ] Imported library 'RobotMongoDBLibrary' contains no keywords. this is expected behavior. The current MongoDB library provides functions rather than proper Robot Framework keywords. The conversion will still work, but you may want to manually review MongoDB-related steps. We're working on a comprehensive MongoDB library replacement (GitHub issue #82).
Follow the steps in the Contributing guide.
uv run pytest
Read the API Reference and the Contributing guide, which has information on format parsers.
Yes. The tool is designed with security in mind. It runs entirely locally, validates all file paths to prevent directory traversal attacks, and is subject to the strict standards outlined in our Security Standards document.
Importobot copies test data exactly as it appears in the source file. If your test cases contain sensitive information (like passwords or API keys), you should remove them from your export file before conversion.
Performance depends on the size and complexity of the export, but most conversions are very fast. See our Performance Benchmarks for specific numbers.
Yes. Batch mode is designed to convert hundreds or thousands of test cases at a time.
Add a conversion step (uv run importobot ...) to your pipeline before the step that executes your Robot Framework tests. The tool runs in headless environments and is well-suited for CI/CD. See the Deployment Guide for examples.
Yes. You can import and use importobot.JsonToRobotConverter or the modules under importobot.api for programmatic use.
Our high-level goals and planned features are outlined in the Roadmap.
Open a GitHub issue using the "Feature Request" template. Please explain the problem you are trying to solve and the use case for the new feature.