RoboCon 2018: report on the first Robot Framework conference
At the beginning of the year, the first official RoboCon 2018 conference was held in Helsinki , dedicated to the Robot Framework autotest tool. And we, the maintainers of the automation and integration testing automation group of Peter-Service, could not miss such an event. Because this tool is used quite widely in our company: in particular, in our group, with the help of it, the product TORS (Testing of Release Stands) is implemented.
The conference organizers promised to hold it annually. But this time, it gathered more than 250 people, immediately becoming the largest meeting of the community of developers and testers using the aforementioned framework.
The vast majority of participants were from Finland. However, there were also those who specially came from the USA, Canada, Spain, Germany, Russia and other countries, therefore, the main language of the conference was chosen as English. The reports went in one stream, which allowed not to choose randomly by name, but to listen to everything. And I cannot but note a good balance in the variety of topics: some speeches were devoted to the organization of the testing process, others - to development using specific libraries, and others - the history of the framework and the community.
The conference was opened by the founder of the Robot Framework Pekka Klärck with an almost one-hour report “How did we get here? Where do we go next? ” The speaker recalled what the prototype framework he was developing at the university looked like, proudly said that today the Robot Framework is the de facto standard for testing in Finland, and also announced plans for the future.
Someone may be surprised by the statement about the standard. Naturally, due to the comparison of copy frameworks, a lot has already been broken, and hardly anyone will ever be able to finally determine the best. But I and my colleagues like the Robot Framework very much, and now I will try to name some of its advantages:
- Keyword Driven Testing. Having a level of abstraction in the form of keywords, we get the opportunity to compose tests from them, with minimal programming experience.
- Kiwords are written in Python: the language is simple but powerful. In this case, if desired, you can switch to Java. Given the previous paragraph, this gives a very low entry threshold.
- Thanks to a well-thought-out architecture, the functionality of the Robot Framework is very easily expanded with the help of new libraries, listeners and pre-modifiers.
- There is support for Selenium out of the box, running tests in parallel.
- Everyone who used the tool notes a convenient and beautiful test run log - some even choose Robot just because of this.
- Run from the command line, which makes it easy to use in containers, build chains.
- A large, vibrant community: people are interested in developing a framework; an answer can be received on any issue during the day.
Returning to the Pekka Klärck report. So, in the near future Robot Framework plans for the future:
- Release of the new version 3.0.3 with minor improvements and bug fixes.
- The transition of SSHLibrary to Python 3. The entire Robot Framework is actively being remade for the third version, but SSHLibrary has the highest priority in this task, since this is the largest library currently running only at 2.7.
- A new library for testing REST / JSON, which was dedicated to a separate report by its author Anssi Syrjäsalo. However, the library is still being finalized, and logging has not yet been fully implemented.
- Release version 3.1 with a new test status. Skipped status will be added to the usual Passed / Failed for tests that for one reason or another are excluded from the run.
In the long run:
- Recycling if / else constructs.
- Recycling User Guide.
- Recycling the RIDE editor.
- Focus on expanding the use of the framework outside Finland.
- The release of a full-fledged book on the Robot Framework (so far with descriptions and manuals for the tool is a little taut).
Thanks to a post in google-groups about our participation in the conference, in between reports, many came to meet us. Some were interested in the ReportPortal library announced in the post , others were just curious to learn about using the Robot Framework in our country. Indeed, in Russia the framework is not very popular (and, in our opinion, in vain).
Subsequent reports were severely limited in time: 30 minutes, of which 10 were reserved for questions. The reports by Déau Régis “The naked truth about successful test automation journey” and Aldina Codesso-Lipponen “Mega Robot projects, what to expect” formulated general recommendations for large projects, and it was very pleasant to note for ourselves that we have all these recommendations and they have already been taken into account (they mainly concerned code reviews, the use of version control systems, build servers).
Separately, I want to mention the Ed Manlove report “The Importance of Open Source Communities”, which was intended to convince listeners to join the Robot Framework community not only in the role of users, but also as developers. The report was intended for a very wide audience, so the author deliberately refused to dive into technical issues and instead used references to pop culture, actively gestured and generally behaved freely and directly, and in the end arranged a small interactive room for questions with the questions.
The effect produced by this report could be judged on the next day, when the Sprints section began, where people gathered striving to take an active role in the community. Half of those who came were clearly inspired by Ed. Many of them were absolute beginners - that is, without any programming experience whatsoever. It was obvious that Ed's report motivated them very much: many of those who came there only heard for the first time how an open-source project is being done, and at the same time felt that they were able to take part in it even with their modest knowledge (I had to separately explain to beginners about branching models , version control system, etc.).
In general, the entire second day was a logical development of the above report and was intended to show that everyone can participate in the development of open-source applications. After opening remarks and instructions on github, everyone was divided into three development groups:
- Jenkins plugin
Since most of my personal work has recently been related to the pabot parallel launch utility, I really hoped that its author Mikko Korpela would create a separate group, but he preferred to join Selenium. However, Mikko offered to familiarize himself with the three videos he posted on youtube about adding new functionality to pabot and join the discussion in the comments.
Choosing from what remained, I settled on the core section. And it turned out to be much more interesting than I expected, since the work in the section was headed by Pekka Klärck himself. Tasks for development were taken from issues on github, specially tagged with RoboCon (and this was also done for beginners, not yet able to independently choose the task of an adequate level of difficulty). In principle, no one seriously set out to solve any of these problems in 3-4 hours, so I decided to take the issue " Need While Loop Keyword". Its essence boiled down to the implementation of the test with the keyword“ while ”(with the existing analogue for“ for ”, a ready-made analogue for“ while ”was not implemented). Although we in our code do all the work with loops and logic in python, as Pekka himself advises to do, adding a new kiword seemed to me a good opportunity to figure out how the Robot Framework works from within. I was hoping to rely on the already implemented "for" loop ... But, of course, everything turned out to be much more complicated than adding one method. equals: even by itself, trying to figure out a task helped I better understand how the Robot Framework works.
To summarize. Robot Framework is actively developing and, obviously, will expand both the functionality and the number of users. It was extremely pleasant to realize that we in our company not only keep up with the RF community, but also are ahead of it in many ways: for example, only a third of the audience knew what pabot was, and only a few heard about using the headless browser mode for WebUI testing .
For me personally, the beginning of active work in the RF repository also brought tangible benefits. True, this is not a novelty for our working group: we constantly set tasks and comment on the Robot Framework repository , the Peter-Service R&D repository contains both developed ones ( cassandracqllibrary , apachetomcat , reportportal-ng), as well as libraries developed by us ( Selenium2Library , SSHLibrary , Rammbock ) for the framework. And one of the colleagues even takes second place in the list of pabot contributors , in the number of commits and lines of code second only to the creator of the utility. But, in any case, a personal acquaintance with people like Pekka Klärck (founder of RF), Mikko Korpela (author of pabot), Tatu Aalto (lead developer of SeleniumLibrary) seemed very useful to me.
- Pekka Klärck, Eliga: Keynote "How did we get here? Where do we go next? ”: Video .
- Déau Régis, OpusCapita: “The naked truth about successful test automation journey”: video .
- Aldina Codesso-Lipponen, Kone: "Mega Robot projects, what to expect": video .
- Asko Soukka, University of Jyväskylä: “Robot Framework in Plone CMS project”: video , presentation .
- Ed Manlove: “The Importance of Open Source Communities”: video .
- Anssi Syrjäsalo, Siili: “Towards contract-based API testing with a new REST JSON test library”: video .
- Tatu Aalto, CRF Health: "Extending Selenium Library 3.0": video , presentation .
- Martin Taylor, Nymi: “Design Patterns for Efficient Multi-Platform and Multi-Device Testing with Robot Framework”: video .
- Mikko Korpela, Reaktor: “Parallel test execution with Pabot”: video .