Are you sick of having to build yet another test automation framework from scratch? I think too many test engineers resort to building automation solutions from scratch without first investigating what other solution might be out there. Why reinvent the wheel? In this episode Pekka Klärck, the creator of the Robot Framework, talks about how it might be just what you’re looking for in an open source test automation framework.
For those of you who don't know, the Robot Framework is a generic test automation framework for acceptance testing and acceptance test-driven development (ATDD). It has easy-to-use tabular test data syntax and utilizes the keyword-driven testing approach. Its testing capabilities can be extended by test libraries implemented either with Python or Java, and users can create new, higher-level keywords from existing ones using the same syntax that is used for creating test cases.
About Pekka Klärck:
Pekka is a tester, developer and independent Agile consultant concentrating on test automation. He is also the original author and the lead developer of Robot Framework, a highly flexible and widely used open source test automation framework.
Pekka offers consulting offers related to Agile testing and test automation in general and Robot Framework in particular. Available services include training courses and coaching as well as implementing new automation solutions.
Quotes & Insights from this Test Talk With Pekka
- That was the idea. Of course the idea has been all the time to be able to create as clear and as easy to understand test cases, that of course is well if nobody can understand your test the test is pretty much useless, but also that typically enhances maintenance which is very very important in test automation.
- Robot Framework has lots of libraries available, so the wider ecosystem around RobotFramework has lots of test libraries and also a lot of other tools that you can use, and Selenium library actually Selenium 2 library nowadays, is probably the most used external test library, but RobotFramework is not only for that. You can use it for anything besides, I know project where it has been used to test kind of a, diesel engines, and they do not have web services there.
- To get started you probably need somebody who understands a bit more about test automation and programming, and in any kind of larger team, it is likely that you are going to have problems if nobody there knows how to extend the framework with custom libraries, or to debug problems with existing pre-made libraries. Normal users can easily use it without programming knowledge if they are introduced to how the framework works, what keywords they have available, and so on.
- It is very flexible, and it is actually so flexible that sometimes it is hard for people to get started with, because there is no single way that “Okay, you start with this.” Of course in any kind of a bigger project, it's very important that it doesn't force you to do that many things in certain way. Of course there are certain rules, but it tries to be as flexible as possible, and as you just said, the idea is that you should be able to adapt that to your current way working, rather than adapt your current way of working to what the tool wants to do. That is very important.
- In general, I recommend going to RobotFramework.org. If you're totally new to framework, then just reading the initial introduction there, and looking at the examples that are provided there would be a good idea. Then there are several demo projects that you can study. You can download those test cases that contain the system on the test also, and you can download them, you can run them on your know machine and see how they work. That's probably the best way to kind of get a better understanding how it works. If you want to really start using it, other good resources, well, there are lot of resources listed on those RobotFramework org pages.
- My general advice when creating automatic testing, this doesn't only apply to RobotFramework but to any other automation tool, is to try to make your test cases as easy to understand as possible. Of course this somehow depends that if you are using programming language, you're using for example Java to create test, then it's not going to be as easy to read for business people, as a test case created using RobotFramework or Cucumber is. Still, try to make it as easy to read and understand for people reading, for their kind of audience. That's kind of my main tip.
Connect with Pekka
- Twitter: @pekkaklarck
May I Ask You For a Favor?
Thanks again for listening to the show. If it has helped you in any way, shape or form, please share it using the social media buttons you see on the page.
Additionally, reviews for the podcast on iTunes are extremely helpful and greatly appreciated! They do matter in the rankings of the show and I read each and every one of them.
Test Talks is sponsored by the fantastic folks at Sauce Labs. Try it for free today!