cijoe is distributed as a Python package (named cijoe) via the Python Package Index (PyPi) and installable via pip3. Extensions to cijoe are referred to as cijoe packages, these are conventionally named cijoe-pkg-<project_name>.

Do a user-local install of cijoe and the cijoe package named cijoe-pkg-example using pip3:

pip3 install --user cijoe cijoe-pkg-example

The user-local install (--user) isolates the installation to the current user account, instead of installing it system-wide and potentially colliding with system packages. The cijoe package cijoe-pkg-example is not strictly needed, however, the resources provided with the package will be used through the documentation.


Take care installing cijoe and cijoe packages using the same installation method. That is, do not mix installation-methods of user-local, system-wide, and virtual-env as that will mess up how cijoe resolves paths to the resources provided by a package.


To create your own cijoe package, have a look at the Creating Packages section.

Check that it installed correctly, by invoking one of cijoe command-line tools:

cij_runner --help

It should provide a usage page that looks like this:

usage: cij_runner [-h] --testplan TESTPLAN [TESTPLAN ...] --env ENV
                  [--output OUTPUT] [--testcase-match TESTCASE_MATCH] [-v]

cij_runner - CIJOE Test Runner

optional arguments:
  -h, --help            show this help message and exit
  --testplan TESTPLAN [TESTPLAN ...]
                        Path to one or more testplan(s) to run (default: None)
  --env ENV             Path to the environment definition (default: None)
  --output OUTPUT       Path to directory in which to store runner output
                        (default: /tmp/trun-cc5c307f)
  --testcase-match TESTCASE_MATCH
                        run only testcases matching the given string (default:
  -v, --verbose         increase output verbosity, 0 = quiet, 1 = some, 1 >
                        alot (default: 0)

If this does not produce the usage-page of the runner, then your system is probably not configured to look for binaries in the location that pip3 install --user installs them to.

For example, on Linux then the output of python3 -m site --user-base is not in your environment-variable $PATH. You can quickly fix this by adding it to your shell, e.g. for Bash do:

echo "export PATH=\"$PATH:$(python3 -m site --user-base)/bin\"" >> ~/.bash_profile

Once you have verified that cijoe is installed correctly and that you can execute the command-line tools, then procede to Running Testplans.