[Music] [Applause] too fast so yeah I I will start with this small intro let's see hopefully the sound is coming come in the digital realm two Heroes Stand Tall sir Robot Framework the guardian of Automation and Lady girkin the Storyteller of behaviors United in purpose they embark on a quest to transform the landscape of software testing sir robot with his shield of keywords cuts through the complexity of code bringing order and precision to the the chaos of testing lady girkin wielding her Quill of natural language sketches scenarios that bridge mines and machines their Alliance marks the dawn of a new era in testing a world where code comes to life through stories and every test scenario is a shared Adventure as we set sail on this journey Our Heroes invite us to ponder a curious question that challenges the very core of our Quest do robots dream of pickled [Music] cucumbers yeah this was one of this evening where I'm alone at home and maybe some of your nerds Know It uh yeah let's talk about a little bit how was my quest to come to an integration with G and and Robert framewor so let's start a little bit I thought after I heard the voice hm okay this is really an interesting question let's think about it so but before I want to know do you know cucumber or gin raise your hand do you use it in your projects yeah yeah do you like it no why not that's one question I like it uh but it's not really well integrated in my normal work so I start thinking about it for those who doesn't know gin and is writing how it looks like I try to show it so first start with a small question small I don't know what it is so say as a developer I want to use gin with Robot Framework so that I can that's my uh uh my thoughts about it so that I can improve the uh Clarity efficiency accessibility and flexibility of my testing process but let's be a more little bit more General as a development team and testing team we want to use it this is maybe something like looks like a feature that I can Define to develop an application before I start to write something let's think about it what I want to do with this what can be a scenario why I want to do this so let's define a scenario okay let's look at the first things and three is testing efficiency with direct automation that's my thing with Robot Framework because Robot Framework I write a test case I have my libraries I click on the play button and it's running it's not really possible with the standard gir and cucumbers automations uh so I think this should be a main scenario to test it so I write given a behavior driven specification when it's executed through Robot Framework the test should run automatically without manual translation to a f syntax we know Robert framework has these given when then prefixes you can uh write keywords with embedded variables and so on but it looks different and you have technical information in your uh desk script you need to import libraries resources and such things so that's one thing I have in my mind and when I click on the Run button the test should be executed this is my first thing and this is how a cucumber G and style test case looks like so very simple no technical information in there it describes not dist steps what I want to do to test the application it describes the behavior given is something like what is in the application what's the actual State and then I see stimulate my application or whatever my Tes thing my test object and then I expect something that has happened very easy so let's look at another scenario the thing is this is really natural human readable format and all stakeholders in the project regardless of it's It's a requirements engineer or the testers or the developers can read this without technical information so that's why I like it too next one okay sounds good if next one on techn non-technical team members can review these tests if you have a Robot Framework script it is sometimes not really possible they they didn't understand the concept of keywords and such things uh so that's another good scenario a little bit more here Robert framework has a large ecosystem uh we have browser Library we have uh database Library we have libraries for embeded test and let's uh think about we have an application that uses all these Technologies with Robot Framework we have one uh uh testing framework where we can test all these Technologies but in G and the most common implementations not really so that's another point I think another thing important thing is it's my uh my my experience with Robot Framework with a little uh training also not so technical testers uh can write Robot Framework test cases and can Implement gin steps so we have shifted the the the the doings a little bit more to the testers and not to the developers so that's another form of writing a scenario we we write a scenario outline and give examples that we can this is a variable here something like a variable a placeholder for every line in this example so it's very easy to write why not use it in Robot Framework so still sounds good but maybe someone the most of you have of me I'm also the developer of Robert code of the extension for vs code to write Robert uh framework test cases who knows it raise your hands who used it no not so many so that's the next thing I have in mind only the Garen P it's not enough we need support from our IDE to write these test cases uh we need uh maybe something like syntax highlighting in your IDE we need to click at run button we need maybe refactoring of keyword steps and such things so I can imagine that Robert dream of picket cucumbers but maybe other otherwise too so I start by implementing a proof of concept uh maybe some history at at this time I started this this evening was sometimes in in the late uh 2020 [Music] I posted on a uh slack Channel and a big discussion starts so let's uh go to the robocon and I talked in a lightning talk a short form of this uh what's the idea and in the community day before we create something like a p uh for a custom external paer API for Robert framework so that I can Implement some something like a g and P so in the summer 20023 Robot Framework 61 came out with the external uh paa API and then there was a call for proposals uh from the Robot Framework ecosystems I've submitted to proposal to implement the sken Passa and it was accepted so but you see this is a long time half a year maybe uh and then comes the end of 2023 so and I have not started so my employer is giving me some time to really get going uh with the implementation Robot Framework 7 is coming another big changes robot code needs uh to uh uh needs to be done because there are lot of internals change so okay but last week I published the first version of the girl [Applause] [Music] composer this whole time frame is not only because uh the the uh uh that is not faster with the Robot Framework work and such things but it's an open source project and I have my normal work to do and I have families with three kids and it's very difficult sometimes just uh uh get together these things so let's get back to our first scenario just to look I want to write a a feature file and want to executed in Robot Framework some demo time that's why I bring my own computer with so I need to switch to the other ones I and I switch the monitor to so now you should see this one so okay you'll see vs code and the mouse is not [Music] working so but this is also not working I forget the mouse so I start with a empty project did you see something yes okay I make it a little bit bigger so started a uh uh uh empty project created an python environment you know it maybe uh installed some requirements I installed Robot Framework 7 it's the version that is required for the G composer because of the new listener API F uh uh version tree I use [Applause] this and such uh little bit tidy things so to enable the uh G and F or in vs code with robot code you create a little small robot toal file about this robot toal file I make a tutorial at the online version maybe you will come uh then let's start the normal way to create this is write a new uh create a new folder called features create a feature file and write a feature and you see there are run buttons so we can execute this directly but there is no keyword with a given name here found so let's I will just switch to the other one and this is the same here now I have implemented a calculator resource this is the keyword you know it from Robot Framework such I have entered a number into the calculator and this is my scenario and then I just click run and it's screen steps are executed and the correct result is shown so this is the Simplicity of the integration into Rober code and the gumer did not have the time to show everything but uh just a short example with's the login feature just to show it so this is a background story where I need to create some users and then I have to check the simple uh the Lo the login functionality and uh here we have an example and we have here on this button for every line in the example sections a separate test to execute so then I think we can go back to this one and to this one you see okay good what's the current working State all featur of the Geren language are supported see cucumber iio for the docs for this we can Implement robot keywords steps as robot keywords and we can also Implement python keywords for the steps we can use the hooks it's also defined we have at the moment simple syntax highlighting form marting feature files we can run and debug these uh uh uh G files it's not possible in other implementations so that's a point that is only running in Robert framework with gin we have a simple analysis of wrong syntax but there's much more coming step syntax syntax completion whole ring show documentation like you know it from the normal robot uh code plugin for Robot Framework files and more documentation more examples end if you have any ideas here's some links the GitHub rapo visually Studio code extension and a pipie for the goner disclaimer is a very early stage you can use it you can try it but maybe there are some errors but this is the the the important thing now it's your time it's your turn it's an open project open source project and it drives to its Community this is still really important so use it try it uh uh provide PRS provide ideas provide issues enhancement and such things contribute code start on GitHub on Marketplace and spread the word around the world about this maybe we need some new icons if there are some designers so after this first steps I think it's true robot's dream of picket cucumbers and Gans also dreams of robots wait I hear the voice again in the heart of the digital realm a revelation Dawns robots dream of girkin and girkin of robots together sir Robot Framework and Lady girkin weave a tapestry of tests that are more than code their stories alive with purpose and Clarity their Journey reveals a magic key Unity by blending the logic of Robot Framework with the l of girkin they unlock a new testing era here every scenario is an adventure every test a shared dream brought to life as their tale concludes a truth emerges when automation meets narrative The Impossible becomes possible let's step into this Enchanted future where our Creations are not just built but imagined where every line of code Whispers a story together in this realm of Wonder we realize the dream that robots and gerkins dared to dream a world transformed by the magic of their Unity thank [Applause] [Music] you thank you Dania excellent talk there's your hoodie uh any questions for Dania bunch of questions back there at least thank thank you so in in some Frameworks uh like cucumber specflow we need to set up a file uh that points to this is where to Fe find the the test cases the feature files and this is the the folder where you can find the test steps yeah uh the step definition files is there some sort of config in this setup please yes there's something like this uh but it also works like other Frameworks there must be a step folder beneath the feature file and everything under this step folder you can use it in your feature files there's another question there hello um thank you very much for making this uh I'm actually using uh the Ken syntax in my project and this this is a really good Fe feature uh one question I have uh regarding the output files uh what format are they are they similar to cumber because uh I would like to push them to the J X-ray bloging and it automatically detects the steps and so on yeah so it is the uh current uh Robot Framework output uh so comes the same lock file as you execute normal Robot Framework but there are some uh uh enhancement request for the new or ideas for a new uh uh output format for Robot Framework and then we can maybe in uh uh create a new format for G and files for the output but because of the open output format from from Robert framewor you have the lock file and such things you can easily import your uh uh results and whatever uh we have time for two more questions if any let's check the slide though there's one uh wouldn't it be good to have a this natively supported in maybe Robot Framework 7.1 uh if Robot Framework now also supposed change the structure of test cases I don't know if maybe a question to peka I think it's it's uh it is a uh uh good idea to create this this R API for uh uh bringing new language styles to Robot Framework and I think peka has enough to do with the core Robot Framework and then we can provide more languages that's my opinion yeah so but I think it can be discussed some so pressure p uh is the answer one more uh one last question from there I thank you for your presentation and I love your vs code extension and I yeah it's a good thing I love it but in you doing this alone what would you need most to speed up your project and develop it except time from your and money from your company but what is that you need yeah better icons yeah yeah better icons yeah uh maybe you know what um I'm a developer I didn't like right documentation this is one point uh but I think I've made a big refactoring in in the Robert code internals to bring in new language to Robert code this is one part and maybe there are some people who knows a lot more python code uh uh maybe I yeah I need some more python programmers to implement these features for uh uh syntax highlighting and such things because this is done in Python so if you want all right uh thank you Daniel show some love for Daniel be [Music]