RoboCon2025

Managing concurrency with Robot Framework
2025-02-12 , Managing concurrency with Robot Framework

With 20 years of experience in parallel systems, I’ll conduct a workshop on successfully dealing with concurrency in Robot Framework.

In this workshop, we will learn how to deal with concurrency in Robot Framework. We will create a blueprint for managing parallel systems in an enjoyable deterministic way.

Get ready for a more thready Python!


I have 20 years of experience in dealing with systems with inherent parallelism. From embedded systems with interrupt systems to distributed systems in the industrial context, NFC systems with multiple communication interfaces or measurement setups with many independent data sources.

In this workshop, I would like to share with you how it is possible to live with this problem and have a good experience while doing so.

This workshop will be broken down into

  • We will explore the concept of parallelism in the testing context and find common ground on naming
  • discuss why the class of solutions like Robot Framework struggles with threads
  • discuss the message based coordination of threads solution
  • In a hands-on session we will implement:
  • a keyword that enables threads to access Robot Framework logging infrastructure
  • two examples showcasing concurrency in Robot Framework, using select and threads
  • look at nondeterministic parallelism
  • what problems it brings
  • what advantages it brings
  • what alternatives we have

We will build up a mindmap for future decision-making and problem-solving during this process.

While the existence of a GIL has little influence on this topic, removing the GIL will bring attention to this topic, and dealing with parallelism will become more relevant once the Python world becomes more "thready".

Lessons Learned:

  • what are the reasons for non-deterministic tests
  • how not to end up with non-deterministic tests
  • which conditions are necessary to use regular keyword libraries in a thread-safe way
  • a handful of pointers on how to create those conditions

Intended Audience:
Not only those engineers interested in venturing into a threaded world for the first time, but also those who did so already, and did not enjoy the experience.


Categorize / Tags:

threading parallelism distributed-systems

Lessons Learned:
  • what are the reasons for non-deterministic tests
  • how not to end up with non-deterministic tests
  • which conditions are necessary to use regular keyword libraries in a thread-safe way
  • a handfull of pointers on how to create those conditions
Describe your intended audience:

Not only those engineers interested in venturing into a threaded world for the first time, but also those who did so already, and did not enjoy the experience.

Is this suitable for ..?:

Intermediate RF User, Advanced RF User