top of page

Robotic Process Automation with JupyterLab

Robotic Process Automation (RPA) differs from classical automation tools in that the actions to automate can be developed by observing a user perform a task in a graphical user interface, across multiple applications.


It is a means to lower the entry barrier of process automation and enable the use of tools that don’t provide a programmatic interface.


Most typically, RPA developers will use a mixed approach between textual programming and performing actions manually. The resulting programs are typically called software robots. Therefore, interactive computing tools like Jupyter are a natural environment for RPA, as the interactive nature of Jupyter allows for quick iterations and trial-and-errors when developing such robots.


While many RPA tools are commercial software, Robot Framework and the tooling developed by Robocorp provide an open-source RPA programming language, with a high-level syntax, extensible with Python plugins. It has a rich ecosystem of libraries and tools that are developed as separate projects.


Robot Framework and Project Jupyter

Today, we are happy to announce the first release of xeus-robot, a Jupyter kernel for Robot Framework based on xeus, supporting the new JupyterLab 3.0 visual debugger, auto-completion, and much more!

But before we dive into xeus-robot, we should recognize the earlier work by Nick Bollweg and Asko Soukka, who developed two Jupyter kernels for Robot Framework, irobotframework, and robotkernel, and gave an amazing talk together at RoboCon in 2019!

The motivation for us to reboot this effort with a kernel based on xeus was to enable the JupyterLab Visual Debugger for this kernel. This requires a different concurrency model than that of ipykernel, which underlies both irobotframework and robotkernel. In the end, we were able to provide the same features and more, including e.g. code completion in Python cells, debugging etc.


Diving into Xeus-robot

ree

xeus-robot is a reboot of the already existing robotkernel, based on xeus.


Like most language kernels, xeus-robot supports code completion, inspection, error handling, etc. It also allows using Python cells to define custom robot keywords in Python, those Python cells support code completion as well.


ree

Code Completion in Robot Framework


By using the libraries robotframework-seleniumlibrary and robotframework-seleniumscreenshots, you can even complete the selection of elements on the page you are currently testing!


ree

Code completion with an action of the user in the UI.


The %%python cell magic makes it possible to extend Robotframework with Python modules in the notebook.

ree

Extending RobotFramework with Python, and code completion in Python cells



Widget-based UIs are provided to test Robotframework "keywords".


ree

Testing Robot Framework "keywords" with Jupyter widgets


Last but not least, xeus-robot comes with full support for the JupyterLab Visual Debugger! After the xeus-python kernel, it is the second Jupyter kernel to support the Jupyter Debugger Protocol! We hope that many more will come.


You can set breakpoints, step in defined keywords (the equivalent of functions), inspect variables, and see the callstack, as shown below.


ree

The JupyterLab Visual Debugger in action with Robot Framework


Installing xeus-robot

Xeus-robot is available for all platforms on conda-forge, and can be installed with conda or mamba.

mamba install xeus-robot -c conda-forge

The jupyterlab-robotmode package, which provides JupyterLab syntax highlighting for Robot Framework will also be installed as a dependency.


For your conda installation, we recommend starting from mambaforge or miniforge which are available for download here, and default to the conda-forge channel (making the -c conda-forge argument unnecessary).



Source: Medium


The Tech Platform

2 Comments


isabellaladera
Oct 28

Wow, this post about xeus-robot and RPA in JupyterLab is super insightful! I actually had a similar experience when I was working on an automation assignment—I was completely stuck trying to integrate Python with Robot Framework. I ended up using cheap assignment help https://bestassignmenthelpau.com/cheap-assignment-help-australia/ , and they not only completed the assignment but also explained how code completion and debugging worked, which made concepts like these so much easier to understand.

Like

rotobpy
Sep 02

Having worked extensively with Robotic Process Automation (RPA), I can say that Python RPA truly exemplifies the potential of this technology. It’s an advanced automation platform designed to streamline business processes through a highly intuitive interface, removing the need for complex integrations. The bots we build with Python RPA mimic human actions on a computer—handling repetitive tasks like data entry, report generation, and cross-system verification—without any manual intervention. One of the standout benefits is its ability to seamlessly bridge multiple systems through the interface, allowing organizations to automate workflows efficiently while leaving existing IT infrastructure untouched. For anyone serious about scaling operational efficiency, RPA with Python is a game-changer.

Like
bottom of page