Robot Framework Cookbook - the gauntlet is laid!

Hello Testing Community,

I’ve challenged @emna_ayadi to clone the Robot Framework Cookbook project from github, run all the test automation scripts manually and share her insights by analysing the log files.

Emna will need to get outside her comfort zone and refresh her technical skills in order to complete this challenge. It will give Emna a technical boost for her new role.

We will create a racket or two to update you how this challenge progresses.

Watch this space!

5 Likes

Thanks @adrianyorke for the challenge! Looking forward to it :))
Stay tuned for next week, :blush::grin:

4 Likes

This is a lovely idea :stuck_out_tongue:
I might steal this for my co-workers if you don’t mind hahaha :smiley:

3 Likes

Of course @kristof , go for it! Let me know if you require any guidance.

I welcome feedback from your team:

  • Is it clear how to use the project?
  • Are the existing recipes useful?
  • Which recipes need more work?
  • Do you have any ideas for additional recipes or sections?
  • Other ideas/thoughts/suggestions?

Thanks,
Adrian

3 Likes

I will not use the RobotFramework Project, since a lot of my Co’s already know RF.
So I’m looking into some new stuff & assignments :stuck_out_tongue:

2 Likes

Is there a good overview/refresher on robot currently? I used it terribly long ago very briefly in a very small C++ application, and now my context has changed so much. I’m keen to find what I’m missing out on now that I live in a Python based world where a lot of “infra” tooling and platform porting used in tests is free and well maintained.

2 Likes

@conrad.braam there’s a course on it on the automation university:

To me it’s very Python-y, with all the focus on spacing-based formating.

1 Like

Not changed at all really in 15 years, which is surprising. I am going to wait and see what comes out, keen to see how people describe the tool after using it for a long time, like how well does it scale in practice once you have hundreds of tests.

1 Like

I’ve been using Robot Framework for web testing for around two years now and have to say I love it and it’s community of developers and supporters.
Happy to answer any questions regarding to robot.

6 Likes

Welcome Ciprian and thanks for the feedback. Are you using Selenium or the new Browser lib?

3 Likes

I’m habiting a Python world and find RF quite similar in many implementation aspects. 3 years ago we were using unittest & pytest but we were finding our test suites were becoming 100s (sometimes 1000s) lines of Python code which our testers were definitely not comfortable with. Since we moved to Robot Framework, testers are back in control and create their own test suites and even libraries of common user defined keywords. Our domain is all things data related. SQL is the main language for test case definition.

4 Likes

That is good to hear Adrian - A few questions:

  1. How do you manage your Robot libraries, that was the big thing that always confused me, creating keywords in libraries and making them searchable/documented always felt like a missing piece of tooling requiring better text editor support to ever feel comfortable with on account typos merely frustrating. Do you have an Atom or a VSCode plugin that scans your libraries for keywords?

  2. When I used robot (over a decade back), I was moving from C and C++ into being a script writer, and I found it incredibly limiting. I struggled most with the almost COBOL like structure of statement-list coding style, which was a big jump from OO language. Libraries felt like hard work to build. The amount of work to switch between adding a keyword to my library and then write a step, then write the next keyword was so much context swapping it often made my head spin. Am I alone in having this experience of this process-automation tool?

  3. We used to write tests that ran on two machines at once (RPC). One machine was a serial connection, the other was TCP, and the serial connection always ends up being slow. Has anyone managed to get robot to do nice remote (over RPC) parallel execution of steps working. Something I rely on a lot in Python in order to save time mostly is to make an RPC call to 2 machines and wait for them both to complete. I could never find a clear way to implicitly make “role” based testing that did not require me writing a library that did not hard code things like which RPC socket/port was doing what.

I’m hopeing this helps other people, but also that it clarifies the problem of deciding when a specific tool it the right tool for a job. I only used robot for a year, but I liked so much of how it worked that I incorporated keyword-driven into the tools we wrote in my next job, but we added a layer to handle the remoting and role problem.

1 Like

Our project is still build around the use of selenium, not moved to the new Browser Library just yet.
As a department, were actually looking to move away from Robot Framework & Protractor possibly to Cypress.
Whilst the team i’m in haven’t had any issues with Robot at all and it works really well, Protractor is set to no longer be maintained from the end this year maybe next year? And so were looking and bringing things inline.
But I do highly rate Robot Framework and its increasing capabilities of being used for RPA purposes as well.

3 Likes
  1. There is an standard tool available ‘libdoc.py’ which creates a table of keywords with descriptions (if you have provided them in the code).

Find out more in the documentation:
“Libdoc: Tool for generating keyword documentation for test libraries and resource files.”
https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#libdoc

  1. Yes, that is a common complaint. You will need to learn the RF language and the common keywords and core libs. This is actually the reason I created Cookbook to accelerate the learning for beginners especially but also intermediates. The Cookbook project shows you many of the main keywords including the new IF/ELSE in RF4. You have to invest time/effort to create a new keyword or set of keywords ONCE then they can be used 1000s of times but I accept there is some upfront learning and possibly library development relevant to your context.

  2. No sure this helps in your context but the Standard Libs include Remote library:
    “Special library acting as a proxy between Robot Framework and libraries elsewhere. Actual libraries can be running on different machines and be implemented using any programming language supporting XML-RPC protocol.”

3 Likes

There was a question regarding RF learning resources - here is a curated list from the Cookbook project:

Other useful resources

Theses

3 Likes

A quick update:
I reached Section 11 I enjoyed the exploration, I did my first pull request 2 days ago.
What I like the most, few years ago I used robot mostly for UI tests and now the tests covers different libraries that I didn’t know before. It 's funny that you can use Robot framework in many levels in your testing :slight_smile:
Special thanks for @adrianyorke for his support !
I’m writing a blog post, a quick overview or screenshot in the sections I run.
So stay tuned until I’m done :wink:

3 Likes

The cook book is ready to eat :stuck_out_tongue: :hamburger: :fries: :pizza:

any feedback, comment let me know. possible updates could be done to the blog.
It’s like my draft notes, with some edits after, while doing the tests and experimenting the different sections by running or adding or updating :slight_smile:

2 Likes