robotkernel

A Jupyter kernel for interactive acceptance-test-driven development with the Robot Framework


Keywords
Interactive, Interpreter, Shell, Testing, Web, jupyter, jupyter-kernel, jupyterlab, robotframework
License
BSD-3-Clause
Install
pip install robotkernel==1.7rc1

Documentation

Robotkernel

Smoketest Badge

RobotKernel is a Robot Framework IPython kernel for Jupyter Notebook and JupyterLab. It powers RobotLab – the Robot Framework JupyterLab distribution. Check a video to see it in action and read the documentation.

RobotKernel requires Python 3.6 or later with setuptools 40.5.0 later and Robot Framework Robot Framework 3.1 or later.

For alternative Robot Framework IPython kernel, check out ipythonrobotframework or xeus-robot.

Try RobotKernel

You can try RobotKernel instantly without installing it at MyBinder cloud:

Note: Log | Report -links on saved notebooks may not be clickable until notebook is "trusted" ("Trust Notebook" in JupyterLab Commands) the related cells have been executed again.

Install RobotKernel

RobotKernel can be installed using the usual Python package manager tools, like pip:

$ pip install robotkernel

For JupyterLab it is recommended to also install the Robot Framework syntax highlighting and Jupyter widgets support:

$ jupyter labextension install jupyterlab_robotmode
$ jupyter labextension install @jupyter-widgets/jupyterlab-manager

For some environments it might be required to run the following command to manually register robotkernel as an available Jupyter kernel:

$ python -m robotkernel.install

Export to .robot

It is possible to export Robot Framework Jupyter notebooks to regular plain text .robot files for usage without Jupyter:

$ jupyter nbconvert --to script example.ipynb

Execute notebooks

RobotKernel installs a script named nbrobot. It can be used instead of Robot Framework's robot test runner to execute Robot Framework with .ipynb-extension support:

$ nbrobot example.ipynb

Hacking RobotKernel

Create and activate a new Python virtual environment:

$ venv myenv
$ source myenv/bin/activate

Install Jupyter:

$ pip install --upgrade pip setuptools
$ pip install jupyter

Clone this kernel:

$ git clone https://github.com/robots-from-jupyter/robotkernel.git
$ cd robotkernel

Install the kernel into the virtualenv in develop mode:

$ python setup.py develop
$ python -m robotkernel.install

Launch the jupyter:

$ jupyter notebook

Reloading the kernel reloads the code.

Learn more about Jupyter kernel development.

Nix-shell

This repository includes an opinionated environment for running and developing RobotKernel with Nix with Cachix-powered binary cache.

Launch Jupyter Notebook with RobotKernel:

$ nix-shell -E 'import (fetchTarball https://github.com/robots-from-jupyter/robotkernel/archive/master.tar.gz + "/shell.nix")' --run "jupyter notebook"

Launch JupyterLab with RobotKernel:

$ nix-shell -E 'import (fetchTarball https://github.com/robots-from-jupyter/robotkernel/archive/master.tar.gz + "/shell.nix")'
$ jupyter labextension install jupyterlab_robotmode --app-dir=.jupyterlab
$ jupyter lab --app-dir=.jupyterlab
$ exit

Add --arg vim true to enable vim bindings.

Open development environment with Nix:

$ git clone https://github.com/robots-from-jupyter/robotkernel.git
$ cd robotkernel
$ nix-build setup.nix -A env  # to generate ./result/bin/python for IDE
$ nix-shell setup.nix -A develop