UNPKG

@testiny/cli

Version:

A command-line client for Testiny

156 lines (126 loc) 9.52 kB
# Testiny CLI Use the Testiny CLI to import test cases and test runs into your Testiny Organization. - Test cases can be imported from CSV files (see example below) - Test runs can be imported from CSV, JUnit and Playwright JSON files & many more formats ## Quickstart - Create an API key with write permissions on the project you want to import to - Set the API key as the TESTINY_API_KEY environment variable or pass with ``--apikey`` - Running just ``testiny-importer testcase``, ``testiny-importer testrun`` or ``testiny-importer automation`` command prompts for required options ## General options ```plain Usage: testiny-importer [options] [command] Options: --app <url> App endpoint to use -P, --project <nameOrKey> Target project id or key -y, --confirm Do not prompt for confirmation before starting import -q, --quiet Do not prompt for optional settings --disable-custom-fields Disable custom field import. Will fail if required custom fields with no defaults are enabled --enable-custom-fields Enable custom field import. Will fail if required custom fields with no defaults are enabled --disable-tc-keys Disable test case import key hints (If enabled use #1234 or TC-1234 in title for referencing test cases) --disable-nested-folders Disable nesting of imported folders (flat mode), applies to CSV files only --enable-nested-folders Enable nesting of imported folders (flat mode), applies to CSV files only --folder-separator <token> Token for folder name separation (default empty = automatic) --markdown Enable Markdown conversion --skip-invalid Skip invalid test cases (default: false) --duplicates <duplicate mode> Controls how duplicates are detected (choices: "off", "title", "folder_title", default: "folder_title") --apikey <apiKey> The API key to use. Not recommended - use the environment variable TESTINY_API_KEY or TESTINY_IMPORT_API_KEY instead -h, --help display help for command Commands: testcase [options] Import test cases (with folders) testrun [options] Import test case results as a testrun automation [options] Import automated test run results, including test cases and environment data licenses Show included package licenses help [command] display help for command ``` ## Importing manual test cases ```plain Usage: testiny-importer testcase [options] Import manual test cases (with folders) Options: --csv <file> Import this CSV file --csv-encoding <encoding> CSV file encoding (default: "utf8") --trl <file> Import TestRail XML export --trl-api <server url> Import from TestRail API --trl-user <user name> Username/email for TestRail API --trl-export-users <file> Export TestRail users to CSV file --trl-tc-limit <count> Limits the number of test cases fetched --trl-rate-limit <rps> Limits the number of requests to the TestRail api (default 160, zero for no limit) --steps <step mode> Controls how steps are imported (choices: "auto", "off", "rows", "row_blocks", "newlines", "numbered", "numbered_bracket", "asterisk") --attachments <attachment mode> Controls how test case attachments are imported (choices: "off", "inline", "all") --work-items Import work items (e.g. Jira issues) when importing from TestRail API --integration <name or id> Name or Id of the integration to use for workitem import -h, --help display help for command ``` ## Importing manual test runs ```plain Usage: testiny-importer testrun [options] Import manual test case results as a testrun Options: --csv <file> Import this CSV file --csv-encoding <encoding> CSV file encoding (default: "utf8") --junit <file> Import this JUnit XML file --playwright <file> Import this Playwright JSON file --name <test run name> Name of the test run (use %date, %host and %source as placeholders) --update Allow run with given name to be updated, otherwise creates a new run with that name (default: false) --close Close the testrun after a successful import (default: false) --folder <folder name> Override folder name for all created test cases --testplan <nameOrKey> Target test plan id or title --junit-ignore-classname JUnit: do not include 'classname' attribute in test case title (default: false) --junit-classname-as-folder JUnit: The 'classname' attribute is used for folder names and not the test case title (default: false) --junit-strip-classname-prefix <prefix> JUnit: Remove the specified prefix string from classnames before processing --testcases <tc mode> Controls how test cases are created if no existing TC is found (choices: "ignore", "fail", "create", default: "create") -h, --help display help for command ``` ## Importing automated test runs/results ```plain Usage: testiny-importer automation [options] Import automated test run results, including test cases and environment data Options/Subcommands: --show-env [env] Show the field values for the specified (or autodetected) environment --list-envs List names of available environments and exit --complete-runs Mark open runs matching the current environment's run field values (e.g. pipeline id) as 'complete' --codeceptjs Import CodeceptJS Mochawesome JSON report file --cypress Import Cypress Mochawesome JSON report file --junit Import JUnit-compatible file --mochawesome Import Mochawesome JSON report file --nunit Import NUnit-compatible file --playwright Import Playwright JSON report file --rxlog Ranorex compressed report file --testng Import TestNG report XML file --vitest Import Vitest json report file --vstest Import VSTest trx test results XML file --xunit Import XUnit-compatible file --no-attachments Disables importing of attachments --attachment-path <path> Base directory for relative attachment file paths, defaults to input file directory --source <source> The name of the Testiny automation source for import (will be created if it does not exist) --run-fields <runFields> A comma-separated list of field names to use for uniquely identifying test runs. Defaults to automatic detection from the CI environment --run-title-pattern <pattern> A pattern for creating test run titles out of field values, use %{field_name} as placeholders --environment <envName> The name of the CI environment, overrides automatic detection (default: "auto") --field-values <fieldValues> A list of fixed field values to add to every result: field1=value1,field2=value2 --incomplete Does not mark test runs as complete - set this flag if more results will be added later (e.g. another job) --ignore-errors Ignore errors and only log warnings instead --config <opts.json> Read options from JSON file (command line arguments override these) --junit-ignore-classname JUnit: do not include 'classname' attribute in test case title (default: false) --junit-classname-as-folder <single|nested> JUnit: The 'classname' attribute is used for one 'single' folder name or 'nested' folder names (and not the test case title) --junit-strip-classname-prefix <prefix> JUnit: Remove the specified prefix string from classnames before processing --junit-duration-unit <format> JUnit: specify the unit of time durations, defaults to auto-detect (choices: "sec", "ms") -h, --help display help for command ``` ## Example files CSV Example for importing test cases ```csv folder,title,precondition,steps,expected_result "Folder Name", "Test case title", "Precondition text, can be empty", "Steps text (depends on step mode setting)", "Expected result, can be empty" "Folder Name > Subfolder Name", "Another test case title", "", "Folders can be nested by using the folder separator token", "" ``` ## Bundled licenses For licenses of bundled dependencies, please see LICENSE.txt in the package directory