diff --git a/dist/js/app.2f2f633b.js b/dist/js/app.a1093419.js similarity index 87% rename from dist/js/app.2f2f633b.js rename to dist/js/app.a1093419.js index 6ae5503..36942b5 100644 --- a/dist/js/app.2f2f633b.js +++ b/dist/js/app.a1093419.js @@ -1 +1 @@ -(function(e){function t(t){for(var n,i,s=t[0],l=t[1],c=t[2],u=0,h=[];u= 3.5\\r\\n - Robot Framework >= 4.0\\r\\n - Editor (IDE) for RF and Python (e.g., VS Code), a RF plugin like RF Language Server or Robotcode is nice to have\\r\\n - GitHub account for code sharing\\r\\n - PyPi account for publishing","Duration":420,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["BJAPHL"],"Speaker names":["Andre Mochinin"],"Room":{"en":"Workshop about creating libraries for Robot Framework"},"Start":"2024-02-06T07:00:00+00:00","End":"2024-02-06T16:00:00+02:00","Lessons Learned":"### Key Takeaways\\r\\n- Understand the possibilities to extend Robot Framework with own libraries\\r\\n- Learn the difference between different kinds of libraries\\r\\n- Get real experience creating and publishing your own library on PyPi","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"983ZBV","Proposal title":"The Happiness Advantage in QA","Session type":{"en":"Talk"},"Track":null,"Abstract":"Unlock the power of positive thinking in QA! Discover how our attention to detail can shape a happier, more productive life. Join us to shift from bug-chasers to solution-creators, fostering collaboration and celebrating success.","Description":"Have you ever wondered how your career as a QA affects your life? We testers spend our time in detecting bugs, inconsistencies, and accessibility issues. We pay a lot of attention to details, try to think of scenarios not only on how to use the software, but how to abuse it too. We are the gate-keepers for a new feature to be released. Is the new feature secure enough? Does it meet the requirements? We constantly seek for flaws and try negative scenarios. And by doing so, we become better and better at this. We train our eyes and our minds to see the flaws. In fact, we become too good at this. Our brain is a muscle; depending on the training we provide, the better we become at this.\\r\\n\\r\\nHave you ever considered how this training might affect the way we perceive the world in general outside the software?\\r\\nAll this negative thinking trains our brain to think negatively. And it does not stop when the clock ticks 5pm. This way of thinking, becomes the way we perceive the world around us. The way we interact with our colleagues, family or friends. The way we perceive challenges in life. Have you heard of the “Medical students\' disease“? Is a condition frequently reported in medical students, who perceive themselves to be experiencing the symptoms of a disease that they are studying. The same happens to us, QA engineers, we constantly seek for flaws.\\r\\nAs Shawn Achor in the book “The Happiness advantage” said: “It’s not necessarily the reality that shapes us, but the lens through which your brain views the world that shapes your reality.”\\r\\n\\r\\nHow about reversing all this negative thinking? How about instead of chasing bugs, we prevent bugs from happening by thinking more positively?\\r\\n\\r\\nIf you can raise somebody’s level of positivity in the present, then their brain experiences a happiness advantage. Your intelligence, your creativity and your energy levels rise.\\r\\nWe can turn our issues into opportunities. When raising an issue or writing a review, we can provide constructive feedback. Instead of focusing on the result, we can focus on the process and how we can improve our Way-Of-Working. It does not matter how many tickets we raise. What does matter, are the discussions being raised by asking the right questions, firing up discussions, documenting, searching and providing actions.\\r\\nInstead of testing the features being implemented by developers, think along with them while they develop; this way the product becomes more robust. We don’t need to measure success in numbers. Sometimes more is achieved by doing less. Give the space and the time to enable others to do more.\\r\\n\\r\\nWe not only see the flaws but also the successes. We work closely with the developers and we see first the beautiful implementation they delivered, the solution they found, the way they handled a problem. There are often times I am proud of the people I am working with. We should be more vocal and praise our colleagues for what they achieved.\\r\\nLet\'s embrace the happiness advantage!","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["ZVZHZJ"],"Speaker names":["Eftychia Thomaidou"],"Room":{"en":"RoboCon"},"Start":"2024-02-09T13:50:00+00:00","End":"2024-02-09T16:20:00+02:00","Lessons Learned":"Hopefully, I can enlighten them to see their daily work from a different angle. I can inspire them achieve more by changing their way of working.\\r\\nI will give concrete examples of how daily QA tasks, that are normally focused on the negative (bugs, flaws), can be turned into a positive training for the mind. \\r\\nAnd I will raise awareness of how constantly searching for bugs seriously influences the way we experience life; and what we can do to train our minds and gain the happiness advantage.","Describe your intended audience":"People that work in the Tester/QA role in software development.","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"9QJRUL","Proposal title":"Ecosystem Project Review Session Opening (Live)","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Live session! Ecosystem project review session opening.","Description":"Live session! Opening of the Ecosystem Project Review session. What are the Ecosystem projects, who can participate in these, and how is the Robot Framework Foundation involved? Tune in with Joe and Miikka for the Ecosystem Project Review session!","Duration":12,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["FQJRHW"],"Speaker names":["Miikka Solmela"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T10:00:00+00:00","End":"2024-02-29T12:12:00+02:00","Lessons Learned":"tba","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"ATWZKG","Proposal title":"Test reporting@UnionInvestment","Session type":{"en":"Talk"},"Track":null,"Abstract":"In our short presentation we want to show you our infrastructure, the tools we use and the library \\"ReportModifier\\".","Description":"As we all see on a regular basis, the complexity of our clients\' requirements is constantly increasing. To compete effectively, we need to deliver high quality results and respond quickly to our clients\' needs. To do this, we need to be able to implement and deliver changes quickly. Clean test management with test automation is the key to staying ahead in our business. \\r\\n\\r\\nEfficient testing is a key success factor for fast and effective software development. We are facing the challenge of increasing test speed and repetition rate, as well as running tests in parallel. By running tests in the cloud, we are able to launch multiple solutions in different container instances in parallel, saving execution time. In combination with Jira as a test management tool and Jenkins as a starting point, we manage the test cases that will be executed and archive the results in an audit-compliant manner. Union Investment is a government-regulated company with mandatory guidelines to test traceability. Robot Framework provides exactly this. By using robot hooks developed for us by Imbus, we can log every step in detail. However, the current tools of Robot Framework cause some problems. The high complexity of the tests and the amount of information that needs to be logged makes the final report very confusing and unreadable for colleagues who aren\'t testers with Robot Framework knowledge but need to know the rough test flow and result. To provide a better overview of the test content, we have developed a new library that can filter the content by message content, keyword names or even keyword paths. \\r\\n\\r\\nIn our short presentation we want to show you our infrastructure, the tools we use and the library \\"ReportModifier\\".","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["Y8HW33"],"Speaker names":["Matthias Gunther"],"Room":{"en":"RoboCon"},"Start":"2024-02-09T08:15:00+00:00","End":"2024-02-09T10:45:00+02:00","Lessons Learned":"I show how to take the complexity out of test cases using listeners and standards. How we connect test management tools like Jira with Robot Framework, how we handle data driven test cases with Jira and what kind of reports we use for different audiences.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"B9HXJZ","Proposal title":"Best Practices Using Robot Framework for Easy Real-world Project Maintenance","Session type":{"en":"Tutorial"},"Track":null,"Abstract":"In our medium-sized project, we\'ve used best practices and Robot Framework\'s power to minimize maintenance efforts. Easy test data management, data-driven testing even with various data items, fast and reliable test run preparation, human-readable keywords, and no need for dual script maintenance… – let us share our insights and tips!","Description":"Real-world projects serve as practical touchstones for theoretical concepts. Our current project, consisting of over 2500 lines of code and nearly 1000 lines of data, is still being developed. To ensure its sustainable growth without undue effort, we chose to adopt a meticulously structured approach.\\r\\n\\r\\n
\\r\\n\\r\\nThankfully, Robot Framework, with its implementation of the keyword-driven testing concept, offers a wide variety of possibilities for structuring projects, be it the strict separation between human-readable test cases and their technically oriented implementations, importing data files in various formats, and the built-in differentiation of prerequisites of a test case and its implementation, to name the most useful ones.\\r\\n\\r\\nWith its mentioned features in mind, we have successfully implemented several concepts and best practices in our project. Key among them are:\\r\\n\\r\\n* the strict separation of static test data from test scripts into YAML files (but still retaining randomness of values where needed), not only promoting data reusability across different tests;\\r\\n* data-driven testing of similar scenarios notwithstanding different data items needed by them;\\r\\n* utilizing queries to obtain dynamic test data from a database system, maximizing bug discovery possibilities;\\r\\n* meeting the prerequisites of web tests through web services calls, vastly enhancing test preparation reliability and speed;\\r\\n* carefully chosen keyword names and interfaces, each with a distinct purpose, leading to diminished demands on their documentation;\\r\\n* a clear distinction between business keywords focused on human readability and technical keywords containing mainly implementation details; this, among others, enables people with limited technical backgrounds to assemble not only test cases but also some keywords.\\r\\n\\r\\nThis last point is of significant importance as it allows for the export of only the human-readable portions of a script into an issue-tracking system. This, in turn, enables manual execution of the script whenever needed, eliminating the need for dual maintenance of manual scripts alongside Robot Framework\'s automated ones.\\r\\n\\r\\nWe look forward to sharing our experiences, best practices, and tips for harnessing the full potential of not merely the highly structured approach inspired and enabled by Robot Framework\'s principles in a real-world project. Our goal is to inspire fellow professionals to explore the benefits of these techniques for enhancing their projects.","Duration":120,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["UTWEES","8TSLHQ"],"Speaker names":["Václav Fuksa","Nina Břicháčková"],"Room":{"en":"Eficode"},"Start":"2024-02-07T11:00:00+00:00","End":"2024-02-07T15:00:00+02:00","Lessons Learned":"The audience or participants will gain practical and battle-tested techniques for handling test data and designing keywords (see the bullet points in the annotation of the contribution). The overall benefits of the methods to be shared include:\\r\\n\\r\\n
\\r\\n\\r\\n- Easier maintenance of test data, scripts and documentation; \\r\\n- Increased likelihood of finding a bug;\\r\\n- Improved speed and reliability of the test preparation phase;\\r\\n- Enabling people with limited technical background to assemble both test cases and high-level keywords;\\r\\n- Eliminating the need for duplicate maintenance: this of both manual and automated scripts.\\r\\n\\r\\nThe relevant passages of authentic code are to be shown to the audience, especially if the presentation is accepted in tutorial format.","Describe your intended audience":"The ideal audience is people with some experience in test automation (but not necessarily in Robot Framework), such as TA architects and designers and intermediate TA engineers. However, even beginners could become aware of the ideas to be presented and will be able to use a few of them in their tests.\\r\\n\\r\\n
\\r\\n\\r\\nPrerequisites: You do not need to bring your laptop as this is NOT a hands-on tutorial.","Is this suitable for ..?":"Intermediate RF user, Advanced RF user"},{"ID":"BYU9KU","Proposal title":"The story of spreading the glory. How we approached the community building in Poland","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Unearth the essence of Robot Framework\'s strength - a vibrant community. Take a peek at our journey to foster collaboration and tackle challenges. Gain practical insights for organizing impactful events, ensuring seamless user experiences. Elevate your Robot Framework experience and strengthen cooperation with your local community!","Description":"What truly defines the value of Robot Framework? Is it the cutting-edge technology? The fact that it\'s open source? Or perhaps, the fact that its keywords resonate like natural, human language? While all of these attributes hold true, in my perspective, the most invaluable aspect of Robot Framework is its community.\\r\\n\\r\\nWitnessing people come together, be it in developing the Robot Framework ecosystem or tackling challenges in its usage, is a truly beautiful sight. But the question arises, how do we unite this community? How can we foster greater collaboration among its users? These were the very questions that drove our initiative to increase the level of collaboration of the Polish RF community. Where did they lead us? Allow me to tell the story of how we set the wheels in motion.\\r\\n\\r\\nOur tale revolves around the Wrobocon initiative, covering various facets such as:\\r\\n\\r\\nThe motivation behind our endeavor\\r\\nThe process of conceiving and executing the inaugural and subsequent Wrobocon events\\r\\nThe hurdles we encountered\\r\\nOur expectations versus the actual outcome\\r\\nAreas where we could have improved\\r\\nThe pivotal factors that influenced this undertaking\\r\\nThe technological stack we employed\\r\\n\\r\\nWe aim to share our experiences so that anyone contemplating a similar venture can draw from our insights, ultimately creating an enhanced user experience right from their inaugural event.\\r\\n\\r\\nIn the course of this talk, I will delve into behind-the-scenes intricacies. This will serve as a resource for prospective event organizers, offering them a chance to learn from our missteps and gather inspiration. They can cherry-pick ideas that resonate with them and add their unique touch. Together, let\'s anticipate a future filled with even more Robot Framework events.🙂","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["XP3VZC"],"Speaker names":["Krzysztof Żminkowski"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T13:00:00+00:00","End":"2024-02-29T15:20:00+02:00","Lessons Learned":"Participants will leave with a clear roadmap for orchestrating successful conferences, armed with insights on community-building and collaboration. They\'ll gain firsthand knowledge from our experience in launching and evolving Robot Framework events. This session is a blueprint for creating impactful gatherings, ensuring a seamless experience for attendees, right from the inaugural event","Describe your intended audience":"It is for a broad audience, for anyone how wants to be engaged in community building on whichever level (regional, country wide, globally). So the soft skill are more crucial. The level of experience in RF isn\'t that important, but it\'s good to already know some people from the community that is why I selected that this talk is for intermediate and advanced users.","Is this suitable for ..?":"Intermediate RF user, Advanced RF user"},{"ID":"C3JNDF","Proposal title":"Robot Framework is ...","Session type":{"en":"Talk"},"Track":null,"Abstract":"Robocon 2022 \\"Robot Framework Is Not ...\\" put forth that we needed a style guide. 2 years and several biweekly meetings later the style guide workgroup can finally unveil the official Robot Framework style guide.","Description":"In this presentation we will talk about how it began, the start of the workgroup, how we made decisions on guide content (user guide, Robocop, Robotidy, folklore, etc ...), where we are today, and finally where do we want to go and who should be involved?\\r\\n\\r\\nThe presentation will offer practical examples on adoption and implementation of the style guide.\\r\\n\\r\\nFinally we need from the Robot Framework community!\\r\\n\\r\\n* More discussions\\r\\n\\r\\n* More content\\r\\n\\r\\n* More workgroup members\\r\\n\\r\\n### The style guide is a community asset, the more we treat it as such, the more authority it will gain.\\r\\n\\r\\nAttend our talk and Kelby promises more pictures of gnomes...","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["9BRJUX","HL7EQT","WG3A8G"],"Speaker names":["Kelby Stine","Guido Demmenie","Manana Koberidze"],"Room":{"en":"RoboCon"},"Start":"2024-02-09T07:00:00+00:00","End":"2024-02-09T09:30:00+02:00","Lessons Learned":"This is a follow up presentation to an earlier one about developing and providing a style guide for Robot Framework. Unveiling a version 1.0 of the guide from the efforts of the work group is a moment we have been waiting for.\\r\\n\\r\\nIt will allow for new users to write cleaner code and provide clarity for existing users.","Describe your intended audience":"Everybody.","Is this suitable for ..?":"Beginner RF user"},{"ID":"DVQTFT","Proposal title":"MITM Unleashed: Hacking Your Network Communication with Robot Framework","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Uncover the potential of Man-in-the-Middle (MITM) techniques in software testing. Discover how to use real-time network manipulation, empowering you with independence and flexibility in automation testing.","Description":"# Introduction\\r\\nIn an ideal world, testing is straightforward, with every aspect of the system easily testable, automation seamless, and testing scenarios requiring no adjustments. The reality often falls short of this ideal. Testing environments may lack vital resources, leading to a reliance on developers to create stubs and mocks or manual testing.\\r\\nThis dependence on developers can introduce bottlenecks and dependencies, especially when working under time constraints or with uncooperative teams. What if testers could gain more control and independence in their testing scenarios? Let\'s explore the concept of using Man-in-the-Middle (MITM) techniques to revolutionize software testing.\\r\\n## The Pretend Game\\r\\nStubbing and mocking are established techniques in software testing. They involve manipulating specific parts of a test object to create specific testing scenarios. This is crucial when integration with external applications is impossible or when replicating desired behaviors is challenging.\\r\\nHowever, challenges arise when it comes to automation and parallel testing, as toggling a stub or mock on and off simultaneously is impossible.\\r\\n## Hacking your network: The MITM Approach\\r\\nMan-in-the-Middle (MITM) attacks are well-known in the cybersecurity domain for eavesdropping network communications. However, MITM techniques can be harnessed as a potent tool for software testing. This approach gives testers the ability to take control of their testing scenarios without relying on developers, external resources, or making changes to the application under test.\\r\\nMITM offers several advantages:\\r\\n### Real-time Network Manipulation\\r\\nMITM allows testers to intercept and manipulate requests sent by applications, enabling the simulation of various scenarios. This can be done in parallel, by proxying a single browser instance to manipulate payloads, by delaying or even blocking specific endpoints.\\r\\n### Backend Information Manipulation\\r\\nMITM is a python library that provides testers with the ability to modify backend data, ensuring that the frontend displays the desired content for testing. Testers can use MITM to simulate various scenarios and verify how the application responds to different inputs. This powerful capability enhances test coverage and can help identify potential vulnerabilities faster¬.\\r\\n## Versatility of MITM\\r\\nOne of the key strengths of MITM is its independence from the application under test. Testers can fully customize and utilize MITM according to their specific testing needs, without relying on external partners or introducing changes to the application\'s codebase. This versatility empowers testers to be more self-sufficient and flexible in their testing efforts.\\r\\n## Conclusion\\r\\nIn an imperfect world, software testing can be a daunting task, with dependencies on developers and external resources. Man-in-the-Middle (MITM) techniques provides testers with the independence and flexibility they need to overcome these challenges.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["T7EQ8T"],"Speaker names":["Mark Moberts"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T17:00:00+00:00","End":"2024-02-29T19:20:00+02:00","Lessons Learned":"How to use MITM with Robot Framework\\r\\nReal world applications for MITM\\r\\nIndependence for testers","Describe your intended audience":"The talk is most suited for people who use some sort of web testing, as this is the easiest implementation. The techniques can be used in various other applications though.","Is this suitable for ..?":"Intermediate RF user"},{"ID":"EC3P3M","Proposal title":"Bridging Innovation and Regulation in Embedded Software Testing with Robot Framework","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"We will show how Robot Framework can be used in embedded software testing as a link between established tools and innovative solutions that make automating testing for hardware-related code a real possibility while still complying with regulatory requirements. Based on a practical solution, we examine if Robot Framework can unite both worlds","Description":"Traditionally, testing each release of a microcontroller\'s firmware involves flashing it onto the chip, integrating it into a HIL simulation and testing it in a closed loop. To move away from this time-consuming way of testing embedded firmware, embeff developed the ExecutionPlatform. The ExecutionPlatform allows you to perform open-loop tests on your microcontroller that operate at the pin level, but without performing an entire simulation of the environment (as in system testing). The test specifies a pin behavior or calls functions in the code. As a result, functions in the code are read or the activities on the pins are evaluated. \\r\\n\\r\\nThese tests are written as Robot Framework scripts. They use Robot Keywords corresponding to the needed pins and endpoints the microcontroller sends and reads data from. After you have written your tests on your local machine, you can flash the firmware onto the chip and run the tests all via ethernet. \\r\\n\\r\\nAs firmware becomes more complex and regulatory requirements come into play, a test management tool is required to define and organise the test cases and align them with the requirements and standards. The established TestBench tool provides a modular approach with pre-defined macros for building test cases. It is also possible to generate and export Robot Framework scripts. They can be executed and immediately imported back into the database with the corresponding test results. \\r\\n\\r\\nThis can now be taken a step further with the ability to access, export and execute tests via a REST API call to the TestBench server. This could be triggered by a code change and an automatic build of the binary.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["FYLY7K","JEJN7Y"],"Speaker names":["Daniel Penning","Max-Vincent Steck"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T13:30:00+00:00","End":"2024-02-28T15:50:00+02:00","Lessons Learned":"Participants will learn which possibilities the use of Robot Framework offers in the ebedded area and how an exemplary solution can be built up and used step by step.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"ECPABL","Proposal title":"Containerize your robots and run them on Kubernetes","Session type":{"en":"Workshop - Full Day"},"Track":null,"Abstract":"Harnessing Kubernetes to run Robot Framework tests in containers offers a practical solution for scaling your test executions in a cloud environment. This workshop will provide hands-on guidance for running Robot Framework within Docker containers and mastering the fundamentals of Kubernetes, the container orchestration platform.","Description":"The advent of the container orchestration platform Kubernetes has revolutionized the development of modern software architectures and the seamless migration of containerized workloads to the cloud. The intricacies of relocating your test infrastructure and test execution to the cloud may seem daunting, but the rewards are profound when you harness the scalability and resource management capabilities of Kubernetes. Join us for an enriching workshop at Robocon 2024, where we\'ll explore the potential of Kubernetes in optimizing your testing.\\r\\n\\r\\n
\\r\\n\\r\\nIn this hands-on workshop, you\'ll learn how to containerize your RobotFramework test executions effectively. We\'ll work together to create Kubernetes manifests for defining and managing these executions. Participants will collaborate within a shared Kubernetes cluster environment, promoting practical knowledge sharing and discussions around diverse approaches. Our focus will be on real-world best practices for running tests in cloud environments, with a specific emphasis on utilizing Kubernetes features.\\r\\n\\r\\nAll workshop details and materials will be shared in an open-source github repository.","Duration":420,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["FJSLFM","C9NDBA"],"Speaker names":["Markus Stahl","Nils Balkow-Tychsen"],"Room":{"en":"Containerize your robots and run them on Kubernetes"},"Start":"2024-02-06T07:00:00+00:00","End":"2024-02-06T16:00:00+02:00","Lessons Learned":"In the first quarter of the workshop, we’ll look into containerizing Robot Framework tests. We’ll look at a simple example as well as the ppodgorsek/robot-framework image and on how to customize images for specific test dependencies. Over all we’ll dive deep into the capabilities of Dockerfiles https://docs.docker.com/engine/reference/builder/.\\r\\n\\r\\n
\\r\\n\\r\\nIn the second quarter, we’ll learn about Kubernetes and go through the creation of a web application via Kubernetes manifest files. We’ll learn about different Kubernetes objects like deployments, pods, volumes, jobs and cronjobs and we’ll use kubectl to analyze and edit them.\\r\\n\\r\\n
\\r\\n\\r\\nIn the third quarter, we’ll apply the learnings from the previous two quarters and build a Kubernetes manifest for a Robot Framework test run. As part of this we’ll also explore different ways of exposing the test reports from the ephemeral test run in the cluster.\\r\\n\\r\\n
\\r\\n\\r\\nIn the last quarter, we’ll discuss scaling of test runs in Kubernetes. We’ll run a few different scenarios with pabot and learn how to investigate the resource consumption in the cluster. As part of this we’ll also discuss limits of pabot and how upcoming ecosystem projects are planning to address those.\\r\\n\\r\\n
\\r\\n\\r\\nOptionally, when time allows we can look into the KubeLibrary and see how it can be utilized to harden your test runs on top of Kubernetes.","Describe your intended audience":"The intended audience for this workshop are test engineers working on test infrastructure. None the less also RPA users can use the knowledge provided to run RPA tasks in their cloud environments.","Is this suitable for ..?":"Intermediate RF user, Advanced RF user"},{"ID":"ECYJEF","Proposal title":"3..2..1..BEEEEEP! Microwaving Robot Framework","Session type":{"en":"Talk"},"Track":null,"Abstract":"Promoting re-usability and abstraction for a multi-interface telecommunication product. Employing one keyword per action offers consistent outputs across interfaces, versatile and reusable single-functionality tests and simplified user focus on keyword-based actions ensuring code simplicity.","Description":"Microwave backhaul is a method used in telecommunications to transmit data, voice and other signals through radio frequencies. Our portfolio includes hardware units with diverse functionalities that can be flexibly configured to create various network/radio topologies. In addition to this, all units support the following user access interfaces: webct (web page), snmp and ongoing integration of netconf, REST and cli. Testing should cover frontend, backend, and end-to-end functionalities for each hardware unit, spanning all interfaces and multiple topological setups. In order to mitigate these complexity issues, we introduced an approach to overload keywords with custom python annotations. In this talk, we\'ll explore hardware testing challenges as well as our framework structure.\\r\\nThe most significant principles in our framework are:
\\r\\n\\r\\n•\\t**One Keyword Approach**\\r\\nEvery action on our product is associated with a specific keyword that will apply it to the access interface given as input argument. Since multi-interfaces are supported, it is ensured that each keyword will return consistent outputs.
\\r\\n\\r\\n•\\t**Test Reusability Across Interfaces**\\r\\nBy extending the above principle from keyword-level to testcase-level, we achieve test uniformity across interfaces, saving development time and resources otherwise spent on separate test case creation.
\\r\\n\\r\\n•\\t**Test Adaptability Based on Network Topology**\\r\\nProduct functionality should be tested across different hardware units and different network topologies. Tests designed for one network topology can be adjusted to similar topologies. The system-under-test is described in a Python class variable file with each test dynamically loading network parameters from this file during runtime. Changing the python file, reuses the test to another hw unit and topology.
\\r\\n\\r\\n•\\t**User Experience Simplification and Code Readability**\\r\\nTo enhance user focus on keyword-driven actions, common interface actions are hidden by adding interface-related parameters as function arguments. Python decorators facilitate these principles by mapping system-dependent variables to their values and executing required actions for each interface.
\\r\\n\\r\\n•\\t**Extendable to new interfaces**
\\r\\nSupport for new user interfaces can be incorporated just by implementing the interface python functions and due to one-keyword approach and test adaptability, no new tests need to be re-written to test existing functionality!
","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["VWUYL7"],"Speaker names":["Stavroula Ventoura"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T09:40:00+00:00","End":"2024-02-08T12:10:00+02:00","Lessons Learned":"What i have learned?\\r\\n* how to use decorators for custom keywords . \\r\\n* how to test actual hw, and how sensitive it is\\r\\n* how hard it is to combine different interfaces\\r\\n* how to automate also peripheral units (instruments needed for our tests)\\r\\n* how to reuse code of the two existing frameworks to unite to one\\r\\n* how to make the framework user-friendly and appealing to all testers - automated and manual - and clear to all, despite their automation knowledge. \\r\\n* how to continuously improve the user-experience and the framework capabilities.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"EJTPFY","Proposal title":"Automated Generation of Acceptance Tests of Process-Aware Information Systems (PAIS)","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Test coverage in customizable PAIS can be challenging due to complexity and variability of process models. Automated generation and execution of test cases based on the BPMN that underlies the system is promising. A solution that executes acceptance tests through the automation of the user interface of a Camunda-based webapp using RF is presented.","Description":"A model-based testing strategy is proposed, using BPMN models and some reference architecture specifications as input to generate RF scripts that automate a comprehensive User Acceptance Test procedure of a customizable PAIS.\\r\\nThe present PAIS, called AKIP Platform, is the result of the effort of researchers from the AgileKip group. It is based on the Open Source Community Edition Camunda 7, and uses JHipster to scaffold a fully customizable process-aware webapp.\\r\\nThe AKIP Platform was built by developers and researchers from the AgileKip group, who are devoted to facilitate Process/Workflow Automation initiatives based on code generation techniques, for developers, professors and researchers willing to disseminate and build Process-Aware Information Systems based on known technologies such as BPMN, Java and Javascript.\\r\\nLeveraging on RF, i.e. RPA, to mimic user interactions allows for reducing the need for testers to manually input PAIS-related information when handling user forms, while increasing test coverage and enabling regression testing.\\r\\nCurrently, there\'s a prototype developed, which is able to interpret the BPMN and generate executable test cases using RF for the user interface automation. It utilizes the Faker library to generate random input data and Selenium for the webapp automation.\\r\\nIt is also being explored the generation of such test cases using the Gherkin syntax, in an effort to aproximate documentation and test planning.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["KQR9AE"],"Speaker names":["Tales Mello Paiva"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T16:30:00+00:00","End":"2024-02-29T18:50:00+02:00","Lessons Learned":"Exploring and diving deeper into the interplay between RF and Camunda, i.e. RPA and BPMS.\\r\\nPractical examples on how to generate and execute test cases based on the BPMN of a process model.\\r\\nUsing Gherkin to bridge the gap between a PAIS main artifact, the process model, and the test planning.","Describe your intended audience":"Business Process Management enthusiasts, QA engineers, RPA enthusiasts.","Is this suitable for ..?":"Beginner RF user"},{"ID":"FDD8CK","Proposal title":"Opening the Conference (Live)","Session type":{"de":"Keynote","en":"Keynote"},"Track":null,"Abstract":"Pekka will deliver an in-depth presentation on the latest release of Robot Framework, along with ideas for future development.\\r\\n\\r\\nMiikka and René will also discuss and present the Robot Framework Foundation and its community.","Description":"Pekka will deliver an in-depth presentation on the latest release of Robot Framework, along with ideas for future development.\\r\\n\\r\\nMiikka and René will also discuss and present the Robot Framework Foundation and its community","Duration":50,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["JUQN3X","FQJRHW","D3ZLT3"],"Speaker names":["René Rohner","Miikka Solmela","Pekka Klärck"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T10:00:00+00:00","End":"2024-02-28T13:00:00+02:00","Lessons Learned":"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.\\r\\nWhy do we use it?\\r\\n\\r\\nIt is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using \'Content here, content here\', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for \'lorem ipsum\' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user"},{"ID":"FUGUMQ","Proposal title":"Ecosystem Project Review: RIDE project - Robot Framework 6.1 features support (Live)","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Live session! Ecosystem project review of the project followed by a Q&A!","Description":"Live session! Ecosystem project review of the project, followed by a Q&A! The Robot Framework Ecosystem is vast, and the Robot Framework Foundation occasionally funds some of its projects. Tune in to hear what was achieved with the funding this time!","Duration":12,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["DYGBXQ"],"Speaker names":["Hélio Guilherme"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T10:36:00+00:00","End":"2024-02-29T12:48:00+02:00","Lessons Learned":"tba","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"H9BAHW","Proposal title":"Closing the Conference","Session type":{"de":"Keynote","en":"Keynote"},"Track":null,"Abstract":"Closing words\\r\\n Game Winners Announcement\\r\\n After-Party Invitation","Description":"Closing words\\r\\n Game Winners Announcement\\r\\n After-Party Invitation:\\r\\n Unwind and Connect: Relax, network, and enjoy in a casual, festive atmosphere.\\r\\n Entertainment: Great music and delightful refreshments.\\r\\n Socialize: An opportunity to mingle and celebrate the day\'s success.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["VWRTSC","HTDUSJ","FQJRHW"],"Speaker names":["Mateusz Nojek","René Rohner","Miikka Solmela"],"Room":{"en":"RoboCon"},"Start":"2024-02-09T14:20:00+00:00","End":"2024-02-09T16:40:00+02:00","Lessons Learned":"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.","Describe your intended audience":null,"Is this suitable for ..?":"Advanced RF user"},{"ID":"HSDAHH","Proposal title":"RFSwarm how it came about and where it\'s going","Session type":{"en":"Talk"},"Track":null,"Abstract":"An overview if RFSwarm - a performance testing tool with robot framework\\r\\n- what it is and why it\'s important different to other performance testing tools\\r\\n- why I created it\\r\\n- where it\'s at now\\r\\n- future plans\\r\\n- Q&A","Description":"- what it is and why it\'s important different to other performance testing tools\\r\\nIn this part of the talk I\'ll tell about the tool, what its for, what I believe the benefits are, why people might use RFSwarm over other performance test tools, and the problems I believe RFSwarm solves for people.\\r\\n\\r\\n- why I created it\\r\\nIn this section I\'ll give a little bit about my background, ways I\'d attempted to solve these problems before RFSwarm, and why I ended up creating RFSwarm.\\r\\n\\r\\n- where it\'s at now\\r\\nIn this section I\'ll give an overview of where RFSwarm is today\\r\\n\\r\\n- future plans\\r\\nIn this section I\'ll talk about the planned features and give a rough idea of the roadmap, things that I foresee that could change the roadmap.\\r\\n\\r\\n- Q&A\\r\\nIn this section I\'ll open for people to ask any questions they want about RFSwarm and do my best to answer them.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["UHHRL8"],"Speaker names":["Dave Amies"],"Room":{"en":"RoboCon"},"Start":"2024-02-09T12:00:00+00:00","End":"2024-02-09T14:30:00+02:00","Lessons Learned":"- Difficulties for an automation team doing test automation with one tool/language and then having to use another completely different tool & language for performance testing, how this becomes easier with RFSwarm.\\r\\n- Learn that with RFSwarm they can use Robot Framework for performance testing as well\\r\\n- Benifits to the Test team when all the test automation disciplines are all using the same scripting language\\r\\n\\r\\nI expect to spend 5 min on each of the 5 sections I previously mentioned to bring the talk to 25 min.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"JHXEQQ","Proposal title":"Robot Framework as Compliance Enabler","Session type":{"en":"Talk"},"Track":null,"Abstract":"Unlock Compliance with Robot Framework! Join my talk to learn how this versatile automation tool empowers teams to streamline and automate manual documentation processes, ensuring seamless adherence to industry regulations. Get practical tips on how to harness Robot Framework\'s potential in your compliance journey with automated reports creation!","Description":"In today\'s fast-evolving tech landscape, compliance with rules and standards is a universal priority, extending beyond regulated industries like banking and pharmaceuticals. Robot Framework, a versatile automation tool, is reshaping how we ensure our software meets production-ready criteria.\\r\\n\\r\\nThis talk aims to demystify compliance, highlighting its critical importance in modern software development. Failing to meet compliance can have wide-ranging consequences, from legal ramifications to reputational damage.\\r\\n\\r\\nAttendees will gain practical insights into how Robot Framework integrates into automation pipelines, facilitating compliance validation, and how to generate comprehensive, user-friendly reports. These serve as tangible proof of compliance, invaluable for audits and regulatory assessments. Hands-on guide to report generation will be demonstrated, ensuring that the product is well-prepared for any compliance checks that come along in the development journey.\\r\\n\\r\\nThis talk is an essential guide for navigating the intersection of compliance and automation in the software engineering landscape, making sure you\'re building for the future with confidence. Join me on this journey towards a future where compliance is not a hurdle, but an enabler of innovation.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["SZE8YE"],"Speaker names":["Kateřina Hošová"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T12:10:00+00:00","End":"2024-02-08T14:40:00+02:00","Lessons Learned":"Participants will learn how to integrate Robot Framework as a testing tool into development process, meaning automation pipelines, and how to create human-readable reports, that will be incorporated into SDLC documentation. They will also learn what is compliance, SDLC process and how testing fits into the bigger picture.","Describe your intended audience":"Any test engineer that works on a project that is following SDLC compliance processes, or anyone who wants to learn tips on easily readable test reports (for both technical and business sides).","Is this suitable for ..?":"Intermediate RF user"},{"ID":"JRSGDD","Proposal title":"Enhancing Test Insights: A Deep Dive into Robot Framework Reporting","Session type":{"en":"Tutorial"},"Track":null,"Abstract":"Join our tutorial, \\"Deep Dive into Robot Framework Reporting,\\" where we\'ll empower you to transform test reports into decision-making tools. Uncover hidden insights, use Allure, ReportPortal, and Grafana, and gain the ability to drive quick, informed actions through crystal-clear data.","Description":"Welcome to our tutorial, \\"Enhancing Test Insights: A Deep Dive into Robot Framework Reporting.\\" In this immersive session, we\'ll embark on a journey to transform your test reports into invaluable assets for making informed decisions. \\r\\n\\r\\n
\\r\\n\\r\\nExplore the depths of Robot Framework reporting, uncover hidden insights, and unlock the power of Allure, ReportPortal, and Grafana . Join us to elevate your reporting skills and gain the ability to drive swift and informed actions through crystal-clear insights. Don\'t miss this opportunity to become a master of test reporting!","Duration":120,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["T7BUER"],"Speaker names":["Many Kasiriha"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-27T08:00:00+00:00","End":"2024-02-27T12:00:00+02:00","Lessons Learned":"Collecting and visualizing Result History with different tools.\\r\\nGood practices in Robot Framework to improve reporting.\\r\\nParsing Test Results the right way (using the API).\\r\\nUnderstand usage of 3rd party reporting solutions like Allure, Grafana and ReportPortal with Robot Framework","Describe your intended audience":"People who know Robot Framework and who want to improve their reports.","Is this suitable for ..?":"Intermediate RF user"},{"ID":"JSCEPN","Proposal title":"How Robot Framework has changed the RPA market, and what we did with it","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"The presentation explores challenges in SME RPA projects, emphasizing Robot Framework\'s advantages and sharing insights on overcoming obstacles for an RPA agency","Description":"As is the case in many countries, in the Netherlands the SME market is the true engine of the economy. This is also where most of the workforce is active. Although RPA was always an interesting solution for them technically, the investment in the software and the hiring of the required knowledge made it non-viable for most companies. \\r\\n\\r\\nWhat we are now experiencing is a true revolution in the RPA market, due to the evolution of RPA software. We have embraced Robot Framework through Robocorp to expand our offerings and start helping the SME market at a large scale for the first time. \\r\\n\\r\\nIn our talk we would like to take the visitors on a journey through the challenges involved in RPA projects in the SME markets, such as budgeting, technical and process knowledge within companies and the impact RPA robots have on these organizations. \\r\\n\\r\\nWe will be highlighting the advantages of doing this with robot framework and how it has helped us create a viable RPA agency and share the main obstacles we had to overcome (and are still dealing with).","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["CPN7VC","ZGZ7WT"],"Speaker names":["Sam van der Wagen","Jasper Verbunt"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T15:00:00+00:00","End":"2024-02-28T17:20:00+02:00","Lessons Learned":"- Difference between RPA projects in large and SME companies\\r\\n- Advantages of using Robot Framework as language for RPA projects in SME companies\\r\\n- Hurdles to overcome in projects with SME companies\\r\\n- Challenges in setting up an RPA agency","Describe your intended audience":"Developers / agencies interested in use of Robot Framework for custom RPA projects","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"JSZTRJ","Proposal title":"Open-source RPA stack in the bank","Session type":{"en":"Talk"},"Track":null,"Abstract":"There are some crucial questions at the beginning of RPA implementaion. No-code, low-code or high-code RPA tool? We are developers and we love high-code tools! What will be the cost of implementation? Is there anything like open-source RPA tool? Yes, there is! The answer is Robot Framework.","Description":"There are some crucial questions at the beginning of RPA implementaion. No-code, low-code or high-code RPA tool? We are developers and we love high-code tools! What will be the cost of implementation? Is there anything like open-source RPA tool? Yes, there is! The answer is Robot Framework. \\r\\n \\r\\nBanks are specific institutions with hundreds of applications that are built on different technologies. You should find the right tool for automation routine, repetitive and manual tasks. Robot Framework and stack around it can handle that without any extra costs. In the end RPA platform is not only about automation tool. There is a need of robots orchestration, building run-time environments and so on. We will look at how it can be done with mainly open-source tools and how to succeed in everyday operation.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["LYEHWU"],"Speaker names":["Patrik Zakovič"],"Room":{"en":"RoboCon"},"Start":"2024-02-09T08:45:00+00:00","End":"2024-02-09T11:15:00+02:00","Lessons Learned":"Inspiration how RPA platform can be build with open-source stack a how to automate different type of technologies with RF and its libraries.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user"},{"ID":"JXBLTV","Proposal title":"Integrating Robot Framework with Generative AI and Jira","Session type":{"en":"Workshop - Full Day"},"Track":null,"Abstract":"Explore the synergy of Generative AI and Robot Framework via Listener API in this hands-on workshop! Discover how to enrich Robot Framework outputs and logs, automate Jira bug/task creations for failed test cases, and tap into ChatGPT for enhanced test insights.","Description":"In this extensive full-day workshop, attendees will dive deep into exploring two powerful integrations to Robot Framework, honing in on the capabilities of the Listener API.\\r\\n\\r\\nThe morning session will focus on integrating ChatGPT with Robot Framework. Attendees will learn how to utilize the Listener API to harness the capabilities of ChatGPT, enriching the framework\'s outputs and logs. This integration aims to provide clearer and more informative feedback from test executions, making the debugging process more straightforward. We will also present how to enrich Robot Framework outputs and logs to provide a more detailed overview of test executions.\\r\\n\\r\\nPost lunch, the workshop will shift its focus towards integrating Jira with Robot Framework, building on top of the listeners and ChatGPT integration from the morning session. Leveraging existing Python libraries, attendees will learn how to automate the creation of bugs/tasks in Jira for failed test cases directly from Robot Framework, again utilizing the Listener API. \\r\\n\\r\\nBy the end of the workshop, attendees will have a well-rounded understanding and hands-on experience on leveraging the Listener API for integrating ChatGPT and Jira with Robot Framework, broadening the horizon of what\'s achievable with Robot Framework Listeners API.","Duration":420,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["8U3B3T"],"Speaker names":["David Fogl"],"Room":{"en":"Integrating Robot Framework with Generative AI and Jira"},"Start":"2024-02-06T07:00:00+00:00","End":"2024-02-06T16:00:00+02:00","Lessons Learned":"In the workshop on integrating ChatGPT and Jira with Robot Framework, participants learned the significance of seamlessly blending automated testing with generative AI and workflow automation tools. The ChatGPT-enriched test outputs and logs integration demonstrates how AI can provide enhanced insights for automated tests. In parallel, the session on automating Jira task creation illuminated the importance of effective error handling and precise mapping of test results to Jira tasks. This exercise highlighted the value of workflow automation in saving time and reducing manual effort while underscoring the need for adaptable and maintainable scripts as testing requirements evolve. The hands-on experience emphasized the practicality of using existing Python libraries and the Listener API for efficient and meaningful integrations. It will give the participants actionable skills to apply in their testing environments.\\r\\n\\r\\nMorning Session: ChatGPT Integration with Robot Framework\\r\\n09:00 - 09:30: Introduction and Overview of Workshop\\r\\n09:30 - 10:30: Deep Dive into Robot Framework\'s Listener API and Integrating ChatGPT\\r\\n10:30 - 10:45: Coffee Break\\r\\n10:45 - 11:45: Hands-On Exercise: Enriching Test Outputs with ChatGPT\\r\\n11:45 - 12:00: Q&A and Recap of Morning Session\\r\\n\\r\\nLunch Break: 12:00 - 13:00\\r\\n\\r\\nAfternoon Session: Automating Jira Task Creation with Robot Framework\\r\\n13:00 - 14:00: Setting Up Jira Integration with Robot Framework\\r\\n14:00 - 14:15: Coffee Break\\r\\n14:15 - 15:15: Hands-On Exercise: Automating Bug/Task Creation in Jira\\r\\n15:15 - 16:00: Final Discussion, Advanced Tips, and Workshop Wrap-Up","Describe your intended audience":"This workshop is suitable for professionals with an intermediate to advanced level of understanding in software testing and automation. It assumes a basic knowledge of Python, as Python libraries are a key component of the integrations. The content is targeted more towards practical implementation rather than theoretical concepts, making it ideal for attendees who prefer hands-on learning to directly apply the skills in their work environment.","Is this suitable for ..?":"Intermediate RF user, Advanced RF user"},{"ID":"K7ZSXM","Proposal title":"How to create a successful Robot Framework automation project","Session type":{"en":"Talk"},"Track":null,"Abstract":"Many people start automation projects with poor knowledge about the product they are automating or they start in a rush because of the desire to advance quickly. Without a propper organisation and strategy in mind, this can lead to bad/inconsistent implementations that become more costly and time consuming to fix once the project is ongoing.","Description":"This will be a presentation about:\\r\\n- Things to consider before starting an automation project\\r\\n- How to organise and structure the project for best performance and scalability\\r\\n- What are the good practices to use along the development process\\r\\n- Develop with stability and scalability in mind\\r\\n...\\r\\nMore awesome tips and tricks to use along the automation project development","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["78DPXU"],"Speaker names":["Liviu Avram"],"Room":{"en":"RoboCon"},"Start":"2024-02-09T09:30:00+00:00","End":"2024-02-09T12:00:00+02:00","Lessons Learned":"This is a presentation for absolute beginners, who will most likely learn a lot of new stuff but also for experienced Robot Framework users who might discover some new things","Describe your intended audience":"Mostly beginners but more advanced users can benefit aswell","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"K8W3WJ","Proposal title":"Am I good enough for open source?","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Have you ever thought about contributing to Open Source? If you haven\'t done so because you doubt your abilities. This is the talk for you! Everybody can help and every little bit helps.\\r\\nJoin me and discover how to get started and overcome your doubts. Let\'s get you contributing to Open Source projects!","Description":"Inspired by a talk from RoboCon 2023 where Ed Manlove asked for help with SeleniumLibrary I walked up to him and asked how I can contribute. What I found out is that the people behind all this cool Robot Framework code are regular humans just like you and me. I also found out that there are many ways to contribute, not just by writing code.\\r\\n\\r\\nIn my talk I will share my experience becoming a first time contributor to Robot Framework and show you all the different unexpected ways you can contribute to Open Source. If I can do it, you can do it too!","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["GZRASZ"],"Speaker names":["Yuri Verweij"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T15:00:00+00:00","End":"2024-02-29T17:20:00+02:00","Lessons Learned":"There are many ways to contribute to Open Source that the participants may not have thought about. For instance: reviewing, running tests, discussing new features, etc.\\r\\nI\'ll also help participants get over their fear of contributing or getting in contact with Open Source teams.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"KAKUQN","Proposal title":"Ecosystem Project Review","Session type":{"de":"Keynote","en":"Keynote"},"Track":null,"Abstract":"During the fall of 2023, we will have several Ecosystem projects. \\r\\n\\r\\nLet\'s see what came out of them!","Description":"During the fall of 2023, we will have several Ecosystem projects. \\r\\n\\r\\nLet\'s see what came out of them!\\r\\n\\r\\nProjects:\\r\\nAdd expected conditions to selenium library\\r\\nDoing unloved tasks in Browser lib (fixing Bugs, Updating API, writing Docs)\\r\\nRobotCode: Road to Version 1.0\\r\\nSeleniumLibraryToBrowser migration helper\\r\\nRobotFramework Gherkin Parser - Integration of Gherkin into RobotFramework\\r\\nRIDE project - Robot Framework 6.1 features support\\r\\nRobotLab","Duration":50,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":[],"Speaker names":[],"Room":null,"Start":null,"End":null,"Lessons Learned":"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.","Describe your intended audience":null,"Is this suitable for ..?":"Advanced RF user"},{"ID":"KHMASZ","Proposal title":"Next-Gen Pipeline Journey: Elevate your skills with Robot Framework","Session type":{"en":"Workshop - Full Day"},"Track":null,"Abstract":"Unlock the power of Robot Framework and CI/CD pipelines with us! Dive in with an exciting game, perfecting pipelines and sharing experiences. Let\'s build scalable, reliable, and adaptable pipelines in GitLab together. Our Journey, your decisions! Join the workshop and transform your skills.","Description":"The workshop\'s primary objective is to disseminate knowledge about Robot Framework and CI/CD pipeline topics. We begin with an engaging card game focused on designing the perfect pipeline using a provided example to facilitate knowledge and experience sharing. Our discussions will delve into the creation of specialized pipelines for integration, deployment, and the delivery of high-quality test suites.\\r\\n\\r\\n
\\r\\n\\r\\nSubsequently, we will immerse ourselves in a dedicated environment that includes routers and servers, allowing us to create real-life project scenarios within the confines of the workshop. Here, we will construct scalable, reliable and adaptable pipelines within the GitLab environment, where runners are dynamically managed and configured for specific purposes. During the workshop there will be many possible path to follow so we will discuss and decide together.","Duration":420,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["R9UP8V"],"Speaker names":["Lukasz"],"Room":{"en":"Next-Gen Pipeline Journey: Elevate your skills with Robot Framework"},"Start":"2024-02-06T07:00:00+00:00","End":"2024-02-06T16:00:00+02:00","Lessons Learned":"1. CI/CD pipeline design - we will play the game where real life solutions are to design\\r\\n2. Robot Framework proficiency - we will go through topics like building the dynamic testing environment for Robot, reporting in multiple ways, usage of database testing, API testing and UI testing but pure testing is not the essential of the workshop\\r\\n3. Integration and Deployment strategies and assumptions\\r\\n4. Knowledge how to delivery high quality tests \\r\\n5. GitLab Pipeline Management - during the workshop we will create dynamically managed runners and use them for the short term\\r\\n6. How to design pipeline at AWS increasing productivity of teams and make time to market shorter and cheaper using dedicated approach designed and introduced by me in a few projects","Describe your intended audience":"This workshop was designed for the people having the basic knowledge about Robot Framework and basic knowledge about Bash/Powershell scripts, how to build projects, how to run tests from the command line etc.","Is this suitable for ..?":"Beginner RF user, Intermediate RF user"},{"ID":"KN7GTB","Proposal title":"Unlocking the Power of RobotFramework: An Introductory Tutorial","Session type":{"en":"Tutorial"},"Track":null,"Abstract":"Embark on an exhilarating 2-hour adventure with us as we dive deep into RobotFramework - test automation tools gem. From the thrill of the initial installation to the adrenaline-pumping basics, our tutorial equips you to unleash the full potential of RobotFramework. Get ready to supercharge your automation journey and emerge as a testing champion!","Description":"

Tutorial Agenda:

\\r\\n
    \\r\\n
  1. \\r\\n Introduction to RobotFramework (30 minutes):\\r\\n
      \\r\\n
    • Explore the basics of test automation and the importance of RobotFramework in modern software testing.
    • \\r\\n
    • Learn about the key features and advantages of RobotFramework.
    • \\r\\n
    \\r\\n
  2. \\r\\n
  3. \\r\\n Installation and Setup (20 minutes):\\r\\n
      \\r\\n
    • Walk through the step-by-step process of installing RobotFramework on your system.
    • \\r\\n
    • Configure your environment to kickstart your automation journey.
    • \\r\\n
    \\r\\n
  4. \\r\\n
  5. \\r\\n Creating Your First Test (20 minutes):\\r\\n
      \\r\\n
    • Build your first test case from scratch, incorporating keywords and test data.
    • \\r\\n
    • Understand the structure of a RobotFramework test suite.
    • \\r\\n
    \\r\\n
  6. \\r\\n
  7. \\r\\n Executing Tests (20 minutes):\\r\\n
      \\r\\n
    • Discover various methods of running test cases, including command-line execution.
    • \\r\\n
    • Interpret test execution results and reports.
    • \\r\\n
    \\r\\n
  8. \\r\\n
  9. \\r\\n Keyword Libraries and Custom Keywords (30 minutes):\\r\\n
      \\r\\n
    • Explore built-in and external libraries, and understand how to leverage them in your test cases.
    • \\r\\n
    • Create custom keywords to meet the unique requirements of your test scenarios.
    • \\r\\n
    \\r\\n
  10. \\r\\n
  11. \\r\\n Variable Management (20 minutes):\\r\\n
      \\r\\n
    • Learn how to handle variables to make your tests more dynamic and reusable.
    • \\r\\n
    • Understand variable scopes and the RobotFramework variable syntax.
    • \\r\\n
    \\r\\n
  12. \\r\\n
  13. \\r\\n Test Data Management (20 minutes):\\r\\n
      \\r\\n
    • Master the art of managing test data and test data files.
    • \\r\\n
    • Use data-driven testing to test various scenarios with a single test case.
    • \\r\\n
    \\r\\n
  14. \\r\\n
  15. \\r\\n Handling Test Environments (15 minutes):\\r\\n
      \\r\\n
    • Discover strategies for managing test environments and configurations.
    • \\r\\n
    • Handle setup and teardown tasks efficiently.
    • \\r\\n
    \\r\\n
  16. \\r\\n
  17. \\r\\n Best Practices and Tips (20 minutes)\\r\\n
\\r\\n\\r\\n

Tutorial Objective:

\\r\\n

This tutorial is designed for individuals with little to no experience with RobotFramework. Our goal is to equip you with the fundamental knowledge and practical skills required to start your test automation journey. Whether you\'re a tester, developer, or a quality assurance professional, you\'ll leave this tutorial with a solid understanding of how to create and maintain test suites, handle test data, and integrate RobotFramework into your projects.\\r\\n\\r\\n- Install and set up RobotFramework.\\r\\n- Create and execute basic test cases.\\r\\n- Efficiently manage variables, test data, and test environments.\\r\\n- Harness the power of keyword libraries and custom keywords.\\r\\n- Follow best practices for sustainable test automation.\\r\\n\\r\\nThis tutorial is designed to bring practical value to attendees by providing them with the skills and knowledge to confidently use RobotFramework for their test automation projects. It emphasizes hands-on experience, ensuring that participants are well-prepared to tackle real-world automation challenges and deliver high-quality software.","Describe your intended audience":"This tutorial is designed for individuals with little to no experience with RobotFramework. Our goal is to equip you with the fundamental knowledge and practical skills required to start your test automation journey. Whether you\'re a tester, developer, or a quality assurance professional, you\'ll leave this tutorial with a solid understanding of how to create and maintain test suites, handle test data, and integrate RobotFramework into your projects.\\r\\n\\r\\n
\\r\\n\\r\\nTutorial prerequisites:\\r\\n- computer with Python (>3.10) installed\\r\\n- node.js\\r\\n- IDE of choice","Is this suitable for ..?":"Beginner RF user"},{"ID":"KTU8MK","Proposal title":"Using RobotFramework for Embedded Driver Testing - A field report","Session type":{"en":"Talk"},"Track":null,"Abstract":"In 2020 we decided to use RobotFramework as an interface to our generic Embedded Test Platform.\\r\\nSince then our users check their hardware related microcontroller code only through Robot test sequences.\\r\\n\\r\\nThis talk will highlight some of the technical challenges we faced and what we learned in resolving them.","Description":"The talk will briefly explain why we turned to RobotFramework and what we need it for. Then these technical challenges are covered:\\r\\n\\r\\n- Access a network-based test device\\r\\n- Flexible keywords based on a user-defined configuration\\r\\n- Usability through VS Code and plugins \\r\\n- Concurrent access und authentication\\r\\n\\r\\nI will also share what seems to be missing in RobotFramework / Libraries / Ecosystem from our point of view.\\r\\nThe conclusion will give a definitive answer to the question if our decision to use RobotFramework as an interface turned out to be a good one or not.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["EWMKBG"],"Speaker names":["Paweł Wiśniewski"],"Room":{"en":"RoboCon"},"Start":"2024-02-09T10:00:00+00:00","End":"2024-02-09T12:30:00+02:00","Lessons Learned":"Participants will learn\\r\\n- How the Remote RobotFramework library can be used for fast prototyping and what limitations it has\\r\\n- On the importance of the ecosystem (such as VS Code plugins) for a good usability\\r\\n- Why turning to RobotFramework as an interface for custom test devices is a great choice","Describe your intended audience":"Targeted for a broad audience: \\r\\n- Developers and testers that look for ideas how to use RobotFramework for test embedded hardware-related code\\r\\n- People familiar with RF to give feedback about the ideas/problems presented","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"L977MQ","Proposal title":"Working with Resources, Libraries and Variables: patterns and pitfalls","Session type":{"en":"Tutorial"},"Track":null,"Abstract":"The Robot Framework offers many ways in which you can work with Resources, Libraries and Variables. This flexibility is a very powerful feature but as the saying goes: With great power comes great responsibility. And as always: Anything that can go wrong, will go wrong.","Description":"In this tutorial I\'ll go over a number of patterns I\'ve seen in Robot Framework projects, their pros and cons and related pitfalls.\\r\\n\\r\\n
\\r\\n\\r\\nWe\'ll also look at how a language server can help us (and how we can help the language server), what it\'s trying to tell us and how this relates to the tidy and robocop tools.\\r\\n\\r\\n
\\r\\n\\r\\nI hope to also show a proof-of-concept for a tool to visualize the import structure of a Robot Framework project that can help in improving the structure of a project.","Duration":120,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["EFQQP9"],"Speaker names":["Robin Mackaij"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-27T14:00:00+00:00","End":"2024-02-27T18:00:00+02:00","Lessons Learned":"- Better insight in how the Robot Framework resources / libraries system works\\r\\n- What (common) patterns there are and their pros and cons\\r\\n- How a language server / tidy / robocop can help solving \\"import issues\\" in a project","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"LF8DXX","Proposal title":"Maximizing Efficiency with RobotCode CLI Tools: A Comprehensive Guide","Session type":{"en":"Tutorial"},"Track":null,"Abstract":"[RobotCode](https://robotcode.io/) is widely known as Visual Studio Code Extension, but it also provides a set of powerful command line tools that greatly enhance the development experience with Robot Framework. This tutorial will introduce the practical uses of these tools and show how they can streamline your workflow and improve project quality.","Description":"Participants will learn how RobotCode CLI Tools can support their work in Robot Framework projects:\\r\\n\\r\\n- **Utilizing Configuration Files**: The `robot.toml` configuration file simplifies the definition of parameters necessary for executing tests and tasks, eliminating the need for complex command-line calls. It facilitates the creation of execution profiles for various environments, such as test, development, production, or CI.\\r\\n\\r\\n- **Efficient Querying of Project Information**: Developers can quickly identify which suites, tests, tasks, or tags are present in their project without the need for a complete test run or dry run. They can also experiment with different tag combinations and explore test cases associated with specific tags. This information can be easily displayed on the console and structured in a file for further processing.\\r\\n\\r\\n- **Enhancing Project Quality**: The RobotCode CLI Tools allow users to inspect their project for potential issues like typos, unknown keywords, imports, or variables. Furthermore, unused keywords or variables are detected, simplifying project-wide optimization. All diagnostic information displayed in the IDE is also available on the console.\\r\\n\\r\\n- **Optimizing Project Structure**: Developers can streamline their projects with RobotCode by removing unnecessary files or folders (i.e. the output folder). Additionally, they can generate new projects or files from pre-defined or custom templates.\\r\\n\\r\\nThis tutorial is for developers who want to optimize their use of Robot Framework with the advanced features of RobotCode. Participants should bring their own laptops, have a basic knowledge of Robot Framework and Python, and have a GitHub account. Installation is not required.","Duration":120,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["RMY3KA"],"Speaker names":["Daniel Biehl"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-27T11:00:00+00:00","End":"2024-02-27T15:00:00+02:00","Lessons Learned":"- How to create and use a `robot.toml` configuration file\\r\\n- How to use the `robotcode` command to execute tests and tasks, switching between different execution profiles, select profiles in VSCode, etc.\\r\\n- How to use the `robotcode` command to query project information\\r\\n- How to use the `robotcode` command to check project quality\\r\\n- How to clean up a project with the `robotcode` command\\r\\n- How to generate new projects or files from predefined templates with the `robotcode` command","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"LHTGWU","Proposal title":"Performance test in a day using Robot Framework and RFSwarm","Session type":{"en":"Workshop - Full Day"},"Track":null,"Abstract":"In this workshop you\'ll see how you can use Robot Framework and RFSwarm to begin performance testing on day 1 with a new to you application.\\r\\n\\r\\nStarting from scratch you will write test cases and tune them for performance testing and by end of the day run a performance test and then generate a report suitable for presenting your results.","Description":"Attendees of this workshop will write some simple tests with robot framework, then make adjustments to those tests to prepare them for performance testing with RFSwarm, setup RFSwam components (Agent, Manager & Reporter), then run a performance test with RFSwam using the test cases created and prepare a test report from the performance test results and finally create a template of the report for future tests\\r\\n\\r\\n
\\r\\n\\r\\nIf time allows we\'ll cover monitoring of the AUT server, integration with CI/CD builds, Agents running in the cloud, and any questions that come up.\\r\\n\\r\\n
\\r\\n\\r\\nThe workshop will be based on a web store application to be representative of a typical application you might find in a retailer, The test steps to navigate the application as this would normally be provided to the test automation team.","Duration":420,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["UHHRL8"],"Speaker names":["Dave Amies"],"Room":{"en":"Performance test in a day using Robot Framework and RFSwarm"},"Start":"2024-02-06T07:00:00+00:00","End":"2024-02-06T16:00:00+02:00","Lessons Learned":"- How to tune a Robot Framework test case for optimal use with RFSwarm\\r\\n- How using RFSwarm can help an organization start performance testing quicker on their projects\\r\\n- How to use the various components of RFSwarm","Describe your intended audience":"- People who currently use Robot Framework and are interesting in performance testing\\r\\n- People who currently use other performance testing tools and are interested in Robot Framework\\r\\n- People who currently use other performance testing tools and already use Robot Framework for other testing\\r\\n\\r\\nPrerequisites and Technical Requirements:\\r\\nPlease ensure you have the following for the workshop:\\r\\n- Create an account with https://gitpod.io (you can use a Github or Gitlab account if you want) If you already have a gitpod account please ensure you have 80 credits free for the workshop (free accounts have 500 credits per month)\\r\\n- Bring a laptop with the following:\\r\\n - Minimum 2 cores & 4GB ram, but ideally 4 cores & 8GB ram or more for the best workshop experience (the more ram and cpu the more robots you\'ll be able to run)\\r\\n - Robot Framework and SeleniumLibrary installed and working\\r\\n - Your Preferred IDE/Text editor for creating Robot Framework scripts installed","Is this suitable for ..?":"Intermediate RF user, Advanced RF user"},{"ID":"LSJFXU","Proposal title":"Harnessing the POWER of Robot Framework for Automation Of Data Quality Controls","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"In this presentation we will go over a live use case showcasing the power of Robot Framework and it is usage in the Automation of Data Quality Controls.","Description":"We live in a World of Data. We need data for almost every Analytical purpose. Financial institutions are one among the Major sectors using Data especially\\r\\nin Trade and investment, Tax reform, Fraud detection and Investigation and Risk Analysis.\\r\\n\\r\\nWe will have quick overview of a live use case and how we helped the client to tackle a real time problem by setting up an Automated Quality Controls process for Data Delivery to Analysis Teams.\\r\\n\\r\\nThe Client had a problem statement of running 2000+ Database queries across 180+ DB tables across different Delivery checkpoints. This was manual, much time consuming and prone to manual error.\\r\\n\\r\\nThe Data delivered to downstream systems was through different Business Layers, some in Hadoop, a few in Oracle and a few in files. I from Automation perspective saw the pattern of these queries and how we can simplify the whole process. I harnessed the power of Robot Framework and suggested to Automate the queries and we call it Data Quality Controls.\\r\\n\\r\\nWe used Robot Framework and Automated 2000+ Controls and this serves as entry and exit checkpoints at each Business level. These Data Quality Controls run every month to ensure accuracy, completeness, consistency, validity and no wrong data is supplied to the DownStream system.\\r\\n\\r\\nFramework Architecture:\\r\\nWe build a Hybrid Test Automation Framework with Page Object Model, combined with Keyword and Data Driven Architecture to cater our needs.\\r\\n\\r\\nTech Stack: Hadoop, HDFS, Oracle, Unix and Python\\r\\nTest Automation: Robot Framework with Python\\r\\n\\r\\nSavings:\\r\\nThe Quality Control Validations which were previous performed by Business Users for weeks to months, got reduced to less than a Day\'s effort. We saved over 5000+ Person Days over the years.\\r\\n\\r\\nOther Information:\\r\\nClient Details: \\r\\nThe client is one of the top Banks in Nordics. The Bank has its presence wide spread across Denmark, Sweden, Finland, Norway and Poland.\\r\\n\\r\\nProject Description:\\r\\nThe project is a regulatory compliance project for the Bank.\\r\\n\\r\\nAbout Me:\\r\\nI am an Automation Solution Architect and Automation Consultant with 12+Years of Experience, working for One of Top Global Tech Company- Tata Consultancy Services. I am from Chennai, India and I am currently in Sweden on Deputation.\\r\\n\\r\\nI have worked over a decade in Big Data Testing (Hadoop-Hive, Impala, HBase, HDFS) and Oracle DBs. \\r\\n\\r\\nAutomation and Frameworks:\\r\\nUI/API/DB/ETL Test Automation, Robot Framework Testing, Keyword/Data/Behaviour Driven Frameworks, POM Framework, TestNg and Hybrid framework\\r\\n\\r\\nRPA:\\r\\nUI Path- Advanced Developer Certified\\r\\n\\r\\nAutomation Tools:\\r\\nBackend- Robot Framework Testing, Fitnesse Test Automation Tool, Talend Data Integration and ETL Test automation using Excel Marco\\r\\n\\r\\nUI- Selenium Web Driver (Page Object Model and Hybrid Frameworks) and Selenium Grid\\r\\n\\r\\nAPI- SOAP UI and Rest Assured\\r\\n\\r\\nCICD- Jenkins\\r\\n\\r\\nLanguages known- C, C++, Java and Python\\r\\n\\r\\nMy LinkedIn Profile: https://www.linkedin.com/in/rohith-ram-prabakaran-28921180/","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["G3QVQY"],"Speaker names":["Rohith Ram Prabakaran"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T11:30:00+00:00","End":"2024-02-29T13:50:00+02:00","Lessons Learned":"- Customization of Robot Framework to serve different needs\\r\\n- Data Volume handling\\r\\n- Customizing SQL and validating Data correctness based SQL build using Python and Robot Framework\\r\\n- Integrating Robot Framework across CICD pipelines","Describe your intended audience":"Data Warehouse Testing\\r\\nETL Testing","Is this suitable for ..?":"Beginner RF user, Intermediate RF user"},{"ID":"LVMWVU","Proposal title":"Why cybersecurity is part of your job as QA Engineer","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"The average tester might feel that cybersecurity is something committed in a separate silo. In this talk I go through why cybersecurity is everybody\'s business and very much part of the QA. We cover the project security, testing security as part of the QA and how regression testing with Robot Framework can be part of security testing too.","Description":"Cybersecurity is essential part of the software product quality. It is easy to think that it is some kind of niche and technical that only hackers understand. However you don\'t need to be Mr Robot looking for zero-day vulnerabilities. Many cybersecurity incidents are caused by flaws in the production quality that \\"the normal QA\\" could have spotted. \\r\\n\\r\\nThis talk covers what the average QA can do for:\\r\\n-Project security\\r\\n-Product security\\r\\n-Maintaining the security via regression testing","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["EVXAKM"],"Speaker names":["Katarina Partti"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T18:00:00+00:00","End":"2024-02-28T20:20:00+02:00","Lessons Learned":"In the talk I will go through some real-life breaches as examples and explain why the QA engineer is an essential part of the product security and how we can make an attitude shift in taking ownership in the security too and not just think \\"it\'s someone elses problem\\". I have some examples and discussion on the project and product security as well as giving food for thought on how the Robot Framework regression testing can also play a part in cybersecurity.\\r\\n\\r\\nAfter this session i hope the listener can evaluate their project\'s cybersecureness and knows practical best practices for test automation security. The participants should have new ideas and hopefully get the urge to know more about the subject and to do concrete actions in their work for better security.","Describe your intended audience":"Testers, Automation Testers, anyone working with software.","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"LVWRA8","Proposal title":"Reinventing Test Automation at Amadeus: The Power of Robot Framework","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Amadeus develops solutions for the travel industry and must deal with different business and industry technology standards.\\r\\nThis presentation will highlight how Amadeus revolutionized its test automation framework by moving from various internal test tools to a single Robot Framework ecosystem with functional keywords libraries based on python.","Description":"[Amadeus](www.amadeus.com) is the world leader in software solutions for the travel industry and must deal with a complex environment including many technologies, ranging from industry standard to very business-specific ones. This can include technologies like Angular UIs, REST APIs, Soap XMLs, Kafka but also more specific airlines protocols like [EDIFACT](https://unece.org/trade/uncefact/introducing-unedifact) or Cryptic commands.\\r\\nWith its Amadeus pioneer mindset culture many new tools were internally developed to create test scripts libraries which keep on growing with the time. Addressing and maintaining all these libraries became, over time, a real challenge.\\r\\nMoreover, building an end-to-end test solution with all these various tools turned out to be very complex and sometimes impossible, leading to a lot of manual test campaigns.\\r\\nIn this presentation we will show you how Robot Framework was a game changer for us as we started to automate in a much effective way, embracing the diversity of our technologies in a smooth way.\\r\\nWe will highlight:\\r\\n- how by designing python library templates, we now have a common way of developing our business specific keywords libraries providing guidelines without affecting flexibility and without forcing users to a strict model,\\r\\n- how our framework is based on standard keywords to send messages through the different protocols used for testing,\\r\\n- how the defined templates are easily adaptable to small and large products,\\r\\n- how we promote a standard model for the keyword documentation, and we centralize all the testing libraries documentation in one single place to ease the sharing,\\r\\n- and finally, how this model is compatible with our new Cloud Native Applications","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["QPFXQJ","KVWYMA"],"Speaker names":["Sebastien Plaisant","Andrea Tipa"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T15:30:00+00:00","End":"2024-02-29T17:50:00+02:00","Lessons Learned":"In this presentation we will highlight the key lessons we have learned from the project:\\r\\n•\\tStandardization, speak a common language, is key but effort must be done in finding the right balance between providing the good flexibility without forcing the adoption of a strict model.\\r\\n•\\tFunction approach is key to define your testing keywords. This approach is scalable and reflect product evolution (new features developed) as well as to be human understable.\\r\\n•\\tSharing is another key pillar to promote existing testing keywords and avoid duplications.","Describe your intended audience":null,"Is this suitable for ..?":"Intermediate RF user"},{"ID":"MEDT8A","Proposal title":"Scalable test automation in an insurance company","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"In our talk, we would like to review our project with you and visualise how we established a scalable test automation kit with Robot Framework in an insurance company with a heterogeneous application landscape. We report on the framework conditions, milestones and challenges to be considered.","Description":"Provinzial Versicherung AG is the second largest public insurance group in Germany. We gain our strength from the regional ties of our subsidiaries. For more than 300 years, we have been where our customers are. Today, more than five million private and corporate customers place their trust in us.\\r\\nWith over 6,500 employees, almost 1,000 of whom work in IT, Provinzial Versicherung AG is also a major IT employer. \\r\\nThe application landscape is historically highly networked and complex. The entire software development process, starting with the creation of requirements and ending with the release of tests, is carried out decentrally in the respective teams. For this reason, various automation solutions have become established in our group.\\r\\nWe were commissioned about two years ago to unify the test automation process and develop a test automation strategy. Our journey began with the evaluation of various test tools and the comparison of different approaches to test automation. One of the challenges for a test automation solution was that software tests should be able to be automated by a wide range of users, even without development knowledge. In our talk we would like to review our project with you and visualise how we created a scalable test automation kit with Robot Framework. Among other things, we made the courageous decision for an insurance company to use an open source tool. Joining the Foundation should reflect our belief in the Framework and our commitment to it. In the meantime, Robot Framework is used for testing in over 20 applications.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["99CJBK","FPBMBN"],"Speaker names":["Matthias Grabowsky","Ivaylo Brüssow"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T13:00:00+00:00","End":"2024-02-28T15:20:00+02:00","Lessons Learned":"In our talk, the audience will learn how Robot Framework was introduced as a central tool for test automation. We report on our identified opportunities and challenges, visualising a way to establish Robot Framework in a large corporation. In our test automation kit we have developed a comprehensive training and onboarding concept. In addition to using many available libraries, we develop internal libraries in a central team, which are used in the decentralised development teams. \\r\\nOur talk shows the audience our path and our success story in introducing test automation. We want to show others that the use of Robot Framework is a good decision and want to give inspiration about the successes we have had in a short time.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user"},{"ID":"NZMMFU","Proposal title":"Ecosystem Project Review: Doing unloved tasks in Browser lib (Live)","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Live session! Ecosystem project review of the project followed by a Q&A!","Description":"Live session! Ecosystem project review of the project, followed by a Q&A! The Robot Framework Ecosystem is vast, and the Robot Framework Foundation occasionally funds some of its projects. Tune in to hear what was achieved with the funding this time!","Duration":12,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["JUQN3X","8HSX9A"],"Speaker names":["René Rohner","Tatu Aalto"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T10:12:00+00:00","End":"2024-02-29T12:24:00+02:00","Lessons Learned":"TBA","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"P8PLF7","Proposal title":"RoboSAPiens: SAP GUI Automation for Humans","Session type":{"en":"Talk"},"Track":null,"Abstract":"RoboSAPiens provides keywords for automating the SAP Windows GUI in a way that resembles commanding a person to use it. The key innovation is that only information visible in the user interface is needed. Moreover, it is designed to be translatable. Currently, keywords are available in English and German.","Description":"The SAP Windows GUI client is widely used around the world and across many industries. Its users are mostly domain experts, who are increasingly interested in automating business processes for quality assurance purposes. And they want do it using the language of the domain instead of a programming language.\\r\\n\\r\\nRoboSAPiens provides a set of keywords for automating the SAP Windows GUI in a way that resembles commanding a person to use it. The key innovation is that only information visible in the user interface is needed. This is in stark contrast to existing solutions, which rely on the low-level structure of the GUI, resulting in cryptic automation scripts. In order to empower domain experts around the world, RoboSAPiens is designed to be translatable. Currently, keywords are available in English and German.\\r\\n\\r\\nThis talk provides a short tutorial to get started using RoboSAPiens. After the installation and setup, different keywords will be showcased in a live demo. Along the way tips and tricks for automating the SAP GUI will be shared. There will also be some anecdotes from RoboSAPiens in the wild.\\r\\n\\r\\nRoboSAPiens was initially developed by imbus as an internal project at NRW.Bank (the state development bank of the federal state of North Rhein-Westphalia in Germany). Due to its positive impact on the efficiency of quality assurance tasks, the bank decided to make it available to the world as open-source software. imbus continues the development of RoboSAPiens. The source code can be found at [https://github.com/imbus/robotframework-robosapiens](https://github.com/imbus/robotframework-robosapiens).","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["R978PJ"],"Speaker names":["Marduk Bolaños"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T12:00:00+00:00","End":"2024-02-28T14:20:00+02:00","Lessons Learned":"Since this is a new tool and it is aimed at domain experts, this talk will serve as an introduction and short tutorial. Participants can expect to learn the following:\\r\\n\\r\\n- Which keywords are available\\r\\n- How to use RoboSAPiens interactively\\r\\n- Pro tips for getting the most out of RoboSAPiens","Describe your intended audience":"The intended audience of the talk are people who work with the SAP Windows GUI and would like to automate it to save time. This includes automatically filling out forms with data from Excel and automating manual tests.","Is this suitable for ..?":"Beginner RF user"},{"ID":"PQUXLU","Proposal title":"Creating a Web Testing Framework from scratch using Robot Framework and Browser Library","Session type":{"en":"Tutorial"},"Track":null,"Abstract":"Starting a new web project? Need to automate manual web tests? Want to automate some other browser based processes? This tutorial will help You set up Your web testing framework from scratch, the right way!","Description":"**Creating a Web Testing Framework using Robot Framework and Browser Library from Scratch**\\r\\n\\r\\n1. **Initial Setup** - 10 minutes\\r\\n - In this step, we will set up the environment for our web testing framework. We will install the necessary software and libraries, and configure the system to run our tests.\\r\\n\\r\\n2. **Basic Web Test Case** - 20 minutes\\r\\n - In this step, we will create a basic web test case using Robot Framework and Browser Library. We will learn how to open a browser, navigate to a website, and perform some basic actions.\\r\\n\\r\\n3. **Introduce Page Object Pattern** - 20 minutes\\r\\n - In this step, we will introduce the Page Object Pattern, which is a design pattern used in web testing to make tests more maintainable and easier to read. We will learn how to create page objects and use them in our tests.\\r\\n\\r\\n4. **Move Locators to Variable Files** - 10 minutes\\r\\n - In this step, we will move the locators used in our tests to variable files. This makes it easier to maintain our tests as we can change the locators in one place instead of having to update them in multiple places. This also allows easier reuse in multiple locations\\r\\n\\r\\n5. **Handle File Upload and Download** - 20 minutes\\r\\n - In this step, we will learn how to handle file upload and download using Robot Framework and Browser Library. We will learn how to upload a file to a website and download a file from a website.\\r\\n\\r\\n6. **Handling iFrames and Shadow Dom** - 20 minutes\\r\\n - In this step, we will learn how to handle iFrames and Shadow DOM using Robot Framework and Browser Library. We will learn how to switch between iFrames, interact with elements inside iFrames, and interact with elements inside Shadow DOM.\\r\\n\\r\\n7. **Remote Execution using LambdaTest** - 20 minutes\\r\\n - In this step, we will learn how to execute our tests remotely using LambdaTest. We will learn how to configure our system for remote execution and run the tests on LambdaTest.","Duration":120,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["QBMFY7"],"Speaker names":["Jerzy Głowacki"],"Room":{"en":"RoboConOnline"},"Start":"2024-03-01T09:00:00+00:00","End":"2024-03-01T13:00:00+02:00","Lessons Learned":"This was pretty much covered in the talk description, but it\'s as follows:\\r\\n1. Initial Environment Setup for Web Testing with Browser Library\\r\\n2. Creating Basic Web Test Cases using Browser Library\\r\\n3. Using Page Object Pattern in Web Tests\\r\\n4. Using Variable Files for Locators\\r\\n5. Handling File Upload and Download\\r\\n6. Handling iFrames and Shadow Dom\\r\\n7. Remote Execution using LambdaTest","Describe your intended audience":"This tutorial is directed mostly at people who are interested in creating their first web testing framework or enhancing their existing one.\\r\\n\\r\\n
\\r\\n\\r\\nBasic Robot Framework knowledge will be required, but everything else should be covered within the tutorial. Also a non-corporate PC is advised as many company firewalls block npm repositories","Is this suitable for ..?":"Beginner RF user"},{"ID":"QKEUZP","Proposal title":"Browser Library Advanced Workshop","Session type":{"en":"Workshop - Full Day"},"Track":null,"Abstract":"Learn how to use Robot Framework Browser like a pro.\\r\\n\\r\\nExtending Browser library, using it from Python, interacting with Playwright and many more.","Description":"Dive deep into the world of web automation with Tatu and René using the Browser library for Robot Framework. This state-of-the-art library, powered by Playwright, is designed for the modern web, ensuring speed, reliability, and visibility. In this workshop, participants will not only learn the basics of JavaScript but also how to extend the Browser library by creating custom keywords in both JavaScript and Python. We’ll also cover the advanced features and keywords of the Browser library, ensuring a comprehensive understanding of web automation.\\r\\n\\r\\n**Agenda**:\\r\\n- **Browser Fundamentals**\\r\\n - Installation and binary structure (Tatu)\\r\\n - Importing Settings (René)\\r\\n - Logging (playwright Logs, Robot Loglevel, PW Trace) (Tatu)\\r\\n - Browser, Context, Page (Catalog, Switching) (Tatu)\\r\\n - Basic JS (René)\\r\\n- **Extending Browser**\\r\\n - JavaScript Plugin-API (René)\\r\\n - Python Plugin-API (Tatu & René)\\r\\n - AssertionEngine (Tatu)\\r\\n - Using Browser from Python (René)\\r\\n- **Browser Advanced Keywords**\\r\\n - Waiting (Tatu)\\r\\n - Promise To (René)\\r\\n - Get Element States (René)\\r\\n - Upload File (Selector or Dialog) (René)\\r\\n - Selectors (CSS, nth, playwright possibilities) (René)","Duration":420,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["8HSX9A","HTDUSJ"],"Speaker names":["Tatu Aalto","René Rohner"],"Room":{"en":"Browser Library Advanced Workshop"},"Start":"2024-02-06T07:00:00+00:00","End":"2024-02-06T16:00:00+02:00","Lessons Learned":"- Understand the capabilities of the Browser library and its integration with Playwright.\\r\\n- Learn to write custom keywords in JavaScript and Python to extend the Browser library.\\r\\n- Deep dive into advanced keywords and features of the Browser library.\\r\\n- Gain hands-on experience with real-world web automation scenarios.","Describe your intended audience":"**Knowledge Level**:\\r\\n- **Robot Framework**: Advanced knowledge and experience required.\\r\\n- **Browser or SeleniumLibrary**: Familiarity with Browser Library or extensive experience with SeleniumLibrary.\\r\\n- **Web Testing**: Experience in web automation and a basic understanding of HTML.\\r\\n- **Python**: Basic proficiency.\\r\\n\\r\\n**Preparation and Tech Requirements**:\\r\\n- **Computer**: Capable of running Robot Framework and Browser library with internet access.\\r\\n- **Software**:\\r\\n - Python >= 3.8\\r\\n - NodeJS 18 or 20\\r\\n - Robot Framework >= 6.1\\r\\n - Robot Framework Browser >= 18\\r\\n - Editor (IDE) for Python and JavaScript (e.g., VSCode)\\r\\n - Optional: Robot Framework language support (Recommended: Robot Code plugin for VSCode)\\r\\n - Note: For those unable to install software, GitPod, a cloud-based browser IDE, is an alternative.\\r\\n- **Accounts**: A GitHub account.\\r\\n- **Test Case**: We will provide a test case to verify your setup.","Is this suitable for ..?":"Intermediate RF user, Advanced RF user"},{"ID":"QQSGJU","Proposal title":"Roadtrip across the Robot Framework pitfalls and how our architecture saved us.","Session type":{"en":"Talk"},"Track":null,"Abstract":"Ever had to restructure your project because it grew into an untameable monster? Or had to reorganise because more teams wanted to use your project? Or had to explain your tests to others? Or struggled how to setup a new RF project.\\r\\nOver the years we came up and fine-tuned an architecture that works from the very beginning to large scale projects.","Description":"We will take you along the ride during the course of seven years where we implemented Robot Framework in different environments at different clients. During this period, we ran into many challenges of which we are sure most of the attendees have already ran, or will run into sooner or later.\\r\\n\\r\\nStarting with the troubles of re-using and maintaining scripts when we started to grow our test automation efforts. Then stakeholders wanted to get a grip on what is tested and we needed to get them easily involved. In the mean time more teams found themselves interfacing with systems from other teams and wanting to use the test automation of those teams for test setups and end-to-end testing as was requested by stakeholders.\\r\\n\\r\\nSince the first design of our architecture, we’ve used this as a basis for several clients. Despite the fact that every environment comes with its own challenges, we found the basis of the architecture very reliable and with some tweaking here and there it never seems to let us down. So, join us for the ride and see if we can inspire you to face your own challenges with our architecture.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["HL7EQT","NEBFDV"],"Speaker names":["Guido Demmenie","Frank van der Kuur"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T12:40:00+00:00","End":"2024-02-08T15:10:00+02:00","Lessons Learned":"At the end of the talk, attendees will have seen a proven best practice architecture on how to structure resources in such a way that they can:\\r\\n- easily maintain their project\\r\\n- easily collaborate with stakeholders in creating and communicating tests\\r\\n- easily collaborate across teams and projects within a larger organisation\\r\\n\\r\\nWe will show our solutions to common challenges that you will face when setting up the robot framework in a new environment and when scaling up to multiple applications and/or teams.","Describe your intended audience":"Since it is an architecture that is useful on small scale to large scale projects, everyone can benefit from the good practices we used.","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"QYL83X","Proposal title":"From Jenkins to GitHub Actions with Robot Framework: A Shared Action-Based Solution","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Let\'s explore the possibilities of migrating the Robot Framework execution environment from Jenkins to GitHub Actions.\\r\\nOur solution leverages actions, all sharable within our company, for setup, test execution, result analysis (with proper formatting within GitHub Job Summary), as well as result propagation into our test management tool Jira.","Description":"We are faced with the challenge of leaving the familiar Bitbucket environment for our repositories and Jenkins for test execution in favor of cloud solution from GitHub with GitHub Actions.\\r\\nOur goal is to introduce to you our concept, thanks to which we can gradually move individual projects - individual repositories to GitHub and use the launch of tests directly within the repository using GitHub Actions.\\r\\nAs runners, we use our own Linux images running in the OpenShift 4 platform. At this moment, we benefit from GitHub caching capabilities for quick install and setup of current environment for testing. \\r\\nWe created separate Actions that we share within the organization and that provide us with the necessary steps:\\r\\n\\t• **Preparation of the environment**, including Python installation, setting up Robot Framework, Browser Library, and making necessary tweaks such as proxy settings.\\r\\n\\t• **Test Execution** through a shared action, saving results to an artifact, and displaying an extract in the GitHub Job Summary.\\r\\n\\t• **Importing results to Jira** This action ensures the results are written using Xray for our reporting tool.\\r\\n\\r\\nDuring this talk, we will be happy to show you what challenges and technological limitations we faced, how we solved them and how we use this new approach in our company on day-to-day basis. \\r\\nWe\'re hopeful that our experience can inspire other teams facing similar scenarios.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["LQRAAR"],"Speaker names":["Roman Haladej"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T12:00:00+00:00","End":"2024-02-29T14:20:00+02:00","Lessons Learned":"The talk highlights the challenge of transitioning from on-premises solutions like Jenkins and Bitbucket to a cloud-based solution like GitHub Actions.\\r\\nThe lesson learned here is that organizations need to adapt to changing technologies and consider cloud solutions for more flexibility and scalability. As well as creation of separate actions for various testing steps, such as environment preparation, test execution, and result import into Jira. This approach allows for better organization and reuse of actions.\\r\\nMain approach is to break down complex processes into manageable steps, making them more maintainable and shareable.\\r\\nPart of this solution is displaying an extract directly in the GitHub Job Summary and Integrating test results into Jira, specifically using Xray for reporting.","Describe your intended audience":"Developers or DevOps teams interested in transitioning from Bitbucket and Jenkins to GitHub and GitHub Actions.\\r\\nThose who are keen on improving their automation skillsets, especially with regards to testing.\\r\\nTech teams grappling with similar technological constraints, who could benefit from discovering our problem-solving approaches.\\r\\nAnd anyone excited to learn about practical usage of Git Hub Actions and GitHub Job Summary with Robot Framework.","Is this suitable for ..?":"Beginner RF user, Intermediate RF user"},{"ID":"RKDPWC","Proposal title":"How not to write ugly Robot Framework code","Session type":{"en":"Tutorial"},"Track":null,"Abstract":"How to organize your Robot Framework project? How to structure your test code in resource files? How to deal with very long lines? How to ...? Join this tutorial to learn where to find answers on these questions. We will also share a little secret how to become a contributor to the first Style Guide for Robot Framework.","Description":"This is a preliminary outline of the Tutorial. Please note that it might be modified by the time Tutorial is held. This is in an effort to make the 2 hours as fruitful as possible.\\r\\n\\r\\n
\\r\\n\\r\\nThe tutorial will start with a general introduction, followed by a warm-up discussion about the code quality, specifically, in the context of Robot Framework (~5+15 minutes minutes).\\r\\n\\r\\n
\\r\\n\\r\\nNext, tools and resources to assist code writing will be introduced: Style Guide, robocop, robotidy (~30 minutes).\\r\\n\\r\\n
\\r\\n\\r\\nOptional break (10 minutes).\\r\\n\\r\\n
\\r\\n\\r\\nAfter the break, guided hands-on sessions will be held. The first hands-on session will include an exercise to convert a messy Robot Framework code into a clean code with the help of the Style Guide, robocop and robotidy (25 minutes).\\r\\n\\r\\n
\\r\\n\\r\\nReflection - opinions regarding the recommendations in the Style Guide, and default rules in the robocop/robotidy (10 minutes).\\r\\n\\r\\n
\\r\\n\\r\\nThe last part of the tutorial will be dedicated to coming up with own conventions:\\r\\n- Configuring settings in robocop and robotidy (demo ~10 minutes)\\r\\n- Contributing to common Style Guide and using it as a common reference (~10 minutes)\\r\\n\\r\\n
\\r\\n\\r\\nConclusion (~5 minutes).\\r\\n\\r\\n
","Duration":120,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["9BRJUX","HL7EQT","WG3A8G"],"Speaker names":["Kelby Stine","Guido Demmenie","Manana Koberidze"],"Room":{"en":"RoboConOnline"},"Start":"2024-03-01T13:30:00+00:00","End":"2024-03-01T17:30:00+02:00","Lessons Learned":"
\\r\\n\\r\\nParticipants will learn \\r\\n- How well-written test code looks like.\\r\\n- What resources and tools they can use to help them write a clean Robot Framework code.\\r\\n- How they can contribute to defining the coding standard for Robot Framework.\\r\\n\\r\\n
","Describe your intended audience":"Anyone interested is welcome to the Tutorial.","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"RNDZQB","Proposal title":"Empowering Lives Through Automation: A Success Story of the Testing Academy","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Discover how a Testing Academy mixed with Robot Framework changes peoples lives, empowering individuals to dream bigger, and succeed beyond their wildest expectations. The Robot Framework, in this talk where we will present the real testimonies of people, is no longer an automation tool but the tool that enables career transition.","Description":"In an ever-evolving world driven by fast technological advancements like AI, the power of test case automation to influence better software delivered in production has become undeniable. \\"Empowering Lives Through Automation: A Success Story of the Testing Academy \\" delves into an inspiring narrative that explores how a Testing Academy mixed with Robot Framework is open door to the career transition and changed the lives of individuals.\\r\\n\\r\\nThis captivating journey begins with an introduction to Testing purpose and ends with the basics to automate front ends with total independence. The story unfolds as we follow a group of diverse individuals, each with their unique backgrounds, aspirations, challenges, mainly women, who left their country (Brazil) in search of a future in Europe, and still haven\'t found their place. So, they share a common thread—a burning desire to embrace a career transition and reshape their destinies.\\r\\n\\r\\nThe narrative provides an in-depth look into the rigorous training and mentorship these students receive, underlining the academy\'s commitment to ensuring their success. As they immerse themselves in the world of testing and automation testing, they discover new skills, develop innovative mindsets, and experience personal growth. \\r\\n\\r\\nIn the field of Test Automation, the Robot Framework is the right tool for a this kind of academy. The Keyword driven mode, being an almost natural language, makes everything very easy. Is amazing how these individuals get new confidence in their lives and purpose.\\r\\n\\r\\nThe talk also touches on the broader societal implications of this success story. By positively transforming the lives of those arriving from another country, where unemployment, low wages and street violence exist, we demonstrate that we contributing to the millennium goals (according to the UN)\\r\\n\\r\\nIn conclusion, \\"Empowering Lives Through Automation: A Success Story of the Testing Academy\\" is a compelling exploration of the profound, often emotional, impact that testing academy mixed with test case automation provided by Robot Framework can have on individuals and their communities. This talk serves as a testament to the endless possibilities presented by Robot Framework tool, it\'s not just an automation tool, but a tool to change people\'s lives.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["RHSU38"],"Speaker names":["Paulo José Estrela Vitoriano de Matos"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T11:30:00+00:00","End":"2024-02-28T13:50:00+02:00","Lessons Learned":"1) Robot Framework is \\"the\\" tool to include in any QA academy program. Attendees will have access to the course program.\\r\\n\\r\\n1.1) The fact that we know that Robot Framework is Open Source gives us the certainty that educational programs using this tool have a future\\r\\n\\r\\n2) The easy-to-read Keyword driven functionality is a huge asset, like the RF foundation say \\"human-readable keywords. \\". This asset need to be real valued for all participants in the development cycle, whether QAs, BAs or DEVs. It will be clear to everyone that keywords from libraries are the method they should use by default\\r\\n\\r\\n3) in a labor market with a lack of automation resources, transforming manual testers into testers is possible with a RF and a short learning curve, or, being more radical (as in this story case demonstrates), total professional retraining.","Describe your intended audience":"The main audience for this talk is management teams or team leaders. Management teams are currently struggling to start automating (and they needed), essentially due to a lack of human resources. This is one solution. \\r\\n\\r\\nSecondly, manual testers can use these user story example to feel the boost to make the leap to automation.","Is this suitable for ..?":"Beginner RF user"},{"ID":"RYES8M","Proposal title":"Mystery Challenge: The Robot Framework Edition","Session type":{"de":"Keynote","en":"Keynote"},"Track":null,"Abstract":"Welcome, everyone! Today\'s conference session is set to be a unique and thrilling experience, blending technology with an element of fun. We\'ve prepared an interactive segment that\'s more than just a discussion – it’s a challenge of wit and quick thinking, centered around the intriguing world of the Robot Framework.","Description":"Welcome, everyone! Today\'s conference session is set to be a unique and thrilling experience, blending technology with an element of fun. We\'ve prepared an interactive segment that\'s more than just a discussion – it’s a challenge of wit and quick thinking, centered around the intriguing world of the Robot Framework.\\r\\n\\r\\nGet ready for an engaging adventure that tests your knowledge in unexpected ways. We promise a mix of surprise, competition, and learning, all wrapped in a game-like format.\\r\\n\\r\\nThe details are a mystery for now, but the excitement is just moments away. Prepare for a session that\'s as entertaining as it is enlightening.","Duration":60,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["VWRTSC","HTDUSJ"],"Speaker names":["Mateusz Nojek","René Rohner"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T15:00:00+00:00","End":"2024-02-08T18:30:00+02:00","Lessons Learned":"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.","Describe your intended audience":null,"Is this suitable for ..?":"Advanced RF user"},{"ID":"SCRLQS","Proposal title":"Lightning Talks","Session type":{"en":"Talk"},"Track":null,"Abstract":"Spontaneous Proposals: Attendees are encouraged to pitch their talk ideas during the conference. Be ready to share your insights!\\r\\nAudience-Powered: The audience votes to select the most captivating talks in the conference APP.\\r\\nDynamic Presentations: Selected talks will be featured in this fast-paced, exciting slot. Each speaker gets a 7 minutes.","Description":"Spontaneous Proposals: Attendees are encouraged to pitch their talk ideas during the conference. Be ready to share your insights!\\r\\nAudience-Powered: The audience votes to select the most captivating talks in the conference APP.\\r\\nDynamic Presentations: Selected talks will be featured in this fast-paced, exciting slot. Each speaker gets a 7 minute time limit to present their ideas concisely and engagingly.\\r\\n\\r\\nJoin us for a whirlwind of fresh perspectives and innovative ideas, all chosen by you!","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":[],"Speaker names":[],"Room":{"en":"RoboCon"},"Start":"2024-02-09T12:30:00+00:00","End":"2024-02-09T15:00:00+02:00","Lessons Learned":"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.","Describe your intended audience":"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.","Is this suitable for ..?":"Advanced RF user"},{"ID":"SRW9V8","Proposal title":"Beyond log files: Elevating test analysis with data visualization","Session type":{"en":"Talk"},"Track":null,"Abstract":"Discover the limitations of raw data and learn why visualizations are essential for making informed decisions. Harness the art of visualization to decode data intricacies.","Description":"The Robot Framework output files give a good overview of the latest run. For short term analysis, that is sufficient, but you will not know if passes, failures, execution times, etc. are consistent, unexpected, or following a certain trend. Therefore, data visualization is the key to unlock the potential of all the collected data and deep data analysis. They help your team react to issues faster and in some cases they even help you understand possible issues even before they become actual issues enabling proactive actions.\\r\\n\\r\\nThis presentation will explore some real life examples from telecom and embedded systems industries where data visualization helped organizations evaluate their systems from a different perspective, so they could identify and justify necessary actions to help them get back on track. The talk will expand the knowledge of available data and give tips on how to harness that data into use to reveal your unknown issues, gain confidence in your systems, and improve your testing overall.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["RSWYRV"],"Speaker names":["Aleksi Simell"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T13:40:00+00:00","End":"2024-02-08T16:10:00+02:00","Lessons Learned":"Listeners will learn the possibilities of digging up data from the output.xml themselves and learn about different tools for data storage (different databases, e.g InfluxDB), visualizations (mainly Grafana), and give possible new ideas on what they can start visualising in their own projects.","Describe your intended audience":"Target audience is everyone who works with Robot Framework and hopefully in a CI/CD environment. The talk won\'t be very technical, but the actual practices will be for more technical oriented people (the ones who actually do the data collection).","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"SSECGZ","Proposal title":"The Pros and Cons of Generative AI in Robot Framework","Session type":{"en":"Talk"},"Track":null,"Abstract":"Explore the fusion of Generative AI with Robot Framework, spotlighting enhancements and hurdles in test automation. Discover how can AI elevate our testing while addressing its limitations. Engage in a balanced discourse to navigate AI\'s realm in QA, fostering a smarter, informed approach to AI-integrated testing.","Description":"In the rapidly evolving domain of Generative AI, models like ChatGPT are emerging as potent tools, sparking curiosity about their test automation application. This presentation endeavors to provide a balanced exploration of integrating Generative AI with Robot Framework, spotlighting both the promising avenues and the cautionary tales.\\r\\n\\r\\nDiscussion points:\\r\\n\\r\\n1. **Test Data Generation**:\\r\\n - Illustrate how Generative AI can automate the creation of diverse test data while highlighting the risks of over-reliance on AI-generated data that might overlook critical real-world scenarios.\\r\\n\\r\\n\\r\\n2. **Edge Case Identification**:\\r\\n - Explore AI\'s potential in uncovering obscure edge cases, juxtaposed with its limitation in understanding the contextual relevance of these cases.\\r\\n\\r\\n\\r\\n3. **Dynamic XPath Generation with AI**:\\r\\n - Delve into AI\'s capability in generating adaptive XPaths, and discuss scenarios where AI-generated XPaths might not be reliable or efficient.\\r\\n\\r\\n\\r\\n4. **AI Integration via Listeners API**:\\r\\n - Showcase the ease of integrating AI with Robot Framework, while also addressing the potential complexities and troubleshooting challenges this integration might introduce.\\r\\n\\r\\n\\r\\n5. **API Test Scenarios Generation**:\\r\\n - Discover how Generative AI can aid in formulating comprehensive and robust API test scenarios, simplifying the QA process for API testing.\\r\\n\\r\\n\\r\\n6. **Automating SQL Test Cases**:\\r\\n - Uncover the potential of Generative AI in writing SQL automation tests, enhancing the efficiency and accuracy of database testing.\\r\\n\\r\\nAttendees will traverse through real-world scenarios, gaining a nuanced understanding of the opportunities and challenges at the crossroads of Generative AI and Robot Framework. The talk aims to equip attendees with a well-rounded perspective, inspiring informed experimentation with AI in their test automation endeavors, while shedding light on the practicality and limitations of AI in test automation.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["8U3B3T"],"Speaker names":["David Fogl"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T08:25:00+00:00","End":"2024-02-08T10:55:00+02:00","Lessons Learned":"This talk aims to provide a comprehensive exploration of integrating Generative AI with Robot Framework in test automation, shedding light on the potential enhancements, practical applications, and challenges that may arise. Here’s a detailed breakdown of the learning outcomes and practical takeaways for the attendees:\\r\\n\\r\\n1. Understanding Generative AI in QA Context:\\r\\n - A clear exposition of what Generative AI is, and its application in Quality Assurance and test automation.\\r\\n \\r\\n2. Automated Test Data Generation:\\r\\n - Insights into harnessing Generative AI for generating a diverse range of test data, saving time, and ensuring broader test coverage.\\r\\n - Discussing the risks associated with relying solely on AI-generated data and strategies to mitigate these risks.\\r\\n\\r\\n3. Edge Case Identification:\\r\\n - Exploration of AI\'s capability in identifying edge cases and enhancing testing robustness.\\r\\n - Discuss AI\'s limitations in understanding edge cases\' contextual relevance, and strategies to address this.\\r\\n\\r\\n4. Dynamic XPath Generation:\\r\\n - Delving into the efficiency brought about by AI in generating dynamic XPaths and scenarios where it might not be as effective.\\r\\n\\r\\n5. Seamless AI Integration:\\r\\n - Showcasing the development process of integrating Generative AI with Robot Framework using the Listeners API and providing some practical outcomes of this integration, enabling attendees to grasp the practical benefits and possible hurdles.\\r\\n\\r\\n6. API Test Scenarios Generation:\\r\\n - Practical insights into leveraging AI for creating robust API test scenarios, making the QA process for API testing more streamlined.\\r\\n\\r\\n7. Automating SQL Test Cases:\\r\\n - Exploring the potential of AI in automating SQL test cases, and how it can improve efficiency and accuracy in database testing.\\r\\n\\r\\n8. Real-world Applications and Challenges:\\r\\n - Real-world examples demonstrating the application of Generative AI in test automation.\\r\\n\\r\\nBy the end of this talk, participants will have a well-rounded understanding of the potential and limitations of Generative AI in test automation within Robot Framework. They’ll be equipped with practical knowledge and insights to apply in their teams and projects, fostering informed experimentation and pragmatic innovation in AI-powered test automation.","Describe your intended audience":"The talk is intended for a broad audience of robot framework users.","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"TQTQQN","Proposal title":"Opening the Conference","Session type":{"de":"Keynote","en":"Keynote"},"Track":null,"Abstract":"Welcome to RoboCon! In this session, we will provide an overview to set the tone and outline what attendees can expect from the conference.","Description":"Welcome to RoboCon! In this session, we will provide an overview to set the tone and outline what attendees can expect from the conference. \\r\\n\\r\\nWe will have a quick run-through of our program, highlighting a range of topics from Libraries to QA.\\r\\n\\r\\nWe will also explain the practicalities, and Mateusz will talk about engagement and gamification.\\r\\n\\r\\nRené and Miikka will introduce the RoboCon Foundation and the latest news on that front. \\r\\n\\r\\nThe session will conclude with a handover to Pekka for Robot Framework 7.0 news.","Duration":60,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["VWRTSC","HTDUSJ","FQJRHW","D3ZLT3"],"Speaker names":["Mateusz Nojek","René Rohner","Miikka Solmela","Pekka Klärck"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T07:00:00+00:00","End":"2024-02-08T09:40:00+02:00","Lessons Learned":"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.","Describe your intended audience":null,"Is this suitable for ..?":"Advanced RF user"},{"ID":"TRRAEX","Proposal title":"SeleniumLibrary: 2024 and Beyond","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"An update on where SeleniumLibrary in 2024, Selenium 4 and the future developments like WebDriver Bidi","Description":"We will go through the latest updates of where SeleniumLibrary is and some upcoming features of Selenium like selenium-manager and WebDriver BiDirectional (Bidi) Protocol. We will cover some Selenium 4 functionality as well.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["JDRR8S","GZRASZ"],"Speaker names":["Ed Manlove","Yuri Verweij"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T18:30:00+00:00","End":"2024-02-28T20:50:00+02:00","Lessons Learned":"Learn about features that might not be aware of and highlight others that are useful","Describe your intended audience":"Anyone doing web testing and Robot Framework","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"TYXDEF","Proposal title":"Mobile application testing with Robot Framework","Session type":{"en":"Workshop - Full Day"},"Track":null,"Abstract":"Testing mobile applications is similar to web testing. Many apps are just mini-websites. However, on a technical level, there are differences, due to mobile devices, and their complex ecosystems. This workshop is a hands-on technical session to mobile testing with RF and Appium. Learn how to approach mobile testing, or improve your existing tests.","Description":"

With Robot’s layer of abstraction, tests for mobile can be written in a similar way to webtesting. While that should make it easier, it is not as easy. There are additional challenges like device management, and test coverage of different models and OS versions. Complexity increases when the same tests need to be executed on multiple mobile platforms, without too much duplicate code.\\r\\n
This is a hands-on workshop, where attendees learn to automate mobile tests on their platform of choice. Attendees are welcome to raise issues they encountered during and outside of the workshop, and discuss solutions.

\\r\\n
\\r\\nWorkshop agenda\\r\\n","Duration":420,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["7QVJRP","RVHTR8","ZZASJX"],"Speaker names":["Gaja Kochaniewicz","Juuso Tamminen","Severi Casserly"],"Room":{"en":"Mobile application testing with Robot Framework"},"Start":"2024-02-06T07:00:00+00:00","End":"2024-02-06T16:00:00+02:00","Lessons Learned":"Key Takeaways:\\r\\n","Describe your intended audience":"

\\r\\nKnowledge level:\\r\\n

\\r\\nPreparation and Technical requirements:\\r\\n
\\r\\nPlease bring your own laptop, with a preinstalled environment ready for test development, including a mobile SDK, and\\r\\neither a mobile device or an emulator of it.\\r\\nNote: Installing these environments requires downloading many GBs of data! If attendees don’t do that\\r\\nbeforehand, the start of this workshop will be delayed simply by downloading all the necessary software.\\r\\n
\\r\\nYou can set up and prepare yourself for working with Android (recommended, easier to start with), or iOS. It’s up to\\r\\nyou. You can (but do not have to) prepare for both Android and iOS.\\r\\n
List of needed software:\\r\\n\\r\\nWe will communicate before the workshop a set of instructions, and commands for checking the environment has been\\r\\ncorrectly configured.\\r\\n

","Is this suitable for ..?":"Intermediate RF user, Advanced RF user"},{"ID":"UNNGNM","Proposal title":"Panel Discussion (Live)","Session type":{"de":"Keynote","en":"Keynote"},"Track":null,"Abstract":"Joe will interview the expert panel about Robot Framework, its capabilities and its community.","Description":"Joe will interview an expert panel about the Robot Framework, discussing its capabilities and the community surrounding it.\\r\\n\\r\\nThe panel members, who are esteemed experts in the Robot Framework, will be announced soon.\\r\\n\\r\\nKnown for his engaging style, Joe is sure to facilitate a conversation that is both cheerful and insightful. We\'re looking forward to a fun and informative session!","Duration":50,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["JUQN3X","8U3B3T","D3ZLT3"],"Speaker names":["René Rohner","David Fogl","Pekka Klärck"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T18:00:00+00:00","End":"2024-02-29T21:00:00+02:00","Lessons Learned":"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.","Describe your intended audience":null,"Is this suitable for ..?":"Advanced RF user"},{"ID":"VHSLZ8","Proposal title":"The Vital Divide: Developers And TA Specialists in Test Automation","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Are developers able to write automated tests and should they do it? And if so, in what sense, in which areas, and to what extent? Let us take a closer look at the symbiosis of developers and test automation specialists and explore why keeping they roles separate is the key to unlocking the potential of a testing process.","Description":"In software development, the question of the developer\'s role in automated testing and that of the test automation specialist in development occasionally arises. We will take a thought-provoking look at this complex relationship in our talk.\\r\\n\\r\\nThis question considers the overlap and similarities between their personalities and roles; however, differences do exist. While developers may possess the technical ability to create functional automated tests, test automation encompasses more than merely writing automatic tests, just as development involves more than coding an application. The skill sets of the two groups differ significantly: developers require extensive technical knowledge, while testers need to empathise with users or customers, understanding their needs and behaviour, business processes, and use cases. They require different mindsets: technically oriented versus customer-oriented, constructive versus critical, and synthetic versus analytical. (It is no coincidence that developers tend to focus on positive, happy-day scenarios, whereas testers usually discover negative ones.) \\r\\n\\r\\nIt is therefore difficult to envisage a centaur, part tester and part developer, possessing these contrasting skills and mindsets. What is beyond imagination is this creature not being overwhelmed by its workload and receiving fair remuneration. However, the attitudes and skills of both developers and TA specialists are critical to the development of high-quality software, and thus not only performing tasks of the ones and the others but also maintaining a clear distinction between these two groups appears to be vital. Their collaboration is undoubtedly essential and, fortunately, also feasible as long as both parties strive to understand each other\'s inherently different personalities and attitudes while respecting each other\'s expertise. Their shared focus on a common goal and areas of their knowledge that overlap can also be immensely beneficial.\\r\\n\\r\\nJoin us as we explore the intricacies of these fascinating species, find the optimal way for them to collaborate symbiotically, and consider how their interplay can enhance both your development process and its outcomes.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["UTWEES"],"Speaker names":["Václav Fuksa"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T17:00:00+00:00","End":"2024-02-28T19:20:00+02:00","Lessons Learned":"The audience will gain an insight into the similarities and differences between developers and test automation specialists and, therefore, obtain a better understanding of the qualities of the opposing camps. They will learn why blending their roles is harmful, how the collaboration between them is possible, and why it is critical to the quality of the software under test. Test automation specialists in the audience should take away a greater professional self-esteem.","Describe your intended audience":"Everyone who has dealings with creating automated functional tests, including developers (i.e. totally everyone in the audience :))","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"WKP7CT","Proposal title":"Our QA Transformation Journey from Manual tests to using Robot Framework for E2E tests","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"A part of our QA Transformation Journey was Test Automation, where we learned about Robot Framework, and we realized that this is a perfect tool for our end-to-end (E2E) testing during the User Acceptance Testing (UAT) period. The manual tests for our E2E involved the initial tests on a handheld device, followed by a web portal and TA system","Description":"A part of our QA Transformation Journey was Test Automation, where we learned about Robot Framework, and we quickly realized that this is a perfect tool for our end-to-end (E2E) testing during the User Acceptance Testing (UAT) period. The manual tests for our E2E involved the initial tests on a handheld device, followed by a web portal and our TA system. By utilizing Robot Framework with Appium, Browser, and RemoteSwingLibrary, we were able to incorporate three different technologies into a single E2E test suite. This provided us with more time for testing new functionality and conducting exploratory testing. \\r\\n\\r\\nI will provide a walkthrough for the manual test, followed by a demo where we can observe Robot Framework performing E2E automated tests.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["XXC8JB"],"Speaker names":["Tanja Poposka"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T16:30:00+00:00","End":"2024-02-28T18:50:00+02:00","Lessons Learned":"Lessons learned that, even though we were new to using Robot Framework, we discovered a domain where we could incorporate these techniques and derive value. In this case, it was for our end-to-end (E2E) testing during User Acceptance Testing (UAT) or when we had a deployment that required testing within a limited timeframe. With Robot Framework handling our E2E tests, it provided the quality assurance we needed.\\r\\n\\r\\nSome members of our QA team were new to Robot Framework, but they managed to learn this framework quickly.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user"},{"ID":"XFZ7KM","Proposal title":"The Power of Community","Session type":{"de":"Keynote","en":"Keynote"},"Track":null,"Abstract":"The Robot Framework Community seen through the eyes of our community members.","Description":"We, members of the Robot Framework community, will talk about the Robot Framework community\'s collaborative spirit, emphasizing the importance of mutual help and diverse contributions. We\'ll highlight how each member\'s unique skills enhance the community, from technical knowledge to mentorship.\\r\\n\\r\\nIn addition we will share our experiences, demonstrating the community\'s strength through collaboration and support. This session will celebrate the collective wisdom of the Robot Framework community, encouraging active participation and showcasing how combined efforts lead to significant advancements.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["GBZFGS"],"Speaker names":["Merel, Guido, Manana, Kelby and Yuri"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T08:55:00+00:00","End":"2024-02-08T11:25:00+02:00","Lessons Learned":"What is the Robot Framework community?\\r\\nHow to engage with the community?\\r\\nInspiring stories about actual life.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"XH9APF","Proposal title":"Do Robots Dream of Pickled Cucumbers? Gherkin with RobotFramework","Session type":{"en":"Talk"},"Track":null,"Abstract":"Explore an innovative approach to executing Gherkin/Cucumber scenarios within the Robot Framework using a new custom parser. This talk delves into the technical intricacies of this integration, emphasizing the distinctions between Gherkin/Cucumber and Robot Framework.","Description":"In my presentation, we will dive into the fascinating realm of test automation, unveiling an innovative approach to executing Gherkin/Cucumber scenarios within the Robot Framework. Leveraging a custom parser developed specifically for this purpose, we overcome traditional challenges, seamlessly integrating the clear, human-readable Gherkin/Cucumber test specifications with the robustness of the Robot Framework.\\r\\n\\r\\n**Agenda:**\\r\\n\\r\\n1. **Introduction to Gherkin/Cucumber:** We begin with an explanation of the Gherkin/Cucumber language and its role in Behavior-Driven Development (BDD).\\r\\n\\r\\n2. **Technical Insights into Robot Framework:** A thorough exploration of the technical aspects of the Robot Framework, emphasizing its adaptability in various automation scenarios.\\r\\n\\r\\n3. **Addressing the Challenge:** We examine the typical hurdles in integrating Gherkin/Cucumber into the Robot Framework and showcase how our custom parser overcomes these barriers.\\r\\n\\r\\n4. **Live Demonstration:** Experience a live demo showcasing how Gherkin/Cucumber scenarios are effortlessly executed within the Robot Framework, with the custom parser transforming natural language into executable tests.\\r\\n\\r\\n5. **Practical Use Cases:** We examine real-world applications that illustrate how this integration works in practice, optimizing test processes and enhancing team collaboration.\\r\\n\\r\\n6. **Future Developments:** A glimpse into planned features, developments, and opportunities for further refinement of this integrative solution.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["RMY3KA"],"Speaker names":["Daniel Biehl"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T10:10:00+00:00","End":"2024-02-08T12:40:00+02:00","Lessons Learned":"Participants will learn how to seamlessly integrate Gherkin/Cucumber scenarios into the Robot Framework. They will discover solutions to integration challenges, witness a live demonstration of the custom parser in action, and gain practical insights to enhance collaboration, optimize test automation, and prepare for future developments.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"YF7RXZ","Proposal title":"Database Library update","Session type":{"en":"Talk"},"Track":null,"Abstract":"The [Database Library](https://github.com/MarketSquare/Robotframework-Database-Library/) for Robot Framework has been finally updated - after a long break since 2019. Moreover, the library maintenance was transferred to the Robot Framework community. This talk gives an overview of last changes and library features in general.","Description":"The purpose of the talk is to give an update of last changes in the Database Library, demonstrate a usage with a simple demo and call for a contribution, since the project was finally transferred to the community maintenance.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["BJAPHL"],"Speaker names":["Andre Mochinin"],"Room":{"en":"RoboCon"},"Start":"2024-02-09T13:20:00+00:00","End":"2024-02-09T15:50:00+02:00","Lessons Learned":"The participants will learn, how to use the Database Library and what are the last changes in the project.\\r\\nFurthermore, they should learn that the library is under active maintenance again and can be used more actively.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"YLX3LV","Proposal title":"Fuzzing for vulnerabilities in REST APIs","Session type":{"en":"Talk"},"Track":null,"Abstract":"The existence of REST APIs itself is a security threat, as easy programmable APIs are also an easy target for attackers. Often, they lack sufficient security design or testing. Learn about Vaisala\'s experience of integrating API fuzzing - a form of security testing - into existing RF automated testing and the results that came with it.","Description":"

REST APIs are a common and attractive attack vector. Often they lack sufficient security design or security testing. It is common to rely a bit too much on client-side sanitization while neglecting the idea of direct API usage. This can cause a lot of security issues, like sensitive data exposure, broken authentication, and injection attacks.

\\r\\n

So, how can we make sure an API cannot be exploited? The answer is to fuzz it. In this talk, you learn about Vaisala\'s experience of integrating API fuzzing - a form of security testing - into an existing Robot Framework system test automation process for one of company products.

\\r\\n

We selected a third-party tool (Schemathesis, which builds on the property-based testing library Hypothesis) and implemented a Python package with post-processing functionality that allows us to effectively run fuzzing against our APIs. This Python package is then imported and used in RF test cases.

\\r\\n

Since fuzzing can generate a lot of noise, because of its randomness, the post-processing step can validate the meaning of symptoms and help us make sense of test results better by integrating with existing robot framework automation assets. So when a bug is found with fuzzing, we can rerun the faulty test, and run any system checks we need, which will tell us what exactly is broken.

\\r\\n

Overall, the talk explains how REST API fuzzing can be effectively integrated with existing RF tests, and shows examples of found problems.

","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["T9BAF3"],"Speaker names":["Alina Kostetska"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T14:10:00+00:00","End":"2024-02-08T16:40:00+02:00","Lessons Learned":"The participants will learn about:\\r\\n\\t- why REST APIs can be dangerous\\r\\n\\t- what is fuzzing, and why one would want to use that\\r\\n\\t- a technique for REST API fuzzing used in a Vaisala\'s project:\\r\\n\\t\\t- creating a Python package based on Schemathesis to use with Robot Framework\\r\\n\\t\\t- fuzzing using the package\\r\\n\\t\\t- post-processing that reuses existing test cases - to identify the reason for a bug\\r\\n\\t\\t- examples of found bugs","Describe your intended audience":"People interested in automating security testing; \\r\\nPeople working with REST APIs;","Is this suitable for ..?":"Beginner RF user, Intermediate RF user"},{"ID":"YSA8HK","Proposal title":"How to Be a Robot Framework Champion: Collaborative Workshop","Session type":{"en":"Workshop - Full Day"},"Track":null,"Abstract":"Introducing Robot Framework in an organization can be challenging and complex. This workshop will help you overcome the challenges and leverage the benefits. You will collaborate with other testers and test automators who share similar goals and experiences. We will play games, role-play scenarios, and document the whole process for the community.","Description":"Welcome to the workshop on “How to Be a Robot Framework Champion: Collaborative Workshop”. My name is Adam Hepner, and I am a QA Lead at Nice Project. I am also championing the introduction of Robot Framework at Heidelberger Druckmachinen AG, a German company that provides products and services for the printing industry.\\r\\n\\r\\n
\\r\\n\\r\\nIn this workshop, I will share with you my experience and insights on how to introduce Robot Framework in your organization. Robot Framework is a tool that you already know and use, so I will not spend time explaining what it is or how it works. Instead, I will focus on the challenges and benefits of introducing it as a main end-to-end testing tool in your workplace.\\r\\n\\r\\n
\\r\\n\\r\\nThe workshop will be divided into 7 time blocks (give-or-take), each focusing on a different topic or theme related to introducing Robot Framework in an organization. The topics will include:\\r\\n\\r\\n
\\r\\n\\r\\n- Why Robot Framework should be used? What are its pros and cons and how does it compare to other tools?\\r\\n- Where can Robot Framework be used? Where cannot it be used?\\r\\n- What do developers and testers prefer to Robot Framework and why?\\r\\n- How can introduction be approached? What are the best practices and pitfalls to avoid?\\r\\n- How can Robot Framework be integrated with other tools, such as Selenium, BrowserStack, or Jenkins?\\r\\n- How can Robot Framework be used for different types of testing, such as acceptance testing, functional testing, or performance testing?\\r\\n\\r\\nThe workshop will use a combination of theory and practice, with an emphasis on discussion and collaboration. I hope to pass on my experience, and at the same time - learn from You. \\r\\n\\r\\nWe will also be:\\r\\n\\r\\n- Playing games, such as risk storming with test sphere card game or the pipeline game, that will help you explore different aspects of introducing Robot Framework in an organization, such as identifying the quality aspects, the risks, the test strategies, and the pipeline design.\\r\\n- Role-playing scenarios, such as convincing a skeptical manager or developer to adopt Robot Framework, that will help you practice your communication and persuasion skills and understand the opinions and preferences of others.\\r\\n- Authoring a documentation as a guide for future technical experts, that will help you summarize and document the main points and outcomes of the workshop.\\r\\n\\r\\nThis workshop will be driven by its participants, so the topics can vary slightly, but you\'re more than welcome to bring your ideas and experience to the table!","Duration":420,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["AQXFCJ"],"Speaker names":["Adam Hepner"],"Room":{"en":"How to Be a Robot Framework Champion: Collaborative Workshop"},"Start":"2024-02-06T07:00:00+00:00","End":"2024-02-06T16:00:00+02:00","Lessons Learned":"- How to compare and contrast Robot Framework with other tools and frameworks, and how to choose the best tool for the project and the organization.\\r\\n- How to use Robot Framework for different types of testing, such as acceptance testing, functional testing, or performance testing, and how to integrate it with other tools, such as Selenium, BrowserStack, or Jenkins.\\r\\n- How to communicate and persuade others to adopt Robot Framework, and how to overcome the challenges and resistance that may arise from different stakeholders, such as managers, developers, or testers.\\r\\n- How to collaborate and learn from other Robot Framework users, and how to share your experience and insights with others.\\r\\n- How to use games, role-playing scenarios, and documentation to enhance your understanding and skills in introducing Robot Framework in an organization.","Describe your intended audience":"- Test engineers, test automators, or RPA users who are already familiar with Robot Framework and want to learn how to introduce it in their organization.\\r\\n- People who are interested in the challenges and benefits of using Robot Framework as a main end-to-end testing tool in their workplace.\\r\\n- People who want to improve their skills and knowledge in Robot Framework, and collaborate and learn from other Robot Framework users and experts.","Is this suitable for ..?":"Intermediate RF user, Advanced RF user"},{"ID":"ZAGHBH","Proposal title":"I don\'t always test my code but when I do I do it in production","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"People usually think that testing is something that happens only test environment, but real world does not stand still. Therefore testing also in production is vital in fast paced modern world.","Description":"I don\'t always test my code but when I do I do it in production, or how it should go? talk describes what benefits testing in production can bring to people in different sized teams. In real world everything changes always and all the time. We as testers and developers cannot control those changes, but those changes can, and some point will affect our products and customers. Because there is so many changes happening all the time, this talks highlights why testing is important in different type of environments and different stages of the software life cycle.\\r\\nModern agile talks about moving testing to left, closer to the development and moving testing to the left is the correct move to do. But many teams forget that instead of moving testing only to the left, teams should also move testing the right: do testing in production. This presentation talks what benefits testing in production can bring to small open-source developer like me. Talk provides examples from my life as open-source developer and from projects like [Browser](https://github.com/MarketSquare/robotframework-browser) and [AssertionEngine](https://github.com/MarketSquare/AssertionEngine). Also presentation covers how those techniques can be applied to large scale enterprise applications.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["8HSX9A"],"Speaker names":["Tatu Aalto"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T13:30:00+00:00","End":"2024-02-29T15:50:00+02:00","Lessons Learned":"Many teams may just develop software and throw the software to a deployment and monitoring teams. If they do that, teams will miss lot of important feedback how their system work and what problems user may face. This talk tells that testing also production is important and what benefits it will bring to the teams. Also testing in production is not same in testing in CI environment, but how/why CI system can be used to test in production.","Describe your intended audience":"Anyone who is interested to for being part of successful team. Developer, tester, product owner or anyone who is part of the development process.","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"ZMRYQP","Proposal title":"Orchestrating Robot Framework: From the Louvre to Kubernetes with Terraform & Ansible","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"This talk unveils \'Cloud-Agnostic Auto-Scaling\' in Robot Framework, leveraging Kubernetes, Terraform, Ansible, Prometheus & Grafana. A live demo of real-time scaling across multiple clouds via K8s. Dive into observability with Prometheus metrics and Grafana dashboards. This session offers a holistic, high-impact, & cost-efficient testing framework.","Description":"# Cloud-Agnostic Auto-Scaling in Robot Framework\\r\\n\\r\\n## **Overview**\\r\\nThis session is a magnum opus on \'Cloud-Agnostic Auto-Scaling\' within Robot Framework—crucial for professionals in test automation, cloud computing, and DevOps.\\r\\n\\r\\n## **Agenda**\\r\\n\\r\\n### **Introduction (3 minutes)**\\r\\n- Importance of \'Cloud-Agnostic Auto-Scaling\' in Robot Framework for today\'s fast-paced DevOps world.\\r\\n\\r\\n### **Why Robot Framework Needs Scaling in Modern DevOps (4 minutes)**\\r\\n- Discuss the critical role of scalability in meeting the real-time demands of continuous integration and deployment.\\r\\n- **Case Study**: A real-world example where scaling Robot Framework tests reduced execution time from 8 hours to less than 60 minutes, accelerating the DevOps pipeline.\\r\\n\\r\\n### **Software Components That Make Scaling Possible (5 minutes)**\\r\\n- **Kubernetes**: Enables auto-scaling and self-healing features for optimal resource use.\\r\\n- **Terraform**: Automates infrastructure provisioning, facilitating rapid scaling.\\r\\n- **Ansible**: Manages automated configuration, essential for quick scaling.\\r\\n- **Prometheus**: Captures real-time metrics and alerts, supporting auto-scaling.\\r\\n- **Grafana**: Provides rich analytics and visualization, including alerts for scaling activities.\\r\\n\\r\\n### **Live Demo (6 minutes)**\\r\\n- Showcase both vertical scaling (reallocating resources) and horizontal scaling (modifying Robot Framework pods). Orchestrated by Terraform and Ansible, monitored by Prometheus and Grafana.\\r\\n\\r\\n### **What Is the Takeaway? (2 minutes)**\\r\\n- Gain insights on how to implement this robust, scalable, and observable framework in your organization.\\r\\n\\r\\n### **Who Should Attend? (2 minutes)**\\r\\n- QA Engineers, DevOps practitioners, CTOs, and decision-makers.\\r\\n\\r\\n### **Q&A (2 minutes)**\\r\\n- Open floor for audience queries.\\r\\n\\r\\n### **Conclusion (1 minute)**\\r\\n- Final thoughts and an invitation for further collaboration.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["9J9TZ3"],"Speaker names":["Babu Manickam"],"Room":null,"Start":null,"End":null,"Lessons Learned":"Here are my views towards the lessons learned (I understand considering the time limit of 25 minutes - this can be challenging but guaranteed to do the best):\\r\\n\\r\\n1. Kubernetes: Participants will learn how to utilize Kubernetes for real-time auto-scaling and self-healing, essential for optimal resource usage in Robot Framework.\\r\\n2. Terraform: An in-depth look at how Terraform can programmatically set up the required infrastructure, making the scaling process efficient and reproducible.\\r\\n3. Ansible: A focus on automated configuration to enable quick scaling up or down, streamlining the automation process.\\r\\n4. Prometheus: Techniques to leverage Prometheus for real-time metrics, supporting not just auto-scaling but also custom alerting based on metrics.\\r\\n5. Grafana: Insights into creating intuitive dashboards for better analytics and visualization, including setting up scaling alerts.\\r\\n\\r\\nLive Demo: A hands-on demonstration on scaling Robot Framework tests both vertically (by reallocating resources) and horizontally (by increasing/decreasing the number of Robot pods).\\r\\n\\r\\nBest Practices & Lessons Learned\\r\\n\\r\\nCase Study: A real-world example will be discussed where the practices mentioned reduced the test execution time from 8 hours to less than 60 minutes. This highlights the immediate benefits in a DevOps cycle.\\r\\n\\r\\nTakeaways\\r\\n#1 A robust framework to implement auto-scaling in Robot Framework tests, irrespective of the cloud service provider.\\r\\n#2 Proven strategies and code snippets for immediate implementation.\\r\\n\\r\\nBy attending this session, participants will not just grasp the theoretical underpinnings but will gain practical, hands-on knowledge that can be immediately applied to their own DevOps and testing environments.","Describe your intended audience":"1. QA Engineers: Those who are already working with Robot Framework or are looking to implement scalable test automation will find this session particularly useful.\\r\\n\\r\\n2. DevOps Practitioners: Professionals who are involved in CI/CD pipeline configurations and are looking to enhance scalability and resource optimization will gain invaluable insights.\\r\\n\\r\\n3. CTOs and Decision-Makers: Executives looking for strategic ways to improve resource utilization, speed up development cycles, and optimize costs should attend to understand how these technologies can impact ROI.\\r\\n\\r\\n4. Academicians and Students: Anyone in academia interested in cutting-edge DevOps practices and test automation scalability.\\r\\n\\r\\nThis session is designed to offer valuable insights to both technical and managerial roles. The content will range from hands-on code snippets to high-level strategies, making it a must-attend for a wide spectrum of professionals.","Is this suitable for ..?":"Intermediate RF user, Advanced RF user"}]')},"1e8c":function(e,t,o){"use strict";o("f3b7")},"2c04":function(e,t,o){},"2dd2":function(e,t,o){"use strict";o("ff87")},"336b":function(e,t,o){},"338e":function(e,t,o){"use strict";o("d784d")},"33f7":function(e,t,o){"use strict";o("12da")},3418:function(e,t,o){"use strict";o("ffdd")},3513:function(e,t,o){},"399d":function(e,t,o){},"3a6d":function(e,t,o){"use strict";o("5687")},"3f88":function(e,t,o){"use strict";o("16df")},"4efe":function(e,t,o){},5687:function(e,t,o){},"56d7":function(e,t,o){"use strict";o.r(t);var n=o("5530"),a=(o("e260"),o("e6cf"),o("cca6"),o("a79d"),o("7a23")),r=(o("b0c0"),{key:2,class:"flex mb-large bg-black pb-small",style:{position:"sticky",top:"3.5rem","z-index":"3","padding-left":"3.5rem",overflow:"auto"}});function i(e,t,o,n,i,s){var l=Object(a["resolveComponent"])("nav-mobile"),c=Object(a["resolveComponent"])("navbar"),d=Object(a["resolveComponent"])("router-view"),u=Object(a["resolveComponent"])("page-footer");return Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,[e.$store.state.isDesktop||e.fullScreen?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])(l,{key:0})),e.$store.state.isDesktop&&!e.fullScreen?(Object(a["openBlock"])(),Object(a["createBlock"])(c,{key:1})):Object(a["createCommentVNode"])("",!0),"Home"!==e.$route.name||e.$store.state.isDesktop?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("div",r,[Object(a["createVNode"])("button",{onClick:t[1]||(t[1]=function(e){return s.scrollTo("tutorials")}),class:"color-white col-sm-5 col-md-3 mt-3xsmall mb-3xsmall type-no-underline font-title router-link type-small",style:{"margin-left":"-2rem"}}," #TUTORIALS "),Object(a["createVNode"])("button",{onClick:t[2]||(t[2]=function(e){return s.scrollTo("workshops")}),class:"color-white col-sm-5 col-md-3 mt-3xsmall mb-3xsmall type-no-underline font-title router-link type-small"}," #WORKSHOPS "),Object(a["createVNode"])("button",{onClick:t[3]||(t[3]=function(e){return s.scrollTo("talks")}),class:"color-white col-sm-4 col-md-3 mt-3xsmall mb-3xsmall type-no-underline font-title router-link type-small"}," #TALKS "),Object(a["createVNode"])("button",{onClick:t[4]||(t[4]=function(e){return s.scrollTo("hotels")}),class:"color-white col-sm-4 col-md-3 mt-3xsmall mb-3xsmall type-no-underline font-title router-link type-small"}," #HOTELS ")])),Object(a["createVNode"])(d),e.fullScreen?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])(u,{key:3}))],64)}o("d3b7"),o("3ca3"),o("ddb0"),o("9861"),o("ac1f"),o("841c"),o("c1f9");var s=Object(a["withScopeId"])("data-v-70652c32");Object(a["pushScopeId"])("data-v-70652c32");var l={class:"banner-slide"},c={class:"type-center p-xsmall color-white bg-black banner"};Object(a["popScopeId"])();var d=s((function(e,t){return Object(a["openBlock"])(),Object(a["createBlock"])("div",l,[Object(a["createVNode"])("div",c,[Object(a["renderSlot"])(e.$slots,"default",{},void 0,!0)])])})),u=(o("2dd2"),o("6b0d")),h=o.n(u);const m={},p=h()(m,[["render",d],["__scopeId","data-v-70652c32"]]);var b=p,w={class:"pb-large m-small"},g={class:"container narrow row middle"},f={class:"col-sm-12",style:{"transition-delay":"0.25s"}};function k(e,t,o,n,r,i){return Object(a["openBlock"])(),Object(a["createBlock"])("div",w,[Object(a["createVNode"])("div",g,[Object(a["createVNode"])(a["Transition"],{appear:"",name:"opacity-slow"},{default:Object(a["withCtx"])((function(){return[Object(a["createVNode"])("div",f,[Object(a["renderSlot"])(e.$slots,"default")])]})),_:3})])])}var y={name:"Banner"};const v=h()(y,[["render",k]]);var O=v,T=Object(a["withScopeId"])("data-v-e7b3d676");Object(a["pushScopeId"])("data-v-e7b3d676");var j={class:"row bg-black color-white p-small pt-large pb-large",style:{"margin-top":"auto"}},S={class:"container",style:{"line-height":"2"}},R={class:"row"},I=Object(a["createVNode"])("div",{class:"col-sm-6 col-md-3"},[Object(a["createVNode"])("h3",{class:"mb-small"},[Object(a["createVNode"])("a",{href:"https://robotframework.org/foundation/"},"Foundation")]),Object(a["createVNode"])("div",null," Robot Framework ry "),Object(a["createVNode"])("div",null," Kampinkuja 2 "),Object(a["createVNode"])("div",null," 00100 Helsinki "),Object(a["createVNode"])("div",null," Finland "),Object(a["createVNode"])("a",{href:"mailto:robotframework-foundation@googlegroups.com"}," Contact ")],-1),A=Object(a["createStaticVNode"])('

Community

GitHub
Forum
Facebook
Twitter
LinkedIn
',6),F={key:0,class:"col-sm-12 mb-large"},D=Object(a["createVNode"])("div",{class:"col-sm-6 col-md-3"},null,-1),N={class:"col-sm-6 col-md-3 flex flex-col between"},x=Object(a["createVNode"])("div",null,null,-1),B=Object(a["createVNode"])("div",null,[Object(a["createVNode"])("a",{href:"https://robotframework.org"}," Robot Framework ")],-1),C=Object(a["createVNode"])("div",null,[Object(a["createVNode"])("a",{href:"https://robotframework.org/privacy-policy"}," Privacy Policy ")],-1);Object(a["popScopeId"])();var L=T((function(e,t,o,n,r,i){return Object(a["openBlock"])(),Object(a["createBlock"])("div",j,[Object(a["createVNode"])("div",S,[Object(a["createVNode"])("div",R,[I,Object(a["createVNode"])("div",{class:["col-sm-6 col-md-3",e.$store.state.isMobile?"type-right":""]},[A],2),e.$store.state.isMobile?(Object(a["openBlock"])(),Object(a["createBlock"])("div",F)):Object(a["createCommentVNode"])("",!0),D,Object(a["createVNode"])("div",N,[x,Object(a["createVNode"])("div",{class:e.$store.state.isMobile?"type-right":""},[B,C],2)])])])])})),P=(o("4de4"),o("d81d"),o("b64b"),{name:"PageFooter",components:{},data:function(){return{langDropdownOpen:!1}},computed:{langNames:function(){var e=this;return Object.keys(this.$i18n.messages).map((function(t){return{lang:t,name:e.$i18n.messages[t].langName}})).filter((function(e){var t=e.name;return"translation"!==t}))}},methods:{setLang:function(e){this.$i18n.locale=e,window.localStorage.setItem("lang",e)}}});o("7cbe");const V=h()(P,[["render",L],["__scopeId","data-v-e7b3d676"]]);var E=V,M=Object(a["withScopeId"])("data-v-5cefa25b");Object(a["pushScopeId"])("data-v-5cefa25b");var H={ref:"nav",class:"row between p-small sticky bg-background",style:{top:"0","z-index":"2"}},W={class:"flex middle"},G=Object(a["createTextVNode"])(" ROBOCON "),U=Object(a["createVNode"])("div",{class:"type-xsmall flex"},[Object(a["createTextVNode"])(" | "),Object(a["createVNode"])("a",{href:"https://robotframework.org/",class:"type-xsmall ml-xsmall mr-2xsmall color-white hover-color-theme"}," Robot Framework "),Object(a["createTextVNode"])(" Conference ")],-1),z={class:"flex middle"},K={key:0,class:"flex"},q=Object(a["createVNode"])("a",{href:"#tutorials",class:"color-white mx-2xsmall type-no-underline font-title router-link type-small"}," #TUTORIALS ",-1),Z=Object(a["createVNode"])("a",{href:"#workshops",class:"color-white mx-2xsmall type-no-underline font-title router-link type-small"}," #WORKSHOPS ",-1),_=Object(a["createVNode"])("a",{href:"#talks",class:"color-white mx-2xsmall type-no-underline font-title router-link type-small"}," #TALKS ",-1),J=Object(a["createVNode"])("a",{href:"#hotels",class:"color-white mx-2xsmall type-no-underline font-title router-link type-small"}," #HOTELS ",-1),Y={key:1},Q=Object(a["createTextVNode"])(" RBCN24 "),X=Object(a["createVNode"])("div",{class:"mx-small"},"|",-1),$=Object(a["createTextVNode"])(" sponsor "),ee=Object(a["createVNode"])("div",{class:"mx-small"},"|",-1),te=Object(a["createTextVNode"])(" archive ");Object(a["popScopeId"])();var oe=M((function(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("base-icon"),l=Object(a["resolveComponent"])("router-link");return Object(a["openBlock"])(),Object(a["createBlock"])("div",H,[Object(a["createVNode"])("div",W,[Object(a["createVNode"])(s,{name:"robot",color:"white",size:"1.25rem"}),Object(a["createVNode"])(l,{to:{name:"Home"},class:"router-link type-large mx-xsmall"},{default:M((function(){return[G]})),_:1}),U]),Object(a["createVNode"])("div",z,["Home"===e.$route.name?(Object(a["openBlock"])(),Object(a["createBlock"])("div",K,[q,Z,_,J])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",Y,[Object(a["createVNode"])(l,{to:{name:"Home"},class:"router-link mx-xsmall type-no-underline type-small"},{default:M((function(){return[Q]})),_:1})])),X,Object(a["createVNode"])(l,{to:{name:"Sponsor"},class:"router-link mx-xsmall type-no-underline type-small"},{default:M((function(){return[$]})),_:1}),ee,Object(a["createVNode"])(l,{to:{name:"Archive"},class:"router-link mx-xsmall type-no-underline type-small"},{default:M((function(){return[te]})),_:1})])],512)})),ne=(o("99af"),o("1276"),Object(a["withScopeId"])("data-v-17229984")),ae=ne((function(e,t,o,n,r,i){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:o.size,height:o.size,class:["fill-".concat(o.color),o.hoverColor&&"hover-".concat(o.hoverColor)],style:o.rotation&&"transform: rotate(".concat(o.rotation,"deg);")},[Object(a["createVNode"])("path",{d:e.icons[o.name]},null,8,["d"])],14,["width","height"])})),re=(o("a9e3"),{name:"BaseIcon",props:{name:{type:String,required:!0},color:{type:String,default:"black"},hoverColor:{type:String},size:{type:String,default:"1rem"},rotation:{type:Number,default:void 0}},data:function(){return{icons:{chevron:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12l4.58-4.59z",close:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z",copy:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z",document:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z",globe:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2H4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56zm2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8zM12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9.66c-.09-.66-.16-1.32-.16-2s.07-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2zm.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56zM16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2h-3.38z",tab:"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z",play:"M8 5v14l11-7z",retweet:"M23.615 15.477c-.47-.47-1.23-.47-1.697 0l-1.326 1.326V7.4c0-2.178-1.772-3.95-3.95-3.95h-5.2c-.663 0-1.2.538-1.2 1.2s.537 1.2 1.2 1.2h5.2c.854 0 1.55.695 1.55 1.55v9.403l-1.326-1.326c-.47-.47-1.23-.47-1.697 0s-.47 1.23 0 1.697l3.374 3.375c.234.233.542.35.85.35s.613-.116.848-.35l3.375-3.376c.467-.47.467-1.23-.002-1.697zM12.562 18.5h-5.2c-.854 0-1.55-.695-1.55-1.55V7.547l1.326 1.326c.234.235.542.352.848.352s.614-.117.85-.352c.468-.47.468-1.23 0-1.697L5.46 3.8c-.47-.468-1.23-.468-1.697 0L.388 7.177c-.47.47-.47 1.23 0 1.697s1.23.47 1.697 0L3.41 7.547v9.403c0 2.178 1.773 3.95 3.95 3.95h5.2c.664 0 1.2-.538 1.2-1.2s-.535-1.2-1.198-1.2z",robot:"M5,10.2c0-1.9,1.5-3.4,3.4-3.4c1.9,0,3.4,1.5,3.4,3.4c0,0.7-0.6,1.2-1.2,1.2c-0.7,0-1.2-0.6-1.2-1.2c0-0.5-0.4-0.9-0.9-0.9c-0.5,0-0.9,0.4-0.9,0.9c0,0.7-0.6,1.2-1.2,1.2S5,10.9,5,10.2 M19,15.9c0,0.7-0.6,1.2-1.2,1.2H6.4c-0.7,0-1.2-0.6-1.2-1.2c0-0.7,0.6-1.2,1.2-1.2h11.5C18.5,14.7,19,15.3,19,15.9 M13.7,10.9c-0.4-0.6-0.2-1.3,0.3-1.7l2.9-1.9c0.6-0.4,1.3-0.2,1.7,0.3c0.4,0.6,0.2,1.3-0.3,1.7l-2.9,1.9c-0.2,0.1-0.5,0.2-0.7,0.2C14.3,11.5,13.9,11.3,13.7,10.9 M21.5,18.5c0,0.2-0.1,0.5-0.3,0.6l-2.1,2.1c-0.2,0.2-0.4,0.3-0.6,0.3h-13c-0.2,0-0.5-0.1-0.6-0.3l-2.1-2.1c-0.2-0.2-0.3-0.4-0.3-0.6v-13c0-0.2,0.1-0.5,0.3-0.6l2.1-2.1C5,2.6,5.2,2.5,5.5,2.5h13c0.2,0,0.5,0.1,0.6,0.3l2.1,2.1c0.2,0.2,0.3,0.4,0.3,0.6V18.5z M23.3,3.4l-2.8-2.8C20.1,0.2,19.6,0,19,0H5C4.4,0,3.9,0.2,3.4,0.7L0.7,3.4C0.2,3.9,0,4.4,0,5v14c0,0.6,0.2,1.2,0.7,1.6l2.8,2.8C3.9,23.8,4.4,24,5,24h14c0.6,0,1.2-0.2,1.6-0.7l2.8-2.8c0.4-0.4,0.7-1,0.7-1.6V5C24,4.4,23.8,3.9,23.3,3.4",twitter:"M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"}}}});o("7f26");const ie=h()(re,[["render",ae],["__scopeId","data-v-17229984"]]);var se=ie,le={name:"Navbar",components:{BaseIcon:se},methods:{itemClick:function(e){var t=document.getElementById(e);t&&(history.replaceState(null,null,"".concat(location.href.split("?")[0].split("#")[0],"#").concat(e)),window.scrollTo({top:t.offsetTop,behavior:"smooth"}),window.plausible("Nav click",{props:{section:e}}))},setLang:function(e){this.$i18n.locale=e,window.localStorage.setItem("lang",e)},onClick:function(e){this.linkDropdownOpen&&this.$refs.dropdown&&!this.$refs.dropdown.contains(e.target)&&(this.linkDropdownOpen=!1)},scrollTop:function(){window.scrollTo({top:0,behavior:"smooth"})}},mounted:function(){var e=this,t=new IntersectionObserver((function(t){e.navSticky=!t[0].isIntersecting}),{threshold:1});t.observe(this.$refs.nav),document.addEventListener("click",this.onClick)},beforeUnmount:function(){document.removeEventListener("click",this.onClick)},watch:{linkDropdownOpen:function(){this.linkDropdownOpen&&(this.langDropdownOpen=!1)},langDropdownOpen:function(){this.langDropdownOpen&&(this.linkDropdownOpen=!1)}}};o("7689");const ce=h()(le,[["render",oe],["__scopeId","data-v-5cefa25b"]]);var de=ce,ue=Object(a["withScopeId"])("data-v-6a05003a");Object(a["pushScopeId"])("data-v-6a05003a");var he={key:0,class:"menu bg-black p-small pb-large pt-2xlarge"},me={class:"flex middle pl-small"},pe=Object(a["createTextVNode"])(" ROBOCON "),be=Object(a["createVNode"])("span",null,null,-1),we=Object(a["createVNode"])("span",null,null,-1),ge=Object(a["createVNode"])("span",null,null,-1),fe=Object(a["createVNode"])("span",null,null,-1);Object(a["popScopeId"])();var ke=ue((function(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("router-link"),l=Object(a["resolveComponent"])("base-icon");return Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,[Object(a["createVNode"])(a["Transition"],{name:"fade"},{default:ue((function(){return[e.isOpen?(Object(a["openBlock"])(),Object(a["createBlock"])("div",he,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.$tm("navbar.links"),(function(o){var n=o.name,r=o.text;return Object(a["openBlock"])(),Object(a["createBlock"])(s,{to:{name:n},key:n,class:"router-link block mb-large",onClick:t[1]||(t[1]=function(t){return e.isOpen=!1})},{default:ue((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(r),1)]})),_:2},1032,["to"])})),128))])):Object(a["createCommentVNode"])("",!0)]})),_:1}),Object(a["createVNode"])("div",{class:["navbar row between bg-black color-white",e.isOpen?"open":""]},[Object(a["createVNode"])("div",me,[Object(a["createVNode"])(l,{name:"robot",color:"white",size:"1.75rem"}),Object(a["createVNode"])(s,{to:{name:"Home"},class:"router-link type-large mx-xsmall"},{default:ue((function(){return[pe]})),_:1})]),Object(a["createVNode"])("button",{class:["hamburger",e.isOpen?"open":""],onClick:t[2]||(t[2]=function(t){e.isOpen=!e.isOpen,e.linksOpen=!1})},[be,we,ge,fe],2)],2),Object(a["createVNode"])(a["Transition"],{name:"opacity"},{default:ue((function(){return[e.isOpen?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:0,class:"menu-background",onClick:t[3]||(t[3]=function(t){return e.isOpen=!1})})):Object(a["createCommentVNode"])("",!0)]})),_:1})],64)})),ye={name:"NavMobile",components:{BaseIcon:se},data:function(){return{isOpen:!1}}};o("bde3");const ve=h()(ye,[["render",ke],["__scopeId","data-v-6a05003a"]]);var Oe=ve,Te=Object(a["withScopeId"])("data-v-3e24701f");Object(a["pushScopeId"])("data-v-3e24701f");var je={class:"mb-xlarge p-small",tabindex:"-1"},Se={key:0,class:"bar"},Re={class:"row"},Ie={key:0,class:"pl-3xsmall"};Object(a["popScopeId"])();var Ae=Te((function(e,t,o,n,r,i){return Object(a["openBlock"])(),Object(a["createBlock"])("div",je,[Object(a["createVNode"])("a",{class:"anchor",id:o.titleId},null,8,["id"]),"intro"!==o.titleId&&o.title?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Se)):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("div",Re,[o.fullWidth?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:0,class:["col-sm-12 col-lg-3 pr-large",e.$store.state.isMobile?"":"pt-3xsmall"]},[Object(a["createVNode"])("h2",{id:o.titleId},Object(a["toDisplayString"])(o.title),9,["id"]),!e.$store.state.isMobile&&o.subtitle?(Object(a["openBlock"])(),Object(a["createBlock"])("h3",Ie,Object(a["toDisplayString"])(o.subtitle),1)):Object(a["createCommentVNode"])("",!0)],2)),Object(a["createVNode"])("div",{class:["col-sm-12 col-lg-9 row",o.fullWidth?"col-lg-12":"col-lg-9"]},[""!==o.body?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:0,innerHTML:o.body},null,8,["innerHTML"])):Object(a["createCommentVNode"])("",!0),Object(a["renderSlot"])(e.$slots,"default",{},void 0,!0)],2)])])})),Fe={name:"PageSection",props:{title:{type:String,default:""},subtitle:{type:String},body:{type:String,default:""},titleId:{type:String,required:!0},fullWidth:{type:Boolean,default:!1}}};o("618e");const De=h()(Fe,[["render",Ae],["__scopeId","data-v-3e24701f"]]);var Ne=De;o("a4d3"),o("e01a");o("c96a"),o("9911");var xe=Object(a["withScopeId"])("data-v-075a81b6");Object(a["pushScopeId"])("data-v-075a81b6");var Be={class:"col-sm-12 mt-medium"},Ce={class:"weight-semi-bold"},Le={class:"row"},Pe={class:"row"},Ve={class:"row"},Ee={key:0,class:"row end mt-small p-medium"},Me={class:"row"},He=Object(a["createVNode"])("button",{class:"theme"}," Join ",-1);Object(a["popScopeId"])();var We=xe((function(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("router-link");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Be,[Object(a["createVNode"])("p",Ce,Object(a["toDisplayString"])(o.sponsors.boxTitle),1),Object(a["createVNode"])("div",Le,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(o.sponsors.large,(function(t,o){return Object(a["openBlock"])(),Object(a["createBlock"])("a",{key:o,href:t.href,target:"_blank",class:"sponsor cursor-pointer col-sm-12 col-md-6"},[Object(a["createVNode"])("div",{class:"img-container platinum",style:"background-image: url(".concat(e.publicPath,"img/sponsors/").concat(t.img,")")},null,4)],8,["href"])})),128))]),Object(a["createVNode"])("div",Pe,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(o.sponsors.medium,(function(t,o){return Object(a["openBlock"])(),Object(a["createBlock"])("a",{key:o,href:t.href,target:"_blank",class:"sponsor cursor-pointer col-sm-6 col-md-4"},[Object(a["createVNode"])("div",{class:"img-container mb-small",style:"background-image: url(".concat(e.publicPath,"img/sponsors/").concat(t.img,")")},null,4)],8,["href"])})),128))]),Object(a["createVNode"])("div",Ve,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(o.sponsors.small,(function(t,o){return Object(a["openBlock"])(),Object(a["createBlock"])("a",{key:o,href:t.href,target:"_blank",class:"sponsor cursor-pointer col-sm-6 col-md-3 p-medium"},[Object(a["createVNode"])("div",{class:"img-container mb-small",style:"background-image: url(".concat(e.publicPath,"img/sponsors/").concat(t.img,")")},null,4)],8,["href"])})),128))]),o.sponsors.button?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ee,[Object(a["createVNode"])(a["Transition"],{mode:"out-in",name:"opacity"},{default:xe((function(){return[e.sponsorInfoShown?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:1,innerHTML:o.sponsors.moreInfo},null,8,["innerHTML"])):(Object(a["openBlock"])(),Object(a["createBlock"])("button",{key:0,class:"theme mr-small",onClick:t[1]||(t[1]=function(t){return e.sponsorInfoShown=!0})},Object(a["toDisplayString"])(o.sponsors.button),1))]})),_:1})])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("div",Me,[o.sponsors.link?(Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:0,to:"/sponsor",class:"block type-center col-sm-4 col-sm-offset-8"},{default:xe((function(){return[He]})),_:1})):Object(a["createCommentVNode"])("",!0)])])})),Ge={name:"Sponsors",props:{mini:{type:String,default:""},sponsors:{type:Object}},data:function(){return{publicPath:"dist/",sponsorInfoShown:!1}}};o("f8cc");const Ue=h()(Ge,[["render",We],["__scopeId","data-v-075a81b6"]]);var ze=Ue,Ke=Object(a["withScopeId"])("data-v-d187df1e");Object(a["pushScopeId"])("data-v-d187df1e");var qe=Object(a["createVNode"])("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 370 200"},[Object(a["createVNode"])("path",{d:"M360,142.9c0-2.8,2.2-5,5-5v-5c-2.8,0-5-2.2-5-5s2.2-5,5-5v-5c-2.8,0-5-2.2-5-5s2.2-5,5-5v-5c-2.8,0-5-2.2-5-5s2.2-5,5-5v-5c-2.8,0-5-2.2-5-5s2.2-5,5-5v-5c-2.8,0-5-2.2-5-5s2.2-5,5-5v-5c-2.8,0-5-2.2-5-5s2.2-5,5-5v-9.5c-17.4-2.2-31.1-16-33.4-33.4H38.4c-2.2,17.4-16,31.1-33.4,33.4v11.6c2.8,0,5,2.2,5,5s-2.2,5-5,5v5c2.8,0,5,2.2,5,5s-2.2,5-5,5v5c2.8,0,5,2.2,5,5s-2.2,5-5,5v5c2.8,0,5,2.2,5,5s-2.2,5-5,5v5c2.8,0,5,2.2,5,5s-2.2,5-5,5v5c2.8,0,5,2.2,5,5s-2.2,5-5,5v5c2.8,0,5,2.2,5,5s-2.2,5-5,5v11.6c17.4,2.2,31.1,16,33.4,33.4H331.6c2.2-17.4,16-31.1,33.4-33.4v-13.7c-2.8,0-5-2.2-5-5Z"}),Object(a["createVNode"])("rect",{"stroke-width":"1px",stroke:"white",x:"54.7",y:"25.6",width:"260.5",height:"148.9",rx:"25",ry:"25"})],-1),Ze={class:"relative type-center content",style:{width:"60%"}},_e={class:"ticket-title type-medium border-bottom-white border-thin mb-3xsmall pb-3xsmall"},Je={class:"price"},Ye={class:"absolute font-title type-xsmall side left"},Qe={class:"absolute font-title type-small side right"},Xe=Object(a["createVNode"])("div",{class:"shader specular"},[Object(a["createVNode"])("div",{class:"shader mask2"},[Object(a["createVNode"])("div",{class:"shader mask"})])],-1);Object(a["popScopeId"])();var $e=Ke((function(e,t,o,n,r,i){return Object(a["openBlock"])(),Object(a["createBlock"])("a",{href:o.link,target:"_blank",class:[o.link?"cursor-pointer":"suspended","ticket-container type-no-underline flex center middle"],ref:"ticketContainer"},[qe,Object(a["createVNode"])("div",Ze,[Object(a["createVNode"])("div",_e,[Object(a["renderSlot"])(e.$slots,"title",{},void 0,!0)]),Object(a["createVNode"])("div",Je,[Object(a["renderSlot"])(e.$slots,"price",{},void 0,!0)])]),Object(a["createVNode"])("div",Ye,[Object(a["renderSlot"])(e.$slots,"left",{},void 0,!0)]),Object(a["createVNode"])("div",Qe,[Object(a["renderSlot"])(e.$slots,"right",{},void 0,!0)]),Xe],10,["href"])})),et={name:"Ticket",props:{link:{type:String,required:!0}},computed:{tag:function(){return this.link?"a":"div"}}};o("0286");const tt=h()(et,[["render",$e],["__scopeId","data-v-d187df1e"]]);var ot=tt,nt=(o("0d03"),o("caad"),o("2532"),Object(a["withScopeId"])("data-v-78bf3cc9"));Object(a["pushScopeId"])("data-v-78bf3cc9");var at={class:"dateTitle mt-large mb-2xsmall type-small py-2xsmall color-white"},rt={class:"pl-medium"},it={class:"card row p-small mb-medium"},st={class:"col-sm-12 col-md-9 col-lg-7 pr-small"},lt={key:0},ct=Object(a["createTextVNode"])(" 🔴 "),dt={key:1},ut={key:2,class:"video col-sm-9 pl-3xsmall"},ht={class:"col-sm-12 col-md-3 col-lg-5 mt-small"},mt={key:2,class:"speakerImg rounded-small"};Object(a["popScopeId"])();var pt=nt((function(e,t,o,n,r,i){return Object(a["openBlock"])(),Object(a["createBlock"])("div",null,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(i.talksByDate,(function(t){var n=t.date,r=t.talks;return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:n,class:"mb-xlarge"},[Object(a["createVNode"])("h3",at,[Object(a["createVNode"])("div",rt,Object(a["toDisplayString"])(i.format(new Date(n),"MMM dd")),1)]),(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(r,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:t.code,id:i.slugify(t.title.en||t.title)},[Object(a["createVNode"])("div",it,[Object(a["createVNode"])("div",st,[t.end?(Object(a["openBlock"])(),Object(a["createBlock"])("div",lt,[i.ongoing(t)?(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],{key:0},[ct],64)):Object(a["createCommentVNode"])("",!0),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(i.format(new Date(t.start),"HH:mm"))+" - "+Object(a["toDisplayString"])(i.format(new Date(t.end),"HH:mm"))+" "+Object(a["toDisplayString"])(i.format(new Date(t.start),"OOO")),1)])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",dt," start: "+Object(a["toDisplayString"])(i.format(new Date(t.start),"HH:mm"))+" - "+Object(a["toDisplayString"])(Number(t.duration.split(":")[0]))+" hrs ",1)),Object(a["createVNode"])("h3",{id:"".concat(i.slugify(t.title.en||t.title),"_title"),class:"talkTitle"},Object(a["toDisplayString"])(t.title.en||t.title),9,["id"]),t.yt_link?(Object(a["openBlock"])(),Object(a["createBlock"])("div",ut,[Object(a["createVNode"])("iframe",{class:"rounded",width:"100%",height:"100%",src:"https://www.youtube.com/embed/".concat(t.yt_link,"?rel=0"),title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""},null,8,["src"])])):Object(a["createCommentVNode"])("",!0),t["abstract"]?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:3,class:"mt-medium",innerHTML:i.parseMarkdown(t["abstract"])},null,8,["innerHTML"])):Object(a["createCommentVNode"])("",!0),t["abstract"]&&!e.expandedTalks.includes(t.code||t.id)&&t.description&&""!==t.description?(Object(a["openBlock"])(),Object(a["createBlock"])("button",{key:4,class:"color-theme",onClick:function(e){return i.openTalk(t)}}," Read more ",8,["onClick"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])(a["Transition"],{name:"fade"},{default:nt((function(){return[e.expandedTalks.includes(t.code||t.id)?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:0,class:"mt-medium description",innerHTML:i.parseMarkdown(t.description)},null,8,["innerHTML"])):Object(a["createCommentVNode"])("",!0)]})),_:2},1024)]),Object(a["createVNode"])("div",ht,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(t.speakers,(function(n){var r=n.code,s=n.avatar,l=n.public_name;return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:r,class:"card sharper bg-black rounded-small row mb-small",style:{overflow:"hidden"}},[Object(a["createVNode"])("button",{class:"flex middle speakerButton",onClick:function(o){e.expandedSpeakers.includes("".concat(r).concat(t.code))?e.expandedSpeakers=e.expandedSpeakers.filter((function(e){return e!=="".concat(r).concat(t.code)})):e.expandedSpeakers.push("".concat(r).concat(t.code)),i.sendEvent("Open Bio",i.getSpeaker(r)?i.getSpeaker(r)["public_name"]:"-")}},[s?(Object(a["openBlock"])(),Object(a["createBlock"])("img",{key:0,class:["speakerImg rounded-small",e.expandedSpeakers.includes("".concat(r).concat(t.code))?"opened":""],src:s||""},null,10,["src"])):o.talksWithPictures&&i.getWorkshopImg(l)?(Object(a["openBlock"])(),Object(a["createBlock"])("img",{key:1,class:["speakerImg rounded-small",e.expandedSpeakers.includes("".concat(r).concat(t.code))?"opened":""],src:i.getWorkshopImg(l)||""},null,10,["src"])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",mt)),Object(a["createVNode"])("h4",{class:["ml-small",e.expandedSpeakers.includes("".concat(r).concat(t.code))?"color-theme":"color-white"]},Object(a["toDisplayString"])(i.getSpeaker(r)?i.getSpeaker(r)["public_name"]:"-"),3)],8,["onClick"]),Object(a["createVNode"])(a["Transition"],{name:e.expandedSpeakers.includes("".concat(r).concat(t.code))?"fade":""},{default:nt((function(){return[e.expandedSpeakers.includes("".concat(r).concat(t.code))?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:0,innerHTML:i.getSpeaker(r).biography?i.parseMarkdown(i.getSpeaker(r).biography):"-",class:"p-small pt-none speakerBio"},null,8,["innerHTML"])):Object(a["createCommentVNode"])("",!0)]})),_:2},1032,["name"])])})),128))])])],8,["id"])})),128))])})),128))])})),bt=(o("c740"),o("7db0"),o("5319"),o("1ba4")),wt=o("b166"),gt=o("613a"),ft=o("7c5c"),kt={name:"talks",props:{talks:{type:Array,default:function(){return[]}},speakers:{type:Array,default:function(){return[]}},talksWithPictures:{type:Array,default:function(){return[]}},headerLink:{type:String,default:""}},data:function(){return{expandedTalks:[],expandedSpeakers:[]}},computed:{talksByDate:function(){var e=this,t=this.talks.map((function(e){var t=e.start;return new Date(t)})).filter((function(e,t,o){return o.findIndex((function(t){return Object(bt["a"])(e,t)}))===t}));return t.map((function(t){return{date:t,talks:e.talks.filter((function(e){var o=e.start;return Object(bt["a"])(t,new Date(o))}))}}))}},mounted:function(){var e=this,t=new URLSearchParams(window.location.search),o=t.get("talk");if(o){var n=this.talks.find((function(t){var n=t.title;return o===e.slugify(n.en||n)}));if(n){this.openTalk(n);var a=document.getElementById(o),r=a.getBoundingClientRect().top,i=r+window.pageYOffset-150;window.scrollTo({top:i})}}},methods:{format:wt["a"],slugify:function(e){return e.replace(/[ ]/g,"-").replace(/[^a-zA-Z0-9-]/g,"").toLowerCase()},parseMarkdown:function(e){return ft["marked"].parse(e)},getSpeaker:function(e){return this.speakers.find((function(t){return t.code===e}))},sendEvent:function(e,t){window.plausible(e,{props:{value:t}})},getWorkshopImg:function(e){var t=this.talksWithPictures.find((function(t){return t.name===e}));return t?t.avatar:null},openTalk:function(e){this.expandedTalks.push(e.code||e.id),this.sendEvent("Open Talk",e.title);var t="".concat(window.location.href.split("?")[0].split("#")[0],"?talk=").concat(this.slugify(e.title));history.replaceState(null,null,t)},ongoing:function(e){if(1193!==e.room)return!1;var t=new Date(e.start),o=new Date(e.end);return!isNaN(t)&&!isNaN(o)&&Object(gt["a"])(new Date,{start:t,end:o})}}};o("3a6d");const yt=h()(kt,[["render",pt],["__scopeId","data-v-78bf3cc9"]]);var vt=yt,Ot=(o("fb6a"),Object(a["withScopeId"])("data-v-61eb291e"));Object(a["pushScopeId"])("data-v-61eb291e");var Tt={class:"col-sm-12 row card p-xsmall"},jt={class:"col-sm-12 col-md-3 pr-3xsmall"},St={class:"list"},Rt={class:"yearTitle pb-small border-bottom-theme mb-small type-center"},It={class:"yearTitle bg-background pb-small border-bottom-theme mb-small type-center"},At={class:"theme ml-2xsmall mt-xsmall mb-medium"},Ft={key:0,class:"col-sm-9 pl-3xsmall"};Object(a["popScopeId"])();var Dt=Ot((function(e,t,o,n,r,i){return Object(a["openBlock"])(),Object(a["createBlock"])("div",Tt,[Object(a["createVNode"])("div",jt,[Object(a["createVNode"])("div",St,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.$tm("archive.previousTalks.talks"),(function(t){var o=t.year,n=t.list,r=t.playlistLink;return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:o,class:"mb-medium"},[e.$store.state.isMobile?(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],{key:0},[Object(a["createVNode"])("h3",Rt,Object(a["toDisplayString"])(o),1),(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.showAll[o]?n:n.slice(0,3),(function(t){var o=t.authors,n=t.title,r=t.url;return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:r,class:"color-white pt-small pb-small",onClick:function(t){return e.activeTalk=r}},[Object(a["createVNode"])("div",null,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(o,(function(e,t){return Object(a["openBlock"])(),Object(a["createBlock"])("span",{key:e,class:"type-small"},Object(a["toDisplayString"])(e)+Object(a["toDisplayString"])(t!==o.length-1?", ":""),1)})),128))]),Object(a["createVNode"])("a",{href:"https://www.youtube.com/watch?v=".concat(r.split("/embed/")[1]),class:"mt-3xsmall"},Object(a["toDisplayString"])(n),9,["href"])],8,["onClick"])})),128))],64)):(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],{key:1},[Object(a["createVNode"])("a",{href:r,target:"_blank"},[Object(a["createVNode"])("h3",It,Object(a["toDisplayString"])(o),1)],8,["href"]),(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(n,(function(t){var o=t.authors,n=t.title,r=t.url;return Object(a["openBlock"])(),Object(a["createBlock"])("button",{key:r,class:["color-white p-small pl-2xsmall pr-2xsmall rounded",e.activeTalk===r?"bg-background":""],onClick:function(t){return e.activeTalk=r}},[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(o,(function(e,t){return Object(a["openBlock"])(),Object(a["createBlock"])("span",{key:e,class:"type-small"},Object(a["toDisplayString"])(e)+Object(a["toDisplayString"])(t!==o.length-1?", ":""),1)})),128)),Object(a["createVNode"])("div",{class:["mt-3xsmall",e.activeTalk===r?"color-theme":""]},Object(a["toDisplayString"])(n),3)],10,["onClick"])})),128))],64)),e.$store.state.isMobile&&!e.showAll[o]?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:2,class:"flex center",onClick:function(t){return e.showAll[o]=!0}},[Object(a["createVNode"])("button",At," Show all ("+Object(a["toDisplayString"])(n.length)+") ",1)],8,["onClick"])):Object(a["createCommentVNode"])("",!0)])})),128))])]),e.$store.state.isMobile?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ft,[Object(a["createVNode"])("iframe",{class:"rounded",width:"100%",height:"100%",src:e.activeTalk,title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""},null,8,["src"])]))])})),Nt={name:"PreviousTalks",data:function(){return{activeTalk:null,showAll:{2021:!1,2020:!1,2019:!1,2018:!1}}},mounted:function(){this.activeTalk=this.$tm("archive.previousTalks.talks")[0].list[0].url}};o("3f88");const xt=h()(Nt,[["render",Dt],["__scopeId","data-v-61eb291e"]]);var Bt=xt;Object(a["pushScopeId"])("data-v-6b026847");Object(a["popScopeId"])();o("ab6b");var Ct=Object(a["withScopeId"])("data-v-5c31b8e4");Object(a["pushScopeId"])("data-v-5c31b8e4");var Lt={class:"col-sm-12"},Pt={class:"row between"},Vt={key:0,class:"rounded-small bg-grey-dark color-theme px-small pt-3xsmall pb-3xsmall mb-2xsmall",style:{width:"fit-content"}},Et=Object(a["createTextVNode"])(" 🔴 "),Mt={class:"type-small m-none"},Ht={key:0,class:"flex top"},Wt={key:0,class:"rounded-small bg-grey-dark color-theme px-xsmall py-3xsmall mr-xsmall",style:{height:"fit-content","margin-top":"-0.25rem"}},Gt={key:0,class:"col-sm-12 col-md-10 col-md-offset-1"},Ut={width:"100%",class:"video mt-medium mb-medium"},zt={key:1,class:"col-sm-12"},Kt={key:2},qt={key:3,class:"col-sm-12"},Zt={class:"col-sm-12 mb-xsmall"},_t={class:"type-large"},Jt={class:"col-sm-4"},Yt={key:0,class:"col-sm-8"},Qt={class:"col-sm-10 pl-small"};Object(a["popScopeId"])();var Xt=Ct((function(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("link-icon");return Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(o.items,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:t.code,class:["row p-small mt-large col-sm-12","Break"===t.submission_type?"rounded bg-grey-dark":"card"]},[Object(a["createVNode"])("div",Lt,[Object(a["createVNode"])("div",Pt,[Object(a["createVNode"])("div",null,["Keynote"===(t.submission_type.en||t.submission_type)&&e.$store.state.isMobile?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Vt," Keynote ")):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("h3",{class:"mb-3xsmall title",id:i.getSlug(t.title,t)},["Break"===t.submission_type?(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],{key:0},[Object(a["createTextVNode"])(Object(a["toDisplayString"])(t.description.en)+" ("+Object(a["toDisplayString"])(i.getBreakLength(t.slot.start,t.slot.end))+" min) ",1)],64)):"Misc"===t.submission_type?(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],{key:1},[Object(a["createTextVNode"])(Object(a["toDisplayString"])(t.description.en),1)],64)):(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],{key:2},[i.getIsNow(t.slot.start,t.slot.end)?(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],{key:0},[Et],64)):Object(a["createCommentVNode"])("",!0),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(t.title),1)],64))],8,["id"]),Object(a["createVNode"])("p",Mt,Object(a["toDisplayString"])(i.format(new Date(t.slot.start),"MMM dd"))+" "+Object(a["toDisplayString"])(i.getShownTime(t.slot.start))+" - "+Object(a["toDisplayString"])(i.getShownTime(t.slot.end))+" ("+Object(a["toDisplayString"])(Intl.DateTimeFormat().resolvedOptions().timeZone)+") ",1)]),"Misc"!==t.submission_type?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ht,["Keynote"!==(t.submission_type.en||t.submission_type)||e.$store.state.isMobile?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("div",Wt," Keynote ")),e.$store.state.isMobile||"Break"===t.submission_type||o.small?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("a",{key:1,title:"get link to talk",class:"Keynote"===t.submission_type&&"m-xsmall",href:"#".concat(i.getSlug(t.title,t))},[Object(a["createVNode"])(s,{style:{transform:"translateY(2px)"}})],10,["href"]))])):Object(a["createCommentVNode"])("",!0)])]),o.hash&&i.getVideoUrl(t.code)?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Gt,[Object(a["createVNode"])("div",Ut,[Object(a["createVNode"])("iframe",{width:"100%",height:"100%",class:"rounded",src:i.getVideoUrl(t.code),title:"Recording: ".concat(t.title),frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""},null,8,["src","title"])])])):Object(a["createCommentVNode"])("",!0),["Break","Misc"].includes(t.submission_type)?"Break"===t.submission_type?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Kt)):Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("div",zt,[Object(a["createVNode"])("p",{class:["relative",!t.expanded&&t["abstract"]&&t["abstract"].length>100&&"intro-gradient"],innerHTML:i.parseText(t["abstract"])},null,10,["innerHTML"]),t.expanded?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("button",{key:0,class:"theme small block mx-auto",onClick:function(e){return t.expanded=!0}}," Show more ",8,["onClick"])),t.expanded?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:1,innerHTML:i.parseText(t.description)},null,8,["innerHTML"])):Object(a["createCommentVNode"])("",!0)])),"Break"!==t.submission_type?(Object(a["openBlock"])(),Object(a["createBlock"])("div",qt,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(t.speakers,(function(n){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:n.code,class:["row bg-grey-dark mt-small rounded mt-small",e.$store.state.isMobile?"p-xsmall pt-2xsmall":"p-small"]},[e.$store.state.isMobile?(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],{key:0},[Object(a["createVNode"])("div",Zt,[Object(a["createVNode"])("h4",_t,Object(a["toDisplayString"])(n.name),1)]),Object(a["createVNode"])("div",Jt,[Object(a["createVNode"])("img",{src:n.avatar||"".concat(e.publicPath,"/img/speaker_img_placeholder.jpg"),class:"rounded"},null,8,["src"])]),n.biography?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Yt,[Object(a["createVNode"])("p",{class:["type-small m-none pl-2xsmall relative",n.expanded?"":"bio-trunc pb-none bio-gradient"],style:{"line-height":"1.4"},innerHTML:i.parseText(n.biography)},null,10,["innerHTML"]),n.expanded?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("button",{key:0,onClick:function(e){return n.expanded=!0},class:"pl-2xsmall color-theme type-underline type-small"}," Show more ",8,["onClick"]))])):Object(a["createCommentVNode"])("",!0)],64)):(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],{key:1},[Object(a["createVNode"])("div",{class:o.small?"col-sm-1":"col-sm-2"},[Object(a["createVNode"])("img",{src:n.avatar||"".concat(e.publicPath,"/img/speaker_img_placeholder.jpg"),class:"rounded"},null,8,["src"])],2),Object(a["createVNode"])("div",Qt,[Object(a["createVNode"])("h4",null,Object(a["toDisplayString"])(n.name),1),Object(a["createVNode"])("div",{class:["type-small mb-none relative",n.expanded?"":"bio-trunc bio-gradient"]},[Object(a["createVNode"])("div",{innerHTML:i.parseText(n.biography),id:"".concat(t.code).concat(n.code)},null,8,["innerHTML","id"])],2),n.expanded?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("button",{key:0,onClick:function(e){return n.expanded=!0},class:"pl-2xsmall color-theme type-underline type-small",style:{transform:"translateY(0.25rem)"}}," Show more ",8,["onClick"]))])],64))],2)})),128))])):Object(a["createCommentVNode"])("",!0)],2)})),128)})),$t=(o("4160"),o("159b"),o("4795"),o("25f0"),o("c0c4")),eo=o("3452"),to=o.n(eo),oo=o("8c6f"),no=o("ade3"),ao=Object(a["withScopeId"])("data-v-36093906");Object(a["pushScopeId"])("data-v-36093906");var ro=Object(a["createVNode"])("path",{d:"M22.8,6.6C22.9,6.3,23,5.9,23,5.5c0-0.9-0.4-1.9-1.2-2.6l-0.7-0.7l0,0c-0.7-0.7-1.5-1.1-2.4-1.1\n c-0.9-0.1-1.7,0.2-2.2,0.8l-5,5c-0.6,0.6-0.8,1.4-0.8,2.2c0.1,0.6,0.3,1.2,0.6,1.8l0.1,0.1l0.1-0.1l1-1l0,0l0-0.1\n c-0.1-0.2-0.1-0.4-0.2-0.6c0-0.4,0.1-0.8,0.4-1l5-5c0.3-0.3,0.7-0.4,1.1-0.4c0.4,0,0.8,0.2,1.2,0.6L20.8,4\n c0.7,0.7,0.8,1.7,0.2,2.2l-5,5c-0.3,0.3-0.6,0.4-1,0.4c-0.2,0-0.4-0.1-0.6-0.2l-0.1,0l0,0l-1,1l-0.1,0.1l0.1,0.1\n c0.5,0.4,1.2,0.6,1.8,0.6c0.9,0.1,1.7-0.2,2.2-0.8l5-5C22.5,7.2,22.7,6.9,22.8,6.6z"},null,-1),io=Object(a["createVNode"])("path",{d:"M13.3,15c0-0.6-0.3-1.2-0.6-1.8l-0.1-0.1l-0.1,0.1l-1,1l0,0l0,0.1c0.1,0.2,0.1,0.4,0.2,0.6\n c0,0.4-0.1,0.8-0.4,1l-5,5c-0.3,0.3-0.7,0.4-1.1,0.4c-0.4,0-0.8-0.2-1.2-0.6L3.2,20c-0.7-0.7-0.8-1.7-0.2-2.2l5-5\n c0.3-0.3,0.6-0.4,1-0.4c0.2,0,0.4,0.1,0.6,0.2l0.1,0l0,0l1-1l0.1-0.1l-0.1-0.1C10.2,11,9.6,10.8,9,10.7c-0.9-0.1-1.7,0.2-2.2,0.8\n l-5,5c-0.3,0.3-0.5,0.6-0.6,0.9C1.1,17.7,1,18.1,1,18.5c0,0.9,0.4,1.9,1.2,2.6l0.7,0.7c0.7,0.7,1.5,1.1,2.4,1.1\n c0.9,0.1,1.7-0.2,2.2-0.8l5-5C13.1,16.6,13.4,15.9,13.3,15z"},null,-1),so=Object(a["createVNode"])("path",{d:"M8.2,15.8C8.3,15.9,8.5,16,8.7,16c0.2,0,0.3-0.1,0.5-0.2l6.7-6.7c0.2-0.2,0.3-0.6,0-0.9\n C15.7,8.1,15.5,8,15.3,8c-0.2,0-0.3,0.1-0.5,0.2l-6.7,6.7C8,15.1,7.9,15.5,8.2,15.8z"},null,-1);Object(a["popScopeId"])();var lo=ao((function(e,t,o,n,r,i){var s;return Object(a["openBlock"])(),Object(a["createBlock"])("svg",{xmlns:"http://www.w3.org/2000/svg",height:"20px",viewBox:"0 0 24 24",width:"20px",class:(s={},Object(no["a"])(s,"fill-white","white"===o.color),Object(no["a"])(s,"fill-theme","theme"===o.color),s)},[ro,io,so],2)})),co={name:"LinkIcon",props:{color:{type:String,default:"white"}}};o("5ce5");const uo=h()(co,[["render",lo],["__scopeId","data-v-36093906"]]);var ho=uo,mo={name:"Talks2023",components:{LinkIcon:ho},props:{items:{type:Array,required:!0},small:{type:Boolean,default:!1},hash:{type:String}},data:function(){return{publicPath:"dist/",token:{},error:!1,dataReady:!0,recordings:{CYPVMT:"U2FsdGVkX1/lIc0urbwV8+qSG4nLnpwBGGiKT5yG7tM=",DWKDNS:"U2FsdGVkX1843EDgruV0d70RFVSEazvu5l6aIYOZ66s=",DYRXQH:"U2FsdGVkX1/R8K6P1dT/IuT9o6ebsf9TWulodtILI5g=",U9UFXV:"U2FsdGVkX1+2t9MUVfwKbevDGwiPDYvw3bs87qVmHSE=",HYDNVM:"U2FsdGVkX18eO+f6AUuwlRwZHi1cJpfw5odT13AgX94=",HJ9B3R:"U2FsdGVkX19ngWzxSC+IXaInRFUbCev03NSasj/Y/AQ=",X9CQEZ:"U2FsdGVkX1+EYItX3WtoInuTldwjhcaQoUhAEIc29/Q=",N3QCPT:"U2FsdGVkX19dmKYJCwOvF1s2HC4pQQLa76IVW7R+BCM=",JAXTEX:"U2FsdGVkX1/z9ItKKBmHoQpca5+i1M44ubzbLejcteA=",DRXANT:"U2FsdGVkX1+M16KuXg2N9UvXgYzAGcRJOgxDRhNMOX0=",SAMETK:"U2FsdGVkX1+0mwbMa5tzAlgdg+e29D8XFi5agSq3iJo=",K3EA3U:"U2FsdGVkX1+THqyYgZ5y8qi/ZD2yp2QzvLcg9WmNCBs=",AW8NLK:"U2FsdGVkX18ZXnwXbh7X7Tt61E4tTbSRZeC0WbtwvJg=",XYAJN3:"U2FsdGVkX18pfOS84kYXSghqdK3gJSsX7az0NakFnRs=",BFWKHL:"U2FsdGVkX19FlLMd1+Po4OTDxY3yqzMn/Lw8E4mhcpQ=",T8KEQR:"U2FsdGVkX18Mx2k9ptU2+zbhdkEjSJahfyf06CEkniM=",HYQUWN:"U2FsdGVkX1/MHvTM+IfVJH7xtdDlh7BWvVYWUoVTDqI=",WSBCXF:"U2FsdGVkX1/bpDvejk5NWlzFVGRvFiODKG5D3G5XVkk=",HKSQYD:"U2FsdGVkX1/LZnM9gP6/i3nw9xikObHK/kmIOeyoXwk=",NLM3AS:"U2FsdGVkX19TQOQxgj9co2haJvuJjNqIxma7FFZx7Ms=",AXBYUP:"U2FsdGVkX197y9tVXFPhS0SL+XM4o365DfYdnJeVHk0=",XWZVHN:"U2FsdGVkX1/187Wksg7wNwE7SUSoszg3m63Oy/YooSM=",ASXKLW:"U2FsdGVkX195OYR9jfdAjdVoX/daiW6Slw+tVouNKJI=",MGCBMF:"U2FsdGVkX1+C35mtZtNFaN3omblmryCPSjXhMV2tlLg=",CKHB9J:"U2FsdGVkX18h15zwTAeNoZvgrHfwZGeW6/FEqahbn7s=",MTRCMK:"U2FsdGVkX185SyiprfNdsRjw98AyaF4Tp56eGGXs5YI=",AULYMA:"U2FsdGVkX1+UQEIBg+tndNgES6UM/2aaCyZzzoeH9+w=",ZSLPJF:"U2FsdGVkX1+OebszkRP3OcIGjCXhiZfzN9xYj31260c=",PDKBJK:""},dateNow:new Date}},mounted:function(){var e=this;this.items.forEach((function(e){e.speakers&&e.speakers.forEach((function(t){var o=document.getElementById("".concat(e.code).concat(t.code));o&&o.offsetHeight<100&&(t.expanded=!0)}))})),setInterval((function(){e.dateNow=new Date}),1e4)},methods:{format:wt["a"],getShownTime:function(e){var t=new Date(e),o=t.getHours(),n=t.getMinutes();return"".concat(o,":").concat(0===n?"00":n)},parseText:function(e){return $t["sanitize"](ft["marked"].parse(e||""))},getSlug:function(e,t){var o,n;if(!e)return"";var a="Gather Town"===(null===t||void 0===t||null===(o=t.slot)||void 0===o||null===(n=o.room)||void 0===n?void 0:n.en);return a?"online-".concat(e.replace(/[ ]/g,"-").replace(/[^a-zA-Z0-9-]/g,"").toLowerCase()):e.replace(/[ ]/g,"-").replace(/[^a-zA-Z0-9-]/g,"").toLowerCase()},getBreakLength:function(e,t){return Object(oo["a"])(new Date(t),new Date(e))},getVideoUrl:function(e){if("undefined"!==typeof e){var t=this.recordings[e];if(t)try{var o=to.a.AES.decrypt(t,this.hash).toString(to.a.enc.Utf8);return"https://www.youtube-nocookie.com/embed/".concat(o,"?rel=0&autoplay=0&mute=0&controls=1&origin=https%3A%2F%2Frobocon.io&playsinline=0&showinfo=0&modestbranding=1")}catch(n){return void console.error("Code ".concat(e," did not have a valid recording."))}else console.error("Code ".concat(e," did not have a recording."))}},getIsNow:function(e,t){return!(!e||!t)&&Object(gt["a"])(this.dateNow,{start:new Date(e),end:new Date(t)})}}};o("e645");const po=h()(mo,[["render",Xt],["__scopeId","data-v-5c31b8e4"]]);var bo=po,wo=Object(a["withScopeId"])("data-v-5c01f759");Object(a["pushScopeId"])("data-v-5c01f759");var go={class:"mt-small w-100"},fo={class:"flex between"},ko={class:"type-small m-none"},yo={key:2,class:"details"},vo=Object(a["createVNode"])("summary",null," Full description ",-1),Oo={key:3,class:"mt-xlarge"},To={class:"bio"},jo={class:"middle",style:{display:"inline-flex"}},So={class:"mr-small"},Ro={class:""},Io={class:"type-small type-underline"},Ao={class:"col-sm-12 p-medium pl-large pr-small"};Object(a["popScopeId"])();var Fo=wo((function(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("link-icon");return Object(a["openBlock"])(),Object(a["createBlock"])("div",go,[(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(["live","online"],(function(t){return Object(a["createVNode"])("button",{key:t,class:["theme mr-xsmall",e.selectedTrack===t&&"active"],onClick:function(o){return e.selectedTrack=t}},Object(a["toDisplayString"])(t),11,["onClick"])})),64)),(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(i.shownTalks,(function(t){var o,n,r;return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:t.id,class:["mt-large card p-small",t.isBreak&&"bg-secondary sharper"]},[t.isBreak?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("a",{key:0,class:"anchor",id:i.getSlug(t.title,e.selectedTrack)},null,8,["id"])),Object(a["createVNode"])("div",fo,[Object(a["createVNode"])("h3",null,Object(a["toDisplayString"])(t.isBreak?t.description.en:t.title),1),e.$store.state.isMobile||t.isBreak?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("a",{key:0,title:"get link to talk",href:"#".concat(i.getSlug(t.title,e.selectedTrack))},[Object(a["createVNode"])(s,{style:{transform:"translateY(2px)"}})],8,["href"]))]),Object(a["createVNode"])("p",ko,Object(a["toDisplayString"])(i.format(new Date((null===(o=t.slot)||void 0===o?void 0:o.start)||t.start),"MMM dd"))+" "+Object(a["toDisplayString"])(i.getShownTime((null===(n=t.slot)||void 0===n?void 0:n.start)||t.start))+" - "+Object(a["toDisplayString"])(i.getShownTime((null===(r=t.slot)||void 0===r?void 0:r.end)||t.end))+" ("+Object(a["toDisplayString"])(Intl.DateTimeFormat().resolvedOptions().timeZone)+") ",1),t["abstract"]?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:1,innerHTML:i.parseText(t["abstract"])},null,8,["innerHTML"])):Object(a["createCommentVNode"])("",!0),!t.isBreak&&t.description?(Object(a["openBlock"])(),Object(a["createBlock"])("details",yo,[vo,Object(a["createVNode"])("div",{innerHTML:i.parseText(t.description),class:"p-small"},null,8,["innerHTML"])])):Object(a["createCommentVNode"])("",!0),t.isBreak?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("h3",Oo,"Presenters")),(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(t.speakers,(function(t){var o,n;return Object(a["openBlock"])(),Object(a["createBlock"])("details",{key:t.code,class:"card sharper mb-medium mt-medium"},[Object(a["createVNode"])("summary",To,[Object(a["createVNode"])("div",jo,[Object(a["createVNode"])("div",So,[Object(a["createVNode"])("img",{src:t.avatar||"".concat(e.publicPath,"/img/speaker_img_placeholder.jpg"),class:"rounded-small block",style:{width:"5rem","aspect-ratio":"1","object-fit":"cover"}},null,8,["src"])]),Object(a["createVNode"])("div",Ro,[Object(a["createVNode"])("h4",Io,Object(a["toDisplayString"])((null===(o=i.getSpeaker(t.code))||void 0===o?void 0:o.name)||t.name),1)])])]),Object(a["createVNode"])("div",Ao,[Object(a["createVNode"])("p",{class:"type-small m-none pl-2xsmall",innerHTML:i.parseText(null===(n=i.getSpeaker(t.code))||void 0===n?void 0:n.biography)||"-"},null,8,["innerHTML"])])])})),128))],2)})),128))])})),Do=o("2909"),No=(o("4e82"),{name:"Talks24",props:{speakers:{type:Array,required:!0}},components:{LinkIcon:ho},computed:{shownTalks:function(){return"live"===this.selectedTrack?this.talksLive:"online"===this.selectedTrack?this.talksOnline:[]}},created:function(){var e=this;fetch("https://pretalx.com/api/events/robocon-2024/schedules/latest/").then((function(e){return e.json()})).then((function(t){var o,a,r,i;e.talksLive=[].concat(Object(Do["a"])(null===t||void 0===t||null===(o=t.slots)||void 0===o?void 0:o.filter((function(e){var t,o;return"RoboCon"===(null===e||void 0===e||null===(t=e.slot)||void 0===t||null===(o=t.room)||void 0===o?void 0:o.en)}))),Object(Do["a"])(null===t||void 0===t||null===(a=t.breaks)||void 0===a?void 0:a.filter((function(e){var t;return"RoboCon"===(null===e||void 0===e||null===(t=e.room)||void 0===t?void 0:t.en)})).map((function(e){return Object(n["a"])(Object(n["a"])({},e),{},{isBreak:!0})})))).sort((function(e,t){var o,n;return new Date((null===(o=e.slot)||void 0===o?void 0:o.start)||e.start)t["Proposal title"]?1:0}))}},methods:{format:wt["a"],getShownTime:function(e){var t=new Date(e),o=t.getHours(),n=t.getMinutes();return"".concat(o,":").concat(0===n?"00":n)},parseText:function(e){return ft["marked"].parse(e||"")},getSlug:function(e){return e?"".concat(e.replace(/[ ]/g,"-").replace(/[^a-zA-Z0-9-]/g,"").toLowerCase()):""},getSpeaker:function(e){return this.speakers.find((function(t){var o=t.code;return o===e}))}},mounted:function(){var e=this;setTimeout((function(){console.log(e.speakers)}),1e3)}};o("ab60");const tn=h()(en,[["render",Xo],["__scopeId","data-v-1cf01132"]]);var on=tn,nn=Object(a["withScopeId"])("data-v-732da9b4");Object(a["pushScopeId"])("data-v-732da9b4");var an={class:"mt-small w-100"},rn={class:"flex between"},sn={class:"type-small m-none"},ln={class:"details"},cn=Object(a["createVNode"])("summary",null," Full description ",-1),dn=Object(a["createVNode"])("h3",{class:"pl-small"}," Lessons learned ",-1),un=Object(a["createVNode"])("h3",{class:"pl-small"}," Intended audience ",-1),hn=Object(a["createVNode"])("h3",{class:"pl-small"}," Suitable for ",-1),mn=Object(a["createVNode"])("h3",{class:"mt-xlarge"},"Presenters",-1),pn={class:"bio"},bn={class:"middle",style:{display:"inline-flex"}},wn={class:"mr-small"},gn={class:""},fn={class:"type-small type-underline"},kn={class:"col-sm-12 p-medium pl-large pr-small"};Object(a["popScopeId"])();var yn=nn((function(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("link-icon");return Object(a["openBlock"])(),Object(a["createBlock"])("div",an,[(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(["live","online"],(function(t){return Object(a["createVNode"])("button",{key:t,class:["theme mr-xsmall",e.shownTutorials===t&&"active"],onClick:function(o){return e.shownTutorials=t}},Object(a["toDisplayString"])(t),11,["onClick"])})),64)),(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])("live"===e.shownTutorials?e.tutorials:e.tutorialsOnline,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:t.id,class:" mt-large card p-small"},[Object(a["createVNode"])("a",{class:"anchor",id:i.getSlug(t["Proposal title"],e.shownTutorials)},null,8,["id"]),Object(a["createVNode"])("div",rn,[Object(a["createVNode"])("h3",null,Object(a["toDisplayString"])(t["Proposal title"]),1),e.$store.state.isMobile?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("a",{key:0,title:"get link to tutorial",href:"#".concat(i.getSlug(t["Proposal title"],e.shownTutorials))},[Object(a["createVNode"])(s,{style:{transform:"translateY(2px)"}})],8,["href"]))]),Object(a["createVNode"])("p",sn,Object(a["toDisplayString"])(i.format(new Date(t.Start),"MMM dd"))+" "+Object(a["toDisplayString"])(i.getShownTime(t.Start))+" - "+Object(a["toDisplayString"])(i.getShownTime(t.End))+" ("+Object(a["toDisplayString"])(Intl.DateTimeFormat().resolvedOptions().timeZone)+") ",1),Object(a["createVNode"])("div",{innerHTML:i.parseText(t.Abstract)},null,8,["innerHTML"]),Object(a["createVNode"])("details",ln,[cn,Object(a["createVNode"])("div",{innerHTML:i.parseText(t.Description),class:"p-small"},null,8,["innerHTML"]),dn,Object(a["createVNode"])("div",{innerHTML:i.parseText(t["Lessons Learned"]),class:"p-small"},null,8,["innerHTML"]),un,Object(a["createVNode"])("div",{innerHTML:i.parseText(t["Describe your intended audience"]),class:"p-small"},null,8,["innerHTML"]),hn,Object(a["createVNode"])("div",{innerHTML:i.parseText(t["Is this suitable for ..?"]),class:"p-small"},null,8,["innerHTML"])]),mn,(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(t["Speaker IDs"],(function(t,o){var n,r,s,l;return Object(a["openBlock"])(),Object(a["createBlock"])("details",{key:t,class:"card sharper mb-medium mt-medium"},[Object(a["createVNode"])("summary",pn,[Object(a["createVNode"])("div",bn,[Object(a["createVNode"])("div",wn,[Object(a["createVNode"])("img",{src:(null===(n=i.getSpeaker(t))||void 0===n?void 0:n.avatar)||"".concat(e.publicPath,"/img/speaker_img_placeholder.jpg"),class:"rounded-small block",style:{width:"5rem","aspect-ratio":"1","object-fit":"cover"}},null,8,["src"])]),Object(a["createVNode"])("div",gn,[Object(a["createVNode"])("h4",fn,Object(a["toDisplayString"])((null===(r=i.getSpeaker(t))||void 0===r?void 0:r.name)||(null===(s=e.workshop["Speaker names"])||void 0===s?void 0:s[o])||"-"),1)])])]),Object(a["createVNode"])("div",kn,[Object(a["createVNode"])("p",{class:"type-small m-none pl-2xsmall",innerHTML:i.parseText(null===(l=i.getSpeaker(t))||void 0===l?void 0:l.biography)||"-"},null,8,["innerHTML"])])])})),128))])})),128))])})),vn={name:"Tutorials24",components:{LinkIcon:ho},props:{speakers:{type:Array,required:!0}},computed:{workshops:function(){return $o.filter((function(e){return e["Session type"].en.includes("Workshop")}))}},created:function(){var e=this;fetch("https://pretalx.com/api/events/robocon-2024/schedules/latest/").then((function(e){return e.json()})).then((function(t){e.tutorials=$o.filter((function(e){var t,o;return"Tutorial"===(null===(t=e["Session type"])||void 0===t?void 0:t.en)&&"Eficode"===(null===(o=e.Room)||void 0===o?void 0:o.en)})).sort((function(e,t){return new Date(e.Start)1280),window.addEventListener("resize",(function(){e.$store.commit("SET_IS_MOBILE",window.innerWidth<768),e.$store.commit("SET_IS_DESKTOP",window.innerWidth>1280)})),window.addEventListener("click",(function(){return document.body.classList.remove("accessible")})),window.addEventListener("keydown",(function(e){var t=e.key;"Tab"===t&&document.body.classList.add("accessible")}));var t=new URLSearchParams(window.location.search),o=Object.fromEntries(t.entries()).attendee;"gather"===o&&(this.fullScreen=!0)},watch:{"$i18n.locale":function(){document.documentElement.lang=this.$i18n.locale}},methods:{scrollTo:function(e){var t=document.getElementById(e);t&&t.scrollIntoView({behavior:"smooth"})}}};o("b88e");const Nn=h()(Dn,[["render",i]]);var xn=Nn,Bn=o("6c02"),Cn=Object(a["withScopeId"])("data-v-dfea1370");Object(a["pushScopeId"])("data-v-dfea1370");var Ln={class:"container narrow row middle p-small pt-medium pb-medium"},Pn={class:"col-sm-12 center start-lg col-lg-9 col-lg-offset-3 flex"},Vn=Object(a["createVNode"])("h1",{class:"color-white"},[Object(a["createTextVNode"])("RBCN"),Object(a["createVNode"])("span",{class:"color-theme"},"24")],-1),En={class:"container narrow border-top-theme"},Mn=Object(a["createVNode"])("p",null,[Object(a["createTextVNode"])(" RoboCon is the crown jewel of the "),Object(a["createVNode"])("span",{class:"color-theme"},"Robot Framework community"),Object(a["createTextVNode"])(". Once again we are gathering together as a community to learn, exchange knowledge and have a great time with one another. ")],-1),Hn=Object(a["createVNode"])("p",{class:"mb-medium"},[Object(a["createTextVNode"])(" For "),Object(a["createVNode"])("span",{class:"color-theme"},"RoboCon 2024"),Object(a["createTextVNode"])(" we will have a familiar fully in-person conference and then a few weeks later a full online conference like the year before. ")],-1),Wn={class:"col-sm-12 row center between-md"},Gn=Object(a["createTextVNode"])(" Main Conference"),Un=Object(a["createVNode"])("br",null,null,-1),zn=Object(a["createTextVNode"])("In-person"),Kn=Object(a["createVNode"])("br",null,null,-1),qn=Object(a["createTextVNode"])(" 1200 €"),Zn=Object(a["createVNode"])("span",{class:"type-xsmall"}," + VAT",-1),_n=Object(a["createTextVNode"])(" FEB 08-09 "),Jn=Object(a["createTextVNode"])(" 2024 "),Yn=Object(a["createTextVNode"])(" Main Conference"),Qn=Object(a["createVNode"])("br",null,null,-1),Xn=Object(a["createTextVNode"])("Online "),$n=Object(a["createTextVNode"])(" 300 €"),ea=Object(a["createVNode"])("span",{class:"type-xsmall"}," + VAT",-1),ta=Object(a["createTextVNode"])(" FEB 28-29 "),oa=Object(a["createTextVNode"])(" 2024 "),na=Object(a["createVNode"])("p",{class:"mt-large"},[Object(a["createVNode"])("span",{class:"color-theme"},"The in-person conference"),Object(a["createTextVNode"])(" will be held in Helsinki 8-9 February, 2024. ")],-1),aa=Object(a["createVNode"])("p",null," Please also reserve the 6th and 7th of February for learning in the workshops and for the Community Day. The Community Day is an open space for the community to learn, discuss and advance topics related to Robot Framework. This might include workshop participants practicing what they learned with the help of the workshop facilitators. ",-1),ra=Object(a["createVNode"])("p",null," Moreover, on the 10th of February there will be a walking tours and other optional activities in Helsinki. ",-1),ia=Object(a["createVNode"])("details",{class:"pl-small"},[Object(a["createVNode"])("summary",null," Plans for tour day (10th Feb) "),Object(a["createVNode"])("h3",{class:"mt-small"}," Helsinki Walk with Pekka Klärck "),Object(a["createVNode"])("p",null," Take a walk through some neighborhoods with Pekka Klärck. Starting in central Helsinki, Pekka will lead you up through the neighborhoods of Kallio, Vallila, and over towards Pasila. Along the way you will be visiting a famous food market hall, seeing beautiful parts of the city outside of the city central, stop for some Coffee break at Sävy or Helsingin Kahvipaahtimo. Later there will be an option for a brewery tour at Vallilan Panimo and possible sauna at a local community sauna. "),Object(a["createVNode"])("h3",null," Suomenlinna tour with Jenna, Eeva and Ed "),Object(a["createVNode"])("p",null," This group will visit Suomenlinna, an island within the city harbor just south of Market Square, and viewable from this year’s conference venue. Taking a short 15 minute, 3€ ferry/public transportation will travel from Market Square. Jenna and Eeva, both Robot Framework community members and Helsinki locals will travel with us and share from their experiences. On the island there are opportunities for exploring the islands, enjoying some food. There is also a 13€ per person Guided tour which we could take advantage of. This tour will end mid afternoon. "),Object(a["createVNode"])("p",null," Both options will start late morning. If weather is really bad we will have backup plans probably to the local museums of which there are about half a dozen in the immediate area. More information will be published as we get closer to the conference dates. ")],-1),sa=Object(a["createVNode"])("p",null," In-person ticket includes a complimentary online conference ticket. ",-1),la=Object(a["createVNode"])("p",null,[Object(a["createVNode"])("span",{class:"color-theme"},"The online conference"),Object(a["createTextVNode"])(" will take place 28-29 February, 2024 followed by the community day on the 1st of March. ")],-1),ca=Object(a["createVNode"])("div",{class:"row col-sm-12"},[Object(a["createVNode"])("div",{class:"col-sm-12 col-md-6 px-small"},[Object(a["createVNode"])("div",{class:"bg-secondary p-medium pt-large pb-large rounded mb-small"},[Object(a["createVNode"])("h2",null,"In-person"),Object(a["createVNode"])("div",null,"Helsinki, Finland"),Object(a["createVNode"])("a",{href:"https://www.scandichotels.com/hotels/finland/helsinki/scandic-grand-marina/meetings-conferences-events/scandic-marina-congress-center"},"Marina Congress Center"),Object(a["createVNode"])("span",{class:"line-height-1"},[Object(a["createVNode"])("div",{class:"mt-small color-theme font-title type-body"},"Feb 6th"),Object(a["createTextVNode"])(" Workshops - "),Object(a["createVNode"])("a",{href:"https://tickets.robotframework.org/robocon-2024/3997180/"},"tickets"),Object(a["createVNode"])("div",{class:"mt-small color-theme font-title type-body"},"7th"),Object(a["createTextVNode"])(" Community Day (9am) @ "),Object(a["createVNode"])("a",{href:"https://maps.app.goo.gl/6QFBjcWk8iCaHQCG6",target:"_blank"},"Eficode"),Object(a["createVNode"])("div",{class:"mt-small color-theme font-title type-body"},"8th"),Object(a["createTextVNode"])(" Main Conference "),Object(a["createVNode"])("div",null,"+ Community Dinner"),Object(a["createVNode"])("div",{class:"mt-small color-theme font-title type-body"},"9th"),Object(a["createTextVNode"])(" Main Conference "),Object(a["createVNode"])("div",null,"+ After Party"),Object(a["createVNode"])("div",{class:"mt-small color-theme font-title type-body"},"10th"),Object(a["createTextVNode"])(" Fun activity ")])])]),Object(a["createVNode"])("div",{class:"col-sm-12 col-md-6 px-small"},[Object(a["createVNode"])("div",{class:"bg-secondary p-medium pt-large pb-2xlarge rounded mb-small"},[Object(a["createVNode"])("h2",null,"Online"),Object(a["createVNode"])("a",{href:"https://www.gather.town/"},"Gather.town"),Object(a["createVNode"])("span",{class:"line-height-1"},[Object(a["createVNode"])("div",{class:"mt-small color-theme font-title type-body"},"Feb 28th"),Object(a["createTextVNode"])(" Main Conference "),Object(a["createVNode"])("div",{class:"mt-small color-theme font-title type-body"},"29th"),Object(a["createTextVNode"])(" Main Conference "),Object(a["createVNode"])("div",{class:"mt-small color-theme font-title type-body"},"Mar 1st"),Object(a["createTextVNode"])(" Community Day ")])])])],-1),da=Object(a["createVNode"])("p",null,[Object(a["createTextVNode"])(" Tutorials offer you a sneak peek into specific topics, each uniquely designed for different levels of expertise. This year, we're excited to provide "),Object(a["createVNode"])("span",{class:"weight-bold"},"free beginner-level tutorials during the Community Day of our in-person conference."),Object(a["createTextVNode"])(),Object(a["createVNode"])("a",{href:"https://tickets.robotframework.org/robocon-2024/3997179/"},"Enroll here, please!")],-1),ua=Object(a["createVNode"])("p",null,[Object(a["createTextVNode"])(" Moreover, a wide array of exceptional online tutorials will be spread across the days before and after the online conference, "),Object(a["createVNode"])("span",{class:"type-underline-theme weight-bold"},"accessible exclusively to ticket holders."),Object(a["createTextVNode"])(" Don't miss this opportunity to enhance your skills and knowledge in a tailored, engaging environment. ")],-1),ha=Object(a["createVNode"])("p",null," The in-person conference week kicks off with our exceptional hands-on workshops. These serve as your gateway to a deep dive into specific topics, allowing you to learn practically in a small group setting. ",-1),ma=Object(a["createVNode"])("p",null," We offer a diverse range of workshops covering various topics and skill levels. Be sure to choose one that's just right for you! ",-1),pa=Object(a["createVNode"])("p",null,[Object(a["createTextVNode"])(" If you are looking for "),Object(a["createVNode"])("span",{class:"color-theme"},"accommodation"),Object(a["createTextVNode"])(", you may reserve a hotel at a discounted rate via the following links: ")],-1),ba=Object(a["createVNode"])("div",{class:"row"},[Object(a["createVNode"])("div",{class:"col-sm-6 pr-medium pl-small"},[Object(a["createVNode"])("img",{style:{width:"100%"},class:"rounded",src:"https://cache.marriott.com/content/dam/marriott-renditions/HELAK/helak-corner-suite-6602-hor-clsc.jpg?output-quality=70&interpolation=progressive-bilinear&downsize=*:423px"}),Object(a["createVNode"])("a",{class:"block type-center",href:"https://bit.ly/HotelU14"},"Hotel U14")]),Object(a["createVNode"])("div",{class:"col-sm-6 pl-medium pr-small"},[Object(a["createVNode"])("img",{style:{width:"100%"},class:"rounded",src:"https://be.synxis.com/shs-ngbe-image-resizer/images/hotel/69715/images/room/170222_f6_huonexxx_001.jpg"}),Object(a["createVNode"])("a",{class:"block type-center",href:"https://bit.ly/HotelF6"},"Hotel F6")])],-1);Object(a["popScopeId"])();var wa=Cn((function(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("globe-rbcn"),l=Object(a["resolveComponent"])("news-banner"),c=Object(a["resolveComponent"])("Ticket"),d=Object(a["resolveComponent"])("sponsors"),u=Object(a["resolveComponent"])("page-section"),h=Object(a["resolveComponent"])("tutorials24"),m=Object(a["resolveComponent"])("workshops24"),p=Object(a["resolveComponent"])("talks24");return Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,[Object(a["createVNode"])("div",Ln,[Object(a["createVNode"])("div",Pn,[Vn,Object(a["createVNode"])("div",{class:["hidden-sm",e.isFirefox?"":"pt-medium"]},[Object(a["createVNode"])(s)],2)])]),""!==e.$t("newsBanner")?(Object(a["openBlock"])(),Object(a["createBlock"])(l,{key:0},{default:Cn((function(){return[Object(a["createVNode"])("div",{innerHTML:e.$t("newsBanner")},null,8,["innerHTML"])]})),_:1})):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("div",En,[Object(a["createVNode"])(u,{"title-id":"intro",title:e.$t("home.intro.title")},{default:Cn((function(){return[Mn,Hn,Object(a["createVNode"])("div",Wn,[Object(a["createVNode"])(c,{link:"https://tickets.robotframework.org/robocon-2024/3913179/",class:"mb-small"},{title:Cn((function(){return[Gn,Un,zn,Kn]})),price:Cn((function(){return[qn,Zn]})),left:Cn((function(){return[_n]})),right:Cn((function(){return[Jn]})),_:1}),Object(a["createVNode"])(c,{link:"https://tickets.robotframework.org/robocon-2024/3913180/"},{title:Cn((function(){return[Yn,Qn,Xn]})),price:Cn((function(){return[$n,ea]})),left:Cn((function(){return[ta]})),right:Cn((function(){return[oa]})),_:1})]),Object(a["createVNode"])(d,{sponsors:e.$tm("home.sponsors")},null,8,["sponsors"]),na,aa,ra,ia,sa,la,ca]})),_:1},8,["title"]),Object(a["createVNode"])(u,{"title-id":"tutorials",title:"Tutorials"},{default:Cn((function(){return[da,ua,Object(a["createVNode"])(h,{speakers:e.speakers},null,8,["speakers"])]})),_:1}),Object(a["createVNode"])(u,{"title-id":"workshops",title:"Workshops"},{default:Cn((function(){return[ha,ma,Object(a["createVNode"])(m,{speakers:e.speakers},null,8,["speakers"])]})),_:1}),Object(a["createVNode"])(u,{"title-id":"talks",title:"Talks"},{default:Cn((function(){return[Object(a["createVNode"])(p,{speakers:e.speakers},null,8,["speakers"])]})),_:1}),Object(a["createVNode"])(u,{"title-id":"hotels",title:"Hotels"},{default:Cn((function(){return[pa,ba]})),_:1})])],64)})),ga=o("3835"),fa=o("1da1"),ka=(o("96cf"),o("466d"),o("5db7"),o("73d9"),{name:"App",components:{PageSection:Ne,NewsBanner:b,Ticket:ot,Talks24:Bo,Workshops24:on,Tutorials24:Tn,Sponsors:ze,GlobeRbcn:Fn},data:function(){return{isFirefox:!1,speakers:[]}},created:function(){var e=this;navigator.userAgent&&navigator.userAgent.match(/firefox|fxios/i)&&(this.isFirefox=!0);var t=new URLSearchParams(window.location.search),o=Object.fromEntries(t.entries());o.auth&&this.$router.replace({name:"Robocon2023",query:o}),Promise.all([fetch("https://cfp.robocon.io/api/events/robocon-2024/submissions/"),fetch("https://cfp.robocon.io/api/events/robocon-2024/submissions/?offset=25"),fetch("https://cfp.robocon.io/api/events/robocon-2024/submissions/?offset=50")]).then(function(){var t=Object(fa["a"])(regeneratorRuntime.mark((function t(o){var n,a,r,i,s,l,c,d;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return n=Object(ga["a"])(o,3),a=n[0],r=n[1],i=n[2],t.next=3,a.json();case 3:return s=t.sent,t.next=6,r.json();case 6:return l=t.sent,t.next=9,i.json();case 9:c=t.sent,d=[].concat(Object(Do["a"])(s.results),Object(Do["a"])(l.results),Object(Do["a"])(c.results)),e.speakers=d.flatMap((function(e){var t=e.speakers;return t}));case 12:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}())},methods:{goTo:function(e){var t=document.getElementById(e);t&&t.scrollIntoView({behavior:"smooth"})}}});o("d25c");const ya=h()(ka,[["render",wa],["__scopeId","data-v-dfea1370"]]);var va=ya,Oa=Object(a["withScopeId"])("data-v-ee805ac6");Object(a["pushScopeId"])("data-v-ee805ac6");var Ta=Object(a["createVNode"])("div",null,[Object(a["createVNode"])("h1",{class:"color-white type-center"},[Object(a["createVNode"])("span",{class:""},"RBCN"),Object(a["createVNode"])("span",{class:"color-theme"},"23")])],-1),ja=Object(a["createVNode"])("div",{class:"border-top-theme border-thin theme-2023"},null,-1),Sa={class:"container theme-2023"},Ra={class:"row center col-lg-8"},Ia={key:0},Aa={key:1};Object(a["popScopeId"])();var Fa=Oa((function(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("banner"),l=Object(a["resolveComponent"])("page-section"),c=Object(a["resolveComponent"])("talks-2023");return Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,[Object(a["createVNode"])(s,{class:"theme-2023"},{default:Oa((function(){return[Ta]})),_:1}),ja,Object(a["createVNode"])("div",Sa,[Object(a["withDirectives"])(Object(a["createVNode"])(l,{"title-id":"intro",title:e.$t("page2023.intro.title")},{default:Oa((function(){return[Object(a["createVNode"])("div",Ra,[Object(a["createVNode"])("div",{innerHTML:e.$t("page2023.intro.body"),class:"mb-large"},null,8,["innerHTML"])])]})),_:1},8,["title"]),[[a["vShow"],"gather"!==e.token.name]]),e.talks.length?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ia,[Object(a["createVNode"])(l,{"title-id":"talks",title:"Talks",subtitle:"live"===e.shownTalks?"Day 1 - Helsinki":"Day 1 - Online"},{default:Oa((function(){return[Object(a["withDirectives"])(Object(a["createVNode"])("button",{class:["theme mb-large mt-small mr-small","live"===e.shownTalks&&"active"],onClick:t[1]||(t[1]=function(t){return e.shownTalks="live"})}," Live ",2),[[a["vShow"],"gather"!==e.token.name]]),Object(a["withDirectives"])(Object(a["createVNode"])("button",{class:["theme mb-large mt-small","online"===e.shownTalks&&"active"],onClick:t[2]||(t[2]=function(t){return e.shownTalks="online"})}," Online ",2),[[a["vShow"],"gather"!==e.token.name]]),"live"===e.shownTalks?(Object(a["openBlock"])(),Object(a["createBlock"])(c,{key:0,items:e.talks.filter((function(e){var t,o=e.slot;return null===o||void 0===o||null===(t=o.start)||void 0===t?void 0:t.includes("2023-01-19")})),hash:e.token.hashKey},null,8,["items","hash"])):(Object(a["openBlock"])(),Object(a["createBlock"])(c,{key:1,items:e.talks.filter((function(e){var t,o=e.slot;return null===o||void 0===o||null===(t=o.start)||void 0===t?void 0:t.includes("2023-03-01")})),hash:e.token.hashKey},null,8,["items","hash"]))]})),_:1},8,["subtitle"]),Object(a["createVNode"])(l,{"title-id":"talks2",title:"Talks",subtitle:"live"===e.shownTalks?"Day 2 - Helsinki":"Day 2 - Online"},{default:Oa((function(){return["live"===e.shownTalks?(Object(a["openBlock"])(),Object(a["createBlock"])(c,{key:0,items:e.talks.filter((function(e){var t,o=e.slot;return null===o||void 0===o||null===(t=o.start)||void 0===t?void 0:t.includes("2023-01-20")})),hash:e.token.hashKey},null,8,["items","hash"])):(Object(a["openBlock"])(),Object(a["createBlock"])(c,{key:1,items:e.talks.filter((function(e){var t,o=e.slot;return null===o||void 0===o||null===(t=o.start)||void 0===t?void 0:t.includes("2023-03-02")})),hash:e.token.hashKey},null,8,["items","hash"]))]})),_:1},8,["subtitle"]),Object(a["createVNode"])(l,{"title-id":"talks3",title:"Open-Space",subtitle:"live"===e.shownTalks?"Day 3 - Helsinki":"Day 3 - Online"},{default:Oa((function(){return["live"===e.shownTalks?(Object(a["openBlock"])(),Object(a["createBlock"])(c,{key:0,items:e.talks.filter((function(e){var t,o=e.slot;return null===o||void 0===o||null===(t=o.start)||void 0===t?void 0:t.includes("2023-01-20")}))},null,8,["items"])):(Object(a["openBlock"])(),Object(a["createBlock"])(c,{key:1,items:e.talks.filter((function(e){var t,o=e.slot;return null===o||void 0===o||null===(t=o.start)||void 0===t?void 0:t.includes("2023-03-03")}))},null,8,["items"]))]})),_:1},8,["subtitle"])])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",Aa," Loading talks... "))])],64)})),Da=o("f421"),Na={name:"App",components:{Banner:O,PageSection:Ne,Sponsors:ze,Talks2023:bo},data:function(){return{talks:[],workshops:[],shownTalks:"live",token:{},public:"-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1RHu1qgXJ81+2tlBy4UF\nB8OdRsBjWhswMQaS/NhA2yWBaQiQ1YG4Tzen2aNmlTIkTBhSR3hqOnkzPQq77nMs\nKP9HD1WHz/UNici/a/2UwXFy9bOyX+GKnPCtdcvZrIougvW5K7EBeUWcgY68xNQk\nV9vFq4GSczOud7juk62eqqV26esV5tE2c4/J714SYwUl6NqLc7XeQNZMrsRHabIL\nBzg+A+2kw1jiJpJsJliPCT9T/NiAMrbZk1KR/NQ7uHARclAk13LwLwm5JfOhyKSs\nQkdfr8rVYuj3DDQCitea269Xy5RsFW/Cqyh3gHzt7bB9auU3UFaAXWPvnPURhTO4\nYf3c7YrizmpTfDGPIG/7zkegx9nPiBPNIGPq/LpmCC9iawNH7ixOH8ZC5Ijrti0b\n8rMnuJBKysZxIowJAFvd7Zh+soekUei90qQnYwhFO49h7fwXXSq2sGeRfpg99Nu/\nRdqqxM2zCMPpVMWHjxAVIubgNW5ZA33PW1wS075npC3oK+YUh2xt/9A6Ll4AcAOt\noaCmENEyeZEnHlaEWeXhNPQv1/nZN5Z3Fq3uKWCQRry1HMoOGKrdATfUUIXc6vvk\nnRPuT57RDafiyxjektPLx0z2LvRZZb7lU5G9/+rO2yJ1f65Sd5k0drIb48YZ+OBj\n6IrJDlqg3BaMV5Hr8LdQtY8CAwEAAQ==\n-----END PUBLIC KEY-----",dataReady:!1,error:!1,showStreamLink:!1}},created:function(){var e=this;return Object(fa["a"])(regeneratorRuntime.mark((function t(){var o,a,r,i,s;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(o=new URLSearchParams(window.location.search),a=Object.fromEntries(o.entries()).auth||window.localStorage.getItem("auth"),r=Object.fromEntries(o.entries()).attendee||window.localStorage.getItem("attendee"),"undefined"===typeof a||"undefined"===typeof r){t.next=25;break}return window.history.replaceState({},document.title,"/2023"+window.location.hash),"gather"!==r&&(window.localStorage.setItem("auth",a),window.localStorage.setItem("attendee",r)),t.prev=6,t.t0=Da,t.t1=a,t.next=11,Da["importSPKI"](e["public"],"RS256");case 11:return t.t2=t.sent,t.t3={issuer:"pretix"},t.next=15,t.t0.jwtVerify.call(t.t0,t.t1,t.t2,t.t3);case 15:i=t.sent,s=i.payload,e.token=s,s.name!==r?(console.log("invalid Attendee"),e.error=!0):e.showStreamLink=!0,t.next=25;break;case 21:t.prev=21,t.t4=t["catch"](6),e.error=!0,console.error(t.t4);case 25:e.dataReady=!0,Promise.all([fetch("https://cfp.robocon.io/api/events/robocon-2023/submissions/"),fetch("https://cfp.robocon.io/api/events/robocon-2023-online/submissions/"),fetch("https://pretalx.com/api/events/robocon-2023/schedules/latest/"),fetch("https://pretalx.com/api/events/robocon-2023-online/schedules/latest/")]).then(function(){var e=Object(fa["a"])(regeneratorRuntime.mark((function e(t){var o,n,a,r,i,s,l,c,d,u,h;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return o=Object(ga["a"])(t,4),n=o[0],a=o[1],r=o[2],i=o[3],e.next=3,n.json();case 3:return s=e.sent,e.next=6,a.json();case 6:return l=e.sent,e.next=9,r.json();case 9:return c=e.sent,d=c.breaks,e.next=13,i.json();case 13:return u=e.sent,h=u.breaks,e.abrupt("return",[[].concat(Object(Do["a"])(s.results),Object(Do["a"])(l.results)),[].concat(Object(Do["a"])(d),Object(Do["a"])(h))]);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).then((function(t){var o=Object(ga["a"])(t,2),a=o[0],r=o[1],i=a.filter((function(e){var t=e.submission_type;return t.en&&["Talk","Keynote","Pre-Recorded Full Talk","OpenSpace"].includes(t.en)})),s=a.filter((function(e){var t=e.submission_type;return t.en&&t.en.includes("Workshop")})),l=r.map((function(e){return Object(n["a"])(Object(n["a"])({},e),{},{submission_type:e.description.en.toLowerCase().includes("talk")?"Misc":"Break"})}));e.talks=[].concat(Object(Do["a"])(i),Object(Do["a"])(l)).map((function(e){return Object(n["a"])(Object(n["a"])({},e),{},{slot:e.slot||{start:e.start,end:e.end},type:e.submission_type.en||e.submission_type})})).sort((function(e,t){return new Date(e.slot.start)'},Qa=function(){return''},Xa={name:"Germany",components:{Banner:O,BaseIcon:se,PageSection:Ne,Sponsors:ze,Ticket:ot,Talks:vt},data:function(){return{talks:[],speakers:[],mapSvg:"",logoSvg:"",logoSvgMobile:"",ticket:null}},mounted:function(){this.talks=this.$tm("germany.talks.talks"),this.speakers=this.$tm("germany.talks.speakers"),this.mapSvg=Ya(),this.logoSvg=Qa(),this.logoSvgMobile=Qa().replace("15vh","10vh"),this.ticket=this.$tm("home.tickets").find((function(e){var t=e.side;return"05-10-22"===t}))},created:function(){var e=window.location.hash;"#talks"===e&&document.getElementById("talks").scrollIntoView()}};o("33f7");const $a=h()(Xa,[["render",Ja],["__scopeId","data-v-395c721f"]]);var er=$a,tr=Object(a["withScopeId"])("data-v-592a9cbd");Object(a["pushScopeId"])("data-v-592a9cbd");var or={class:"container narrow row"},nr={class:"container mb-large"},ar={class:"row center mb-small mt-large"},rr={class:"type-center mb-2xsmall"},ir={class:"type-large type-center"},sr={class:"my-small"},lr={key:0,class:"relative inline-block tooltip-container"},cr=Object(a["createVNode"])("button",{class:"perk-tooltip-button rounded border border-white border-thin color-white"}," ? ",-1),dr={class:"theme block mx-auto mt-auto"};Object(a["popScopeId"])();var ur=tr((function(e,t,o,n,r,i){return Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,[Object(a["createVNode"])("div",or,[Object(a["createVNode"])("p",{class:"col-md-8 col-md-offset-3 mt-large",innerHTML:i.parseMarkdown(e.$t("sponsor.subTitle"))},null,8,["innerHTML"])]),Object(a["createVNode"])("div",nr,[Object(a["createVNode"])("div",ar,[(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(["Full Sponsorship","Online Sponsorship"],(function(t,o){return Object(a["createVNode"])("button",{key:t,class:["type-uppercase theme type-small mx-2xsmall",e.activeTabIndex===o&&"active"],onClick:function(t){return e.activeTabIndex=o}},Object(a["toDisplayString"])(t),11,["onClick"])})),64))]),Object(a["createVNode"])(a["Transition"],{class:"sponsor-container",name:"opacity",mode:"out-in"},{default:tr((function(){return[(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:e.activeTabIndex,class:"row center"},[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(0===e.activeTabIndex?e.$tm("sponsor.tiers.irl"):e.$tm("sponsor.tiers.online"),(function(t,o){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:t.name,class:"col-sm-12 col-md-6 col-lg-4 p-xsmall"},[Object(a["createVNode"])("div",{class:["card pt-medium pb-large flex flex-col h-100",e.$store.state.isMobile?"p-xsmall":"p-small"]},[Object(a["createVNode"])("h2",rr,Object(a["toDisplayString"])(t.name),1),Object(a["createVNode"])("div",ir,Object(a["toDisplayString"])(t.price),1),Object(a["createVNode"])("ul",sr,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(t.perks,(function(e){return Object(a["openBlock"])(),Object(a["createBlock"])("li",{key:e.name},[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.name)+" ",1),e.description?(Object(a["openBlock"])(),Object(a["createBlock"])("div",lr,[cr,Object(a["createVNode"])("div",{class:["perk-tooltip rounded-small bg-black p-small border-theme border-thin type-left line-height-small",[i.tooltipAlignClass(o)]],innerHTML:i.parseMarkdown(e.description)},null,10,["innerHTML"])])):Object(a["createCommentVNode"])("",!0)])})),128))]),Object(a["createVNode"])("a",{href:"".concat(e.$t("sponsor.event_url"),"?voucher=").concat(t.voucher,"&subevent=").concat(0===e.activeTabIndex?"3913179":"3913180"),class:"type-no-underline"},[Object(a["createVNode"])("button",dr,Object(a["toDisplayString"])(e.$t("sponsor.joinButton")),1)],8,["href"])],2)])})),128))]))]})),_:1})])],64)})),hr={name:"Germany",components:{Banner:O},methods:{parseMarkdown:function(e){return ft["marked"].parse(e)},tooltipAlignClass:function(e){if(0===e)return"tooltip-right";if(this.$store.state.isDesktop){if(2===e)return"tooltip-left"}else if(1===e)return"tooltip-left";return""},getPretixLink:function(e,t,o){return"".concat(e,"redeem?voucher=").concat(t,"&subevent=").concat(o)}},data:function(){return{activeTabIndex:0}}};o("1e8c"),o("d8f0");const mr=h()(hr,[["render",ur],["__scopeId","data-v-592a9cbd"]]);var pr=mr,br={class:"container"};function wr(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("previous-talks");return Object(a["openBlock"])(),Object(a["createBlock"])("div",br,[Object(a["createVNode"])(s,{class:"mt-xlarge mb-xlarge"})])}var gr={name:"Archive",components:{PreviousTalks:Bt}};const fr=h()(gr,[["render",wr]]);var kr=fr,yr=Object(a["withScopeId"])("data-v-7d86b763");Object(a["pushScopeId"])("data-v-7d86b763");var vr={key:0},Or={class:"px-small py-xsmall bg-black row between"},Tr={key:1,class:"color-white mt-2xlarge type-center type-xlarge"},jr=Object(a["createVNode"])("span",{class:"color-theme"},"IN",-1),Sr=Object(a["createVNode"])("span",null,"VALID",-1),Rr=Object(a["createVNode"])("span",{class:"color-theme"},"AUTH",-1),Ir={key:2},Ar={key:0,class:"container mt-large mb-xlarge px-small"},Fr=Object(a["createVNode"])("h2",null," Wednesday ",-1),Dr=Object(a["createVNode"])("h2",{class:"mt-xlarge"}," Thursday ",-1),Nr=Object(a["createVNode"])("h2",{class:"mt-xlarge"}," Friday ",-1),xr={key:1};Object(a["popScopeId"])();var Br=yr((function(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("talks-2023");return Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,[e.dataReady&&!e.error?(Object(a["openBlock"])(),Object(a["createBlock"])("div",vr,[Object(a["createVNode"])("div",Or,[Object(a["createVNode"])("div",null,[Object(a["createVNode"])("button",{class:["theme small type-small mr-small",1===e.selectedDay&&"active"],onClick:t[1]||(t[1]=function(t){return e.selectedDay=1})},"Day 1",2),Object(a["createVNode"])("button",{class:["theme small type-small",2===e.selectedDay&&"active"],onClick:t[2]||(t[2]=function(t){return e.selectedDay=2})},"Day 2",2)]),Object(a["createVNode"])("button",{onClick:t[3]||(t[3]=function(t){return e.chatShown=!e.chatShown}),class:"theme small type-small"},Object(a["toDisplayString"])(e.chatShown?"Hide Q&A":"Show Q&A"),1)]),Object(a["createVNode"])("div",{class:["stream-container",i.isFullScreen&&"fullscreen"]},[Object(a["createVNode"])("iframe",{class:["stream col-sm-12",e.chatShown&&"col-md-9"],src:i.streamUrl,title:"Robocon stream",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""},null,10,["src"]),Object(a["withDirectives"])(Object(a["createVNode"])("iframe",{class:"chat col-sm-12 col-md-3",src:i.chatUrl,frameBorder:"0",title:"Stream chat"},null,8,["src"]),[[a["vShow"],e.chatShown]])],2)])):Object(a["createCommentVNode"])("",!0),e.dataReady&&e.error?(Object(a["openBlock"])(),Object(a["createBlock"])("h1",Tr,[jr,Sr,Rr])):Object(a["createCommentVNode"])("",!0),i.isFullScreen?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ir,[e.talks.length?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ar,[Fr,Object(a["createVNode"])(s,{items:e.talks.filter((function(e){var t,o=e.slot;return null===o||void 0===o||null===(t=o.start)||void 0===t?void 0:t.includes("2023-03-01")})),small:!0,hash:e.token.hashKey},null,8,["items","hash"]),Dr,Object(a["createVNode"])(s,{items:e.talks.filter((function(e){var t,o=e.slot;return null===o||void 0===o||null===(t=o.start)||void 0===t?void 0:t.includes("2023-03-02")})),small:!0,hash:e.token.hashKey},null,8,["items","hash"]),Nr,Object(a["createVNode"])(s,{items:e.talks.filter((function(e){var t,o=e.slot;return null===o||void 0===o||null===(t=o.start)||void 0===t?void 0:t.includes("2023-03-03")})),small:!0,hash:e.token.hashKey},null,8,["items","hash"])])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",xr," Loading talks... "))]))],64)})),Cr={components:{Talks2023:bo},data:function(){return{selectedDay:1,day1:"U2FsdGVkX1/0aHHp+Cys2bR/e8tq3sVnQiterKrTxTM=",day2:"U2FsdGVkX19omJf3PXfUUePA8Lo2nWXgHg8e3/Ax/d4=",chat:"U2FsdGVkX19Id2P5u0Hc1xSiLbqraODnTHvKjpo4p5yVgp4jY5Oj8/odAjctICBGwX8ptykisw2uFsCKXlGgYA==",token:{},public:"-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1RHu1qgXJ81+2tlBy4UF\nB8OdRsBjWhswMQaS/NhA2yWBaQiQ1YG4Tzen2aNmlTIkTBhSR3hqOnkzPQq77nMs\nKP9HD1WHz/UNici/a/2UwXFy9bOyX+GKnPCtdcvZrIougvW5K7EBeUWcgY68xNQk\nV9vFq4GSczOud7juk62eqqV26esV5tE2c4/J714SYwUl6NqLc7XeQNZMrsRHabIL\nBzg+A+2kw1jiJpJsJliPCT9T/NiAMrbZk1KR/NQ7uHARclAk13LwLwm5JfOhyKSs\nQkdfr8rVYuj3DDQCitea269Xy5RsFW/Cqyh3gHzt7bB9auU3UFaAXWPvnPURhTO4\nYf3c7YrizmpTfDGPIG/7zkegx9nPiBPNIGPq/LpmCC9iawNH7ixOH8ZC5Ijrti0b\n8rMnuJBKysZxIowJAFvd7Zh+soekUei90qQnYwhFO49h7fwXXSq2sGeRfpg99Nu/\nRdqqxM2zCMPpVMWHjxAVIubgNW5ZA33PW1wS075npC3oK+YUh2xt/9A6Ll4AcAOt\noaCmENEyeZEnHlaEWeXhNPQv1/nZN5Z3Fq3uKWCQRry1HMoOGKrdATfUUIXc6vvk\nnRPuT57RDafiyxjektPLx0z2LvRZZb7lU5G9/+rO2yJ1f65Sd5k0drIb48YZ+OBj\n6IrJDlqg3BaMV5Hr8LdQtY8CAwEAAQ==\n-----END PUBLIC KEY-----",dataReady:!1,error:!1,talks:[],chatShown:!0}},computed:{streamUrl:function(){var e=1===this.selectedDay?this.day1:this.day2,t=to.a.AES.decrypt(e,this.token.liveHash).toString(to.a.enc.Utf8);return"https://www.youtube.com/embed/".concat(t,"?rel=0&autoplay=1&mute=0&controls=1&origin=https%3A%2F%2Frobocon.io&playsinline=0&showinfo=0&modestbranding=1")},chatUrl:function(){return to.a.AES.decrypt(this.chat,this.token.liveHash).toString(to.a.enc.Utf8)},isFullScreen:function(){return"gather"===this.token.name}},created:function(){var e=this;return Object(fa["a"])(regeneratorRuntime.mark((function t(){var o,a,r,i,s,l;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(o=new Date,2===o.getDate()&&2===o.getMonth()&&(e.selectedDay=2),a=new URLSearchParams(window.location.search),r=Object.fromEntries(a.entries()).auth||window.localStorage.getItem("auth"),i=Object.fromEntries(a.entries()).attendee||window.localStorage.getItem("attendee"),console.log(r),"undefined"===typeof r||"undefined"===typeof i){t.next=28;break}return window.history.replaceState({},document.title,"/stream"+window.location.hash),"gather"!==i&&(window.localStorage.setItem("auth",r),window.localStorage.setItem("attendee",i)),t.prev=9,t.t0=Da,t.t1=r,t.next=14,Da["importSPKI"](e["public"],"RS256");case 14:return t.t2=t.sent,t.t3={issuer:"pretix"},t.next=18,t.t0.jwtVerify.call(t.t0,t.t1,t.t2,t.t3);case 18:s=t.sent,l=s.payload,e.token=l,l.name!==i&&(console.log("invalid Attendee"),e.error=!0),t.next=28;break;case 24:t.prev=24,t.t4=t["catch"](9),e.error=!0,console.error(t.t4);case 28:e.dataReady=!0,Promise.all([fetch("https://cfp.robocon.io/api/events/robocon-2023-online/submissions/"),fetch("https://pretalx.com/api/events/robocon-2023-online/schedules/latest/")]).then(function(){var e=Object(fa["a"])(regeneratorRuntime.mark((function e(t){var o,n,a,r,i,s;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return o=Object(ga["a"])(t,2),n=o[0],a=o[1],e.next=3,n.json();case 3:return r=e.sent,e.next=6,a.json();case 6:return i=e.sent,s=i.breaks,e.abrupt("return",[r.results,s]);case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).then((function(t){var o=Object(ga["a"])(t,2),a=o[0],r=o[1],i=a.filter((function(e){var t=e.submission_type;return t.en&&["Talk","Keynote","Pre-Recorded Full Talk","OpenSpace"].includes(t.en)})),s=r.map((function(e){return Object(n["a"])(Object(n["a"])({},e),{},{submission_type:e.description.en.toLowerCase().includes("talk")?"Misc":"Break"})}));e.talks=[].concat(Object(Do["a"])(i),Object(Do["a"])(s)).map((function(e){return Object(n["a"])(Object(n["a"])({},e),{},{slot:e.slot||{start:e.start,end:e.end},type:e.submission_type.en||e.submission_type})})).sort((function(e,t){return new Date(e.slot.start) Game Rules

This year, we want you to engage with others and get from the conference as much as possible. We want you to have fun. And we will reward everyone who takes an active part in the gamification.

The rules are simple:

  • There are 18 tasks described at the back of your badge.
  • Complete the tasks to get robo-stickers. The order doesn't matter.
  • Collect 8 stickers to get a prize from the Merch Desk. Finishing on the 1st day gets you into a Special Raffle, where you can win top stuff like shirt, hoodie, mug and other cool swag. The raffle will be at the end of the 1st day (Feb 8th).
  • Collect 13 stickers to take part in a Free Ticket Lottery for the next RoboCon 2025! The lottery takes place at the end of the 2nd day (Feb 9th). There is one ticket to be drawn.
  • The rewards for 8 and 13 stickers are not mutually exclusive.

More details about each task:

1-7. SPONSOR TASKS:
Check out our Sponsors' booths, ask them for a game, and they will give you more details. They have their own exciting tasks and will give you the stickers for completing them.

8. # JOKER TASK:
A task, which can be described as “be nice and proactive and you might get one”. There are plenty of ways you can receive this sticker, but they are solely given out by the organizers. Examples of tasks: propose a lightning talk, participate in the “Mystery Challenge” on Day 1, attend a workshop, be a speaker, and more…?

Stickers for completed tasks 9-18 can only be acquired at the Merch Desk:

9. RATE A TALK IN OUR GRIDALY MOBILE APP:
Rate a talk in our Gridaly Event App - go to the agenda and give a 1-5 score for the talk that already happened. You might also add a comment there. Show the rated talk at the Merch Desk.

10. TAKE A PIC AT THE PHOTO WALL:
Take a picture at our Photo Wall (near the Speakers Corner and Discussion Area). Show the photo at the Merch Desk.

11. DECODE A SECRET MESSAGE FROM THE VIDEO ADS:
Decode a secret message from the video adverts that are played between the talks or after the breaks in the main conference hall. Tell the secret message at the Merch Desk, but don't share it with others. Let them have some fun :)

12. POST WITH #ROBOCON HASHTAG ON SOCIAL MEDIA: Post something with a #robocon hashtag on social media (e.g. Facebook, X/Twitter, LinkedIn, Instagram). Show the post at the Merch Desk.

13. FILL OUT THE COMMUNITY SURVEY AT ROBOCON.io/cs OR IN THE APP:
Fill out the Community Survey that can be found at robocon.io/cs or in the mobile app under Community Survey from side-menu. At the end of the survey, there is a password you need to share at the Merch Desk. The survey takes around 10-15 min.

14. PASS A QUIZ AT ROBOCON.io/quiz OR IN THE APP WITH 70%:
Do the quiz available at robocon.io/quiz or in the mobile app under Quiz from side-menu. Finish with at least 70% success rate. There are 10 questions and each has only 1 correct answer.

15. GIVE A STAR TO ANY RF PROJECT ON GITHUB:
Give a star on GitHub to a Robot Framework project of your choice. The projects that take part in the game can be found under Resources section on the official robotframework.org page (be aware there are 3 different tabs there). Show the starred project at the Merch Desk.

16. DISCUSS A TOPIC IN A DISCUSSION AREA:
You can find the tables with different topics in the Discussion Area (near the Speakers Corner). Engage in a discussion on a current topic or you are welcome to start a new discussion - just write a topic on a blank card and place it on the table. After the discussion, go to the Merch Desk to get a sticker.

17. TAKE A SELFIE WITH 3 PEOPLE THAT YOU NEVER MET BEFORE:
Take a selfie with 3 people (including you) that you never met before. Show the picture at the Merch Desk.

18. FIND YOUR ROBO-FRIEND (matching face):
Find your robo-friend (a person that has the same robo-face on the back of the badge) and come with him/her together to the Merch Desk. Each of you gets a sticker! Beware: some faces are similar.

Make sure to download our
Gridaly Event App
to extend your experience!

',19),_r=Object(a["createVNode"])("table",{width:"100%",cellpadding:"0",cellspacing:"0",role:"presentation",style:{"box-sizing":"border-box",position:"relative",border:"0"}},[Object(a["createVNode"])("tbody",null,[Object(a["createVNode"])("tr",null,[Object(a["createVNode"])("td",{width:"50%",align:"center",style:{"box-sizing":"border-box",position:"relative"}},[Object(a["createVNode"])("table",{cellpadding:"0",cellspacing:"0",role:"presentation",style:{"box-sizing":"border-box",position:"relative",border:"0"}},[Object(a["createVNode"])("tbody",null,[Object(a["createVNode"])("tr",null,[Object(a["createVNode"])("td",{style:{"box-sizing":"border-box",position:"relative","vertical-align":"top"}},[Object(a["createVNode"])("a",{href:"https://apps.apple.com/la/app/gridaly-event-app/id6449914204",target:"_blank",rel:"noopener",style:{"box-sizing":"border-box",position:"relative"}},[Object(a["createVNode"])("img",{src:"https://d118v7n7fels6u.cloudfront.net/d480f986-a0a3-4eb2-8cb5-17130b7272c0/img/mail/en/app-store-badge.png",style:{"box-sizing":"border-box",position:"relative",border:"none",width:"100%","max-width":"240px"}})])])])])])]),Object(a["createVNode"])("td",{width:"50%",align:"center",style:{"box-sizing":"border-box",position:"relative"}},[Object(a["createVNode"])("table",{cellpadding:"0",cellspacing:"0",role:"presentation",style:{"box-sizing":"border-box",position:"relative",border:"0"}},[Object(a["createVNode"])("tbody",null,[Object(a["createVNode"])("tr",null,[Object(a["createVNode"])("td",{style:{"box-sizing":"border-box",position:"relative"}},[Object(a["createVNode"])("a",{href:"https://play.google.com/store/apps/details?id=com.gridaly.event",target:"_blank",rel:"noopener",style:{"box-sizing":"border-box",position:"relative"}},[Object(a["createVNode"])("img",{src:"https://d118v7n7fels6u.cloudfront.net/d480f986-a0a3-4eb2-8cb5-17130b7272c0/img/mail/en/google-play-badge.png",style:{"box-sizing":"border-box",position:"relative",border:"none",width:"100%","max-width":"280px"}})])])])])])])])])],-1);function Jr(e,t,o,n,r,i){return Object(a["openBlock"])(),Object(a["createBlock"])("div",qr,[Zr,_r])}var Yr={name:"Game"};const Qr=h()(Yr,[["render",Jr]]);var Xr=Qr,$r=[{path:"/",name:"Home",component:va},{path:"/2023",name:"Robocon2023",component:Ba},{path:"/germany",name:"Germany",component:er},{path:"/archive",name:"Archive",component:kr},{path:"/sponsor",name:"Sponsor",component:pr},{path:"/stream",name:"Stream",component:Pr},{path:"/quiz",beforeEnter:function(){window.location.replace("https://8pasfjg2p1x.typeform.com/to/wfO1kE0k")}},{path:"/game",name:"Game",component:Xr},{path:"/cs",beforeEnter:function(){window.location.replace("https://docs.google.com/forms/d/e/1FAIpQLSc8PQLJdrNdrNVV-eBJ7DxqxLCbHZqSSV0zsshCrUK1BlMT6g/viewform")}},{path:"/:pathMatch(.*)*",name:"NotFound",component:Kr}],ei=Object(Bn["a"])({history:Object(Bn["b"])(),routes:$r,scrollBehavior:function(e,t,o){return o||{top:0}}}),ti=ei,oi=o("5502"),ni=Object(oi["a"])({state:{isMobile:null,isDesktop:null},mutations:{SET_IS_MOBILE:function(e,t){e.isMobile=t},SET_IS_DESKTOP:function(e,t){e.isDesktop=t}},actions:{},modules:{}}),ai=(o("a2f0"),o("0251")),ri={intro:{title:"👋",body:'\n

Ticket sales for RoboCon 2024 has begun. Discounted early tickets available until November 12nd!\n

\n Talks and workshops\n

\n For those who wish to experience the event to it\'s fullest,\n there are also package deals\n that include hotel accomodations.\n

\n '},cfp:{title:"CFP",body:'\n

We are waiting for you!

\n

Come and speak at the biggest Robot Framework conference! Share your knowledge, tools and experiences with the experts from around the world. Submit a proposal and take a chance to make an influential impact on the most amazing open-source community.

\n

Submit proposal

\n

Submission deadline: 22nd October 2023 at 11:59 PM.

\n '},sponsors:{link:"sponsor",boxTitle:"RoboCon wouldn't be possible without our sponsors:",tiers:{small:"",medium:"",large:""},large:[],medium:[{img:"continero.png",href:"https://www.continero.com/en/"},{img:"eficode.png",href:"https://www.eficode.com/"},{img:"gofore.png",href:"https://gofore.com/en/"},{img:"imbus.png",href:"https://www.imbus.de/en/"},{img:"knowit.png",href:"https://www.knowit.eu/"},{img:"qfactory.png",href:"https://q-factory.fi/en/"},{img:"vala.png",href:"https://www.valagroup.com/"}],small:[{img:"enqore.png",href:"https://www.enqore.tech/"},{img:"qubilea.png",href:"https://qubilea.fi/en/"},{img:"viadee.png",href:"https://www.viadee.de/en/"}]}},ii={intro:{title:"Hello",body:'

This fall, RoboCon will be a guest at the Software QS-Tag in Frankfurt.

\n

For the first time, we will have the opportunity to host a one-day RoboCon at the heart of Europe.\n RoboCon will share a conference building with the Software QS-Tag and the exchange with the visitors of\n the QS-Tag will hopefully lead to interesting discussions.

\n

If you need a hotel room for the nights around RoboCon at the conference hotel,\n please contact qs-tag(at)imbus.de.\n We still have a few rooms available.

\n

As a visitor with a RoboCon ticket, only the RoboCon track is available.\n If you would like to attend RoboCon and the QS-Tag on both days (5 & 6 October),\n including an overnight stay in the conference hotel, please book a ticket for the Software QS-Tag at\n qs-tag.de

\n

We look forward to seeing you!

'},talks:{title:"Talks",talks:[{code:"T1",title:"[EN] Welcome RoboCon",abstract:"Welcome talk and expert discussion with audience.\n\nIn this talk René Rohner will give us an insight view of Robot Framework Foundation and tell us about upcoming features of Robot Framework.\n\nAfterwards we have time for other topics that will be defined by the audience and discussed on stage, where all Speakers are present.\nWe are also highly interested in new feature requests/ideas and will discuss them on stage.",speakers:[{code:"T7BUER",name:"Many Kasiriha",avatar:"https://pretalx.com/media/avatars/portrait_small_m9VY1nS.jpg",expanded:!1},{code:"BBBB",avatar:"https://www.qs-tag.de/fileadmin/_processed_/a/0/csm_Nele_Uhlemann_fb892cdfd3.png",name:"Nele Lea Uhlemann",expanded:!1},{code:"HTDUSJ",avatar:"https://pretalx.com/media/avatars/Rene_kgG6bhD.png",name:"René Rohner",expanded:!1},{code:"CCCC",avatar:"dist/img/mkorpela.jpg",name:"Mikko Korpela",expanded:!1},{code:"FUKYZV",avatar:"https://pretalx.com/media/avatars/profielfoto_5Rk8Soh.jpg",name:"Elout van Leeuwen",expanded:!1},{code:"AWCN8B",avatar:"https://pretalx.com/media/avatars/Screenshot_2022-03-15_at_16.42.36_VoSJgBl.png",name:"Timo Stordell",expanded:!1}],track:null,start:"2022-10-05T09:00:00+02:00",end:"2022-10-05T10:15:00+02:00",room:1193,expanded:!1,yt_link:null,description:""},{title:{en:"Coffee Break / Community Time"},start:"2022-10-05T10:15:00+02:00",end:"2022-10-05T10:45:00+02:00",room:1193,expanded:!1,yt_link:null,speakers:[]},{code:"T2",title:"[EN] Using Robot Framework to ensure quality in the New Space industry",abstract:"How Robot Framework has been used at ICEYE to ensure quality in the New Space industry.",speakers:[{code:"CCCC",avatar:"dist/img/mkorpela.jpg",name:"Mikko Korpela",expanded:!1}],track:null,start:"2022-10-05T10:45:00+02:00",end:"2022-10-05T11:30:00+02:00",room:1193,expanded:!1,yt_link:null,description:"🇬🇧 ICEYE is building a product and running a service at the same time.\nPart of the system is also flying 400 to 500 km over us.\n\nWelcome to see a sneak peek into how testing of this kind of systems is really done and\nhow Robot Framework fits into the picture.\n\nThis talk will cover also some aspects of other tools than Robot Framework.\n"},{code:"T3",title:"[EN] How to solve unsolvable non-linear testing pipelines fully open source",abstract:"Unconventional requirement to CI systems need some thinking out of the box. How workflow management Camunda can help to solve complex demands.",speakers:[{code:"BBBB",avatar:"https://www.qs-tag.de/fileadmin/_processed_/a/0/csm_Nele_Uhlemann_fb892cdfd3.png",name:"Nele Lea Uhlemann",expanded:!1},{code:"HTDUSJ",avatar:"https://pretalx.com/media/avatars/Rene_kgG6bhD.png",name:"René Rohner",expanded:!1}],track:null,start:"2022-10-05T11:40:00+02:00",end:"2022-10-05T12:25:00+02:00",room:1193,expanded:!1,yt_link:null,description:"🇬🇧 When testing complex and global systems, more and more demands are placed on a CI pipeline.\n\nConventional solutions like Jenkins or Gitlab reach their limits where it became exciting for us.\n\nThe challenge was tests that ran over several days, as the reactions of the system under test could sometimes only be checked the next day or days later. During the execution, different process steps had to be executed repeatedly. Nevertheless, a continuous process flow should be visible and tester should be able to see the state of the pipeline at any time without deeper knowledge of CI systems.\n\nIn this talk, Nele Uhlemann and René Rohner will present how complex workflows can be realised unconventionally with open source solutions and how asynchronous tests can be realised with Robot Framework and its APIs in combination with Camunda."},{code:"T4",title:"[DE] Papierlos, aber nicht ohne Dokumente! Simple Automated Visual Document Testing.",abstract:"Denn papierlos heißt nicht dokumentenlos. Lassen Sie mich Ihnen zeigen, wie wir unsere Dokumente und Druckdateien visuell und inhaltlich prüfe - mit Robot Framework und unserer eigenen Visual Document Testing Library.",speakers:[{code:"T7BUER",name:"Many Kasiriha",avatar:"https://pretalx.com/media/avatars/portrait_small_m9VY1nS.jpg",expanded:!1}],track:null,start:"2022-10-05T12:35:00+02:00",end:"2022-10-05T13:20:00+02:00",room:1193,expanded:!1,yt_link:null,description:"Unternehmen sind auf korrekte Dokumente angewiesen. Für uns als globaler Spediteur sind korrekte Dokumente unerlässlich. Ein dummer Fehler in einem Dokument kann peinlich sein - aber auch rechtliche Konsequenzen haben. Dokumente in der Spedition können das Eigentum an Waren von Partei A auf Partei B übertragen. Sie bestätigen, dass die Fracht zu Sicherheitszwecken ordnungsgemäß geröntgt wurde. Sie können Barcode-Etiketten sein, um ein Paket zu identifizieren.\n\nAls ein größeres Upgrade unseres Output- und Dokumentenmanagementsystems geplant war, mussten wir sicherstellen, dass unsere Dokumente genauso aussehen wie vor dem Upgrade. Angesichts der großen Anzahl von Dokumententypen, -formaten, -varianten und -regeln pro Dokument wurde uns schnell klar, dass wir das nicht manuell machen können.\n\nDie Frage war also: Kaufen oder selbst erstellen? Aufgrund der hohen Kosten und des Funktions-Overkills kommerzieller Lösungen und unserer guten Erfahrungen mit Robot Framework entschieden wir uns, eine Bibliothek für visuelle Dokumententests zu erstellen. Visuelle Tests bedeuten: Das Testdokument wird gerendert und pixelweise mit einem Referenzdokument verglichen. Wir haben jedoch festgestellt, dass dies nicht ausreicht.\n\nWir wollten Berichte mit Screenshots haben, die die verschiedenen Bereiche hervorheben. Wir wollten Bereiche aus dem Vergleich ausschließen, die auf Koordinaten oder Textmustern basieren. Wir wollten Strichcodes lesen können. Wir wollten akzeptable Bereiche für verschobene Textblöcke definieren. Wir wollten Textinhalte aus einer PDF-Datei oder über OCR vergleichen. Wir wollten zusätzliche Daten wie digitale Signaturen prüfen. Wir wollten Druckerdateien wie Postscript und Pcl interpretieren und vergleichen. Wir wollten eine einfache GUI zur Auswertung der Prüfergebnisse haben. Das Ergebnis war eine Robot Framework Library, die rein auf Open-Source-Komponenten basiert und Funktionen bietet, die nur in teuren kommerziellen Lösungen zu finden sind."},{title:{en:"Lunch Break / Community Time"},start:"2022-10-05T13:20:00+02:00",end:"2022-10-05T14:40:00+02:00",room:1193,expanded:!1,yt_link:null,speakers:[]},{code:"T5",title:"[EN] Robot Framework and Browser Library. Open Source Keyword-Driven Testing at its best.",abstract:"In this tutorial René will take you to a journey from the very start with Robot Framework to web automation with Browser library.",speakers:[{code:"HTDUSJ",avatar:"https://pretalx.com/media/avatars/Rene_kgG6bhD.png",name:"René Rohner",expanded:!1}],track:null,start:"2022-10-05T14:40:00+02:00",end:"2022-10-05T16:00:00+02:00",room:1193,expanded:!1,yt_link:null,description:"This Talk should be valuable for beginners of Robot Framework as well as experienced users.\n\nEvery example in this tutorial can be easily followed or also tried after RoboCon. The only requirement is a Notebook with web browser and a github.com account.\n\n### About Robot Framework:\n\nRobot Framework is a generic open source automation framework. It can be used for test automation and robotic process automation (RPA).\n\nRobot Framework is supported by Robot Framework Foundation. Many industry-leading companies use the tool in their software development.\nRobot Framework is open and extensible. Robot Framework can be integrated with virtually any other tool to create powerful and flexible automation solutions. Robot Framework is free to use without licensing costs.\n\nRobot Framework has an easy syntax, utilizing human-readable keywords. Its capabilities can be extended by libraries implemented with Python, Java or many other programming languages. Robot Framework has a rich ecosystem around it, consisting of libraries and tools that are developed as separate projects.\n\n### About Browser library:\n\nRobot Framework deserves a browser automation solution that's designed for the 2020s.\n\nBrowser library powered by Playwright provides.\n\n🚀 Speed, ✅ reliability and 🔬 visibility.\n\n- Conscise assertions.\n\n- Precise and fast browser window and tab control.\n\n- Chainable selector strategies.\n\n- Good shadow DOM support.\n\n- Easy mobile device descriptors.\n\n- Sending HTTP requests.\n\n- many more"},{title:{en:"Coffee Break / Community Time"},start:"2022-10-05T16:00:00+02:00",end:"2022-10-05T16:30:00+02:00",room:1193,expanded:!1,yt_link:null,speakers:[]},{code:"T6",title:"[EN] My Ultimate Robot Framework Toolbox... These arrows should be in every quiver!",abstract:"Elout gives a demonstration of the most important and helpful tools needed in almost every Robot Framework project.",speakers:[{code:"FUKYZV",avatar:"https://pretalx.com/media/avatars/profielfoto_5Rk8Soh.jpg",name:"Elout van Leeuwen",expanded:!1}],track:null,start:"2022-10-05T16:30:00+02:00",end:"2022-10-05T17:15:00+02:00",room:1193,expanded:!1,yt_link:null,description:"If you have ever thought how to start and what you need, you will find a good starting point here.\n\nMore details coming soon..."},{code:"T7",title:"[EN] What makes Robot Framework to stand out?",abstract:"I have used Robot Framework a lot in the past, but recently the framework chosen to my project has been different.\n\nOn the way, I've started to realise what makes Robot Framework excellent, more than before.",speakers:[{code:"AWCN8B",avatar:"https://pretalx.com/media/avatars/Screenshot_2022-03-15_at_16.42.36_VoSJgBl.png",name:"Timo Stordell",expanded:!1}],track:null,start:"2022-10-05T17:25:00+02:00",end:"2022-10-05T18:10:00+02:00",room:1193,expanded:!1,yt_link:null,description:"In this presentation, I will highlight the things that makes it stand out from the competition.\nThe purpose is not to do any boastful ranting (even though I'm tempted) but to go through some facts behind the success."},{title:{en:"Evening Event / Community Time"},start:"2022-10-05T19:00:00+02:00",end:"2022-10-06T00:00:00+02:00",room:1193,expanded:!1,yt_link:null,speakers:[]}],speakers:[{id:15344,code:"HTDUSJ",public_name:"René Rohner",biography:"René Rohner is a Senior Consultant for Testing Systems, Product Owner of the Value Stream Test Automation at imbus in Germany and Chairman of the board of Robot Framework Foundation.\n\nHe is member of the Core Team of Robot Framework Browser and developer of Robot Framework DataDriver. He is trainer and coach for Keyword-Driven Testing in multiple small and huge projects in Germany.",answers:[]},{id:13265,code:"AAAA",public_name:"Prof. Dr. Ayelt Komus",biography:"Prof. Dr. Ayelt Komus ist Professor an der Hochschule Koblenz, Vordenker für Management unter Unsicherheit, 80+ Fachpublikationen, 200+ Keynotes/Vorträge, Vielzahl an Studien wie „Status Quo (Scaled) Agile“ seit 2012 mit Scrum.org, IPMA, GPM, VOICE, bitkom, SwissICT u.a.\n\nWeitere Informationen unter\nwww.komus.de\nund\nwww.process-and-project.net",answers:[]},{id:17004,code:"BBBB",public_name:"Nele Lea Uhlemann",biography:"Nele Uhlemann is a Developer Advocate at Camunda. Her passion is helping the open source community use and understand Camunda’s technologies and build a bridge between business and technical users to leverage the full potential of Process Automation. Nele works as a consultant at Camunda, leading workshops with developers and business users. Therefore, she understands the need to find a common language to enable agility in both domains.",answers:[]},{id:14436,code:"FUKYZV",public_name:"Elout van Leeuwen",biography:"Elout is a test automation consultant with Capgemini Netherlands. He is the companies representative with the Robot Framework Foundation and has over 7 years of experience with Robot Framework.",answers:[]},{id:15357,code:"T7BUER",public_name:"Many Kasiriha",biography:"I'm a Test Manager at DB Schenker and a regular Robot Framework User since 2020.\r\n\r\nI like to help other people getting started with Robot Framework (and Test Automation in general) and I know that it can be overwhelming sometimes.\r\nIn my daily work, I support projects in the setup of their test automation solution - for Web Applications, Desktop Applications, APIs or even Document Tests.\r\n\r\nI'm a believer in *test automation* - but convinced that *testing itself cannot be automated*.",answers:[]},{id:15357,code:"CCCC",public_name:"Mikko Korpela",biography:"Mikko is a developer and consultant that works with client organisations in various industries and Vice-Chairman of the board of Robot Framework Foundation.\n\nHe is also active in Robot Framework community and has participated in development of tools such as Robot Framework, Robot Framework Browser and Pabot.",answers:[]},{id:15420,code:"AWCN8B",public_name:"Timo Stordell",biography:"Timo is Lead Consultant, DevOps at Eficode.\n\nBuilding the future of software development. Passionate about making pipelines fluent.",answers:[]}]},sponsors:{title:"Sponsors",boxTitle:"RoboCon 2022 Germany talks are sponsored by these companies",tiers:{small:"",medium:"",large:""},large:[],medium:[],small:[{img:"camunda.png",href:"https://camunda.com/"},{img:"capgemini.png",href:"https://www.capgemini.com/nl-nl/"},{img:"dbschenker.png",href:"https://www.dbschenker.com/"},{img:"eficode.png",href:"https://www.eficode.com/"},{img:"imbus.png",href:"https://www.imbus.de/"},{img:"reaktor.png",href:"https://reaktor.com/"}]}},si={title:"Sponsorship",subTitle:"### Become a sponsor of RoboCon 2024!\n\nDo you want to give something back to Robot Framework? Want to present your company as a supporter of RoboCon and Robot Framework?\n\nJoin our sponsors and help us create an awesome event yet again.\nIf you have any questions about sponsorship please contact the [RoboCon team](mailto:info{at}{'@'}{at}robocon.io).",joinButton:"Join",event_url:"https://tickets.robotframework.org/robocon-2024/redeem",tiers:{irl:[{name:"Silver",price:"1000 €",perks:[{name:"Company logo (small)",description:"Your company logo will be visible on robocon.io, our photo wall on site at Helsinki and at our online venue. **Small** company logo on screen between presentations."},{name:"Social media",description:"We will mention your company on social media channels like Twitter, LinkedIn and Facebook."},{name:"Free online ticket (1)",description:"One free ticket for the online part of RoboCon"}],voucher:"SPONSORSILVER"},{name:"Gold",price:"6000 €",perks:[{name:"Company logo",description:"Your company logo will be visible on robocon.io, our photo wall on site at Helsinki and at our online venue. Company logo on screen between presentations."},{name:"Social media",description:"We will mention your company on social media channels like Twitter, LinkedIn and Facebook."},{name:"Free tickets (2+2)",description:"You will get:\n\n- 2 free tickets for the online part of RoboCon\n\nAND\n\n- 2 free Helsinki tickets, which includes access to online part as well."},{name:"Dedicated spotlight",description:"Dedicated time to showcase your company or product between talks. This is a chance for the people to engage with you. There will be one dedicated spot to meet the sponsor. This way people know when to meet the sponsor and you can have a presentation etc. there during your break."},{name:"Video during breaks (30 sec)",description:"Sponsor videos (with audio) will be played in randomized order between talks and during some of the breaks."},{name:"Booth on-site",description:"You will get a booth at Bio Rex Helsinki.\n\nYour booth includes:\n- a TV-screen for demonstration\n- company logo on booth\n- bar table with chair"},{name:"Booth online",description:"You will get an online booth at Gather.town, where you can have up to four items such as:\n- PDF documents\n- hyperlinks\n- iFrames\n- YouTube videos"},{name:"Be part in a game",description:"Participants will be engaged in a game and your sponsor booth will be one of the ways for them to collect a prize. It's up to you what activity you prepare for them!"},{name:"Lead scanning",description:"You'll have the opportunity to use our lead scanning to get in contact with our on-site visitors in Helsinki. More information: https://pretix.eu/about/en/lead"},{name:"Publish job offers",description:"We give you the opportunity to post job offers on our noticeboard in Helsinki and online."},{name:"Max. 10 sponsors",description:"Due to the size of Bio Rex at RoboCon Helsinki we do have limited availability of 10 booths.\n\nRobot Framework Foundation members do have a preferred access.\nTherefore, if you are not member of Foundation, we will reserve a spot when you book, but invoice it after September, if the spots are not all required by Foundation members. "}],voucher:"SPONSORGOLD"},{name:"Platinum",price:"12000 €",perks:[{name:"Company logo (large)",description:"Your company logo will be visible on robocon.io, our photo wall on site at Helsinki and at our online venue. **Large** company logo on screen between presentations."},{name:"Social media",description:"We will mention your company on social media channels like Twitter, LinkedIn and Facebook."},{name:"Free tickets (4+4)",description:"You will get:\n\n- 4 free tickets for the online part of RoboCon\n\nAND\n\n- 4 free Helsinki tickets, which include access to online part as well."},{name:"Dedicated spotlight",description:"Dedicated time to showcase your company or product between talks. This is a chance for the people to engage with you. There will be one dedicated spot to meet the sponsor. This way people know when to meet the sponsor and you can have a presentation etc. there during your break."},{name:"Video during breaks (30 sec)",description:"Sponsor videos (with audio) will be played in randomized order for full audience and during some of the breaks."},{name:"Booth on-site (premium)",description:"You will get a platinum booth for one day at Bio Rex Helsinki.\n\nYour booth includes:\n- a horizontal TV-screen for demonstration\n- company logo on booth\n- bar table with chair\n- lounge table with lounge chairs\n\n**On the other day you will get a normal Gold sponsor booth.**"},{name:"Booth online (premium)",description:"You will get a platinum online booth at Gather.town, where you can have up to ten items like:\n- PDF documents\n- hyperlinks\n- iFrames\n- Youtube videos\n\nOn the one day where you are the Platinum sponsor your booth will be at the center of the conferece."},{name:"Be part in a game",description:"Participants will be engaged in a game and your sponsor booth will be one of the ways for them to collect a prize. It's up to you what activity you prepare for them!"},{name:"Lead scanning",description:"You will have the oportunity to use our lead scanning to get in contact with our on-site visitors in Helsinki.\n\nSee here for more information: https://pretix.eu/about/en/lead"},{name:"Publish job offers",description:"We give you the opportunity to post job offers on our noticeboard in Helsinki and online."},{name:"Featured sponsor for 1 day",description:"Your company will be the platinum sponsor for one day of RoboCon.\n\nYou will be mentioned as the sponsor of this day once on-site and twice online.\n\nYou may want to book a second day of Platinum sponsoring in Helsinki for 8.000€, which gives you the platinum booth on both days."},{name:"Sponsor talk (~20 min)",description:"You will get a talk spot for a full talk (20 minutes) directly after keynote in Helsinki on-stage.\n\nYour talk will be recorded and streamed later in the online part of RoboCon."},{name:"Max. 2 sponsors",description:"Due to the 2 days duration of RoboCon Helsinki and one Platinum Sponsor per day, there are only 2 sponsoring spots available.\n\nRobot Framework Foundation members do have a preferred access.\nMembers who book Online + Helsinki Sponsorship are also preferred and have higher priority compared to Online Only.\nTherefore, if you are not member of Foundation, we will reserve a spot when you book, but invoice it after September, if the spots are not all required by Foundation members. "}],voucher:"SPONSORPLATINUM"}],online:[{name:"Silver",price:"1000 €",perks:[{name:"Company logo (small)",description:"Your company logo will be visible on robocon.io, our photo wall on site at Helsinki and at our online venue. **Small** company logo on screen between presentations."},{name:"Social media",description:"We will mention your company on social media channels like Twitter, LinkedIn and Facebook."},{name:"Free online ticket (1)",description:"One free ticket for the online part of RoboCon"}],voucher:"SPONSORSILVERONLINE"},{name:"Online Gold",price:"3000 €",perks:[{name:"Company logo",description:"Your company logo will be visible on robocon.io, our photo wall on site at Helsinki and at our online venue. Company logo on screen between presentations."},{name:"Social media",description:"We will mention your company on social media channels like Twitter, LinkedIn and Facebook."},{name:"Free tickets (4 online)",description:"You will get:\n\n- 4 free online tickets for the online part of RoboCon."},{name:"Dedicated spotlight",description:"Dedicated time to showcase your company or product between talks. This is a chance for the people to engage with you. There will be one dedicated spot to meet the sponsor. This way people know when to meet the sponsor and you can have a presentation etc. there during your break."},{name:"Video during breaks (30 sec)",description:"Sponsor videos (with audio) will be played in randomized order for full audience and during some of the breaks."},{name:"Booth online",description:"You will get an online booth at Gather.town, where you can have up to four items like:\n- PDF documents\n- hyperlinks\n- iFrames\n- Youtube videos"},{name:"Publish job offers",description:"We give you the opportunity to post job offers on our noticeboard online."},{name:"Max. 10 sponsors",description:"There is a limited availability of 10 booths.\n\nRobot Framework Foundation members do have a preferred access.\nTherefore, if you are not member of Foundation, we will reserve a spot when you book, but invoice it after September, if the spots are not all required by Foundation members. "}],voucher:"SPONSORGOLDONLINE"},{name:"Online Platinum",price:"6000 €",perks:[{name:"Company logo (large)",description:"Your company logo will be visible on robocon.io, our photo wall on site at Helsinki and at our online venue. **Premium size** company logo on screen between presentations."},{name:"Social media",description:"We will mention your company on social media channels like Twitter, LinkedIn and Facebook."},{name:"Free tickets (6 online)",description:"You will get:\n\n- 8 free online tickets for the online part of RoboCon 2024"},{name:"Dedicated spotlight",description:"Dedicated time to showcase your company or product between talks. This is a chance for the people to engage with you. There will be one dedicated spot to meet the sponsor. This way people know when to meet the sponsor and you can have a presentation etc. there during your break."},{name:"Video during breaks (30 sec)",description:"Sponsor videos (with audio) will be played in randomized order for full audience and during some of the breaks."},{name:"Booth online (premium)",description:"You will get a premium online booth at Gather.town, where you can have up to ten items like:\n- PDF documents\n- hyperlinks\n- iFrames\n- Youtube videos\n\nOn the one day where you are the Platinum sponsor your booth will be at the center of the conferece."},{name:"Publish job offers",description:"We give you the opportunity to post job offers on our noticeboard online."},{name:"Featured sponsor for 1 day",description:"Your company will be the Platinum sponsor for one day of RoboCon.\n\nYou will be mentioned twice as the sponsor of this day and your logo will be shown."},{name:"Video after Keynote (~5 min)",description:"You will get a spot for a video (5 minutes) directly after the online keynote.\n\nYour talk shall be pre-recorded and will be streamed before people are sent to the first break."},{name:"Max. 2 sponsors",description:"Due to the duration of RoboCon and one Platinum Sponsor per day, there are only 2 sponsoring spots available.\n\nRobot Framework Foundation members do have a preferred access.\nMembers who book Online + Helsinki Sponsorship are also preferred and have higher priority.\nTherefore, if you are not member of Foundation, we will reserve a spot when you book, but invoice it after September, if the spots are not all required by Foundation members. "}],voucher:"SPONSORPLATINUMONLINE"}]}},li={previousTalks:{title:"Previous Talks",body:'

All RoboCon talks over the years have been recorded. Feel free to watch them here or directly in YouTube.

',talks:[{year:2022,playlistLink:"https://www.youtube.com/watch?v=jlhgitypC5Q&list=PLSK6YK5OGX1AN9PSVHz1vsoSqbz3tFS_C",list:[{title:"Keynote: Robot Framework",url:"https://www.youtube.com/embed/jlhgitypC5Q",authors:["René Rohner","Ed Manlove","Pekka Klärck"]},{title:"Robocorp == RPA for Developers",url:"https://www.youtube.com/embed/MuD7yhIIdCU",authors:["Antti Karjalainen"]},{title:"Test Intelligence for and with the Robot Framework",url:"https://www.youtube.com/embed/i8cSTAoe_hw",authors:["Elmar Juergens"]},{title:"Our Robot Framework Automation Journey : Medidata Solutions",url:"https://www.youtube.com/embed/PFqmZ5GwXgg",authors:["Karthik Selvarajan","Allen Lee"]},{title:"Tests are talking, are you ready to listen?",url:"https://www.youtube.com/embed/sm2XQ-kM2GA",authors:["Tatu Aalto"]},{title:"How Robocop evolved to 2.0?",url:"https://www.youtube.com/embed/t_R36N_4UBk",authors:["Mateusz Nojek"]},{title:"Tidy your code with Robotidy",url:"https://www.youtube.com/embed/8ELCaSKR6Ns",authors:["Bartłomiej Hirsz"]},{title:"Project and package management: Poetry for robots",url:"https://www.youtube.com/embed/UjzXCDcnTs0",authors:["Robin Mackaij"]},{title:"CamundaLibrary - Updates and Roadmap",url:"https://www.youtube.com/embed/5mjjZ4KmPJ0",authors:["Markus Stahl"]},{title:"Accessibility checking with Browser Extensions",url:"https://www.youtube.com/embed/sQ6lekIq1mE",authors:["Elout van Leeuwen"]},{title:"Web-scale Robot Framework with JupyterLite",url:"https://www.youtube.com/embed/VII2OL8O4hA",authors:["Asko Soukka","Nicholas Bollweg"]},{title:"Robots In Space",url:"https://www.youtube.com/embed/8Nz5LXsXmAU",authors:["Jeff King"]},{title:"Using implicit context to create rich behavior driven keywords",url:"https://www.youtube.com/embed/8AKBwK_UJwo",authors:["Samuel Montgomery-Blinn"]},{title:"Robot Framework Is Not ...",url:"https://www.youtube.com/embed/Mpt_4MItha0",authors:["Kelby Stine"]},{title:"Combining all test reports to one",url:"https://www.youtube.com/embed/m5zkIRQs8ZM",authors:["Timo Stordell"]},{title:"Analyze your code like true detective",url:"https://www.youtube.com/embed/PNHl_mz66ZI",authors:["Bartłomiej Hirsz"]},{title:"Yet another API talk, but this one is different...",url:"https://www.youtube.com/embed/owkk5B1kEhM",authors:["Mateusz Nojek"]},{title:"Output Robot Framework report using Github Actions",url:"https://www.youtube.com/embed/HQObgYC3D3s",authors:["Joonas Venäläinen"]},{title:"Reactive Robot - Fastest way to turn Robot Framework projects into event-driven services",url:"https://www.youtube.com/embed/UTwDfGYj3lw",authors:["Yusuf Can Bayrak"]},{title:"\\u201cFor the very first time\\u201d - Start to Code, Test, Package & Publish your first Library",url:"https://www.youtube.com/embed/BblpFESySiI",authors:["Many Kasiriha"]},{title:"Robot Framework for silicon validation",url:"https://www.youtube.com/embed/GcQgx6NZQa0",authors:["Franz Haas","Sebastian Herz"]},{title:"HybridApp - hybrid testing",url:"https://www.youtube.com/embed/yD5e1r-8aw0",authors:["Jacek Kohut"]},{title:"Introducing OpenApiDriver...and OpenApiLibCore!",url:"https://www.youtube.com/embed/7YWZEHxk9Ps",authors:["Robin Mackaij"]},{title:"Robot Framework and commercial testing tools integration - based on regression project for SWT app",url:"https://www.youtube.com/embed/Q68PeIs0Ig0",authors:["Krzysztof Trybus","Gregor Schmid"]},{title:"Eggplant Library - connecting Robot Framework to advanced image based automation",url:"https://www.youtube.com/embed/wOGVdWEzs_A",authors:["Andre Mochinin","Rico Feist"]},{title:"Year with Browser library",url:"https://www.youtube.com/embed/rSkNT7jFr_c",authors:["Tatu Aalto","René Rohner","Kerkko Pelttari"]},{title:"Robots in the Clouds: Experiences with Using Robotframework with Cloud Providers",url:"https://www.youtube.com/embed/MNL59uHnwN8",authors:["Josh Grant"]},{title:"The neuroscience of learning, creativity and collaboration",url:"https://www.youtube.com/embed/FiJw77tzLHU",authors:["Katri Saarikivi"]}]},{year:2021,playlistLink:"https://www.youtube.com/playlist?list=PLSK6YK5OGX1ALlSRlwr9dWJu3mFHMlVq8",list:[{authors:["Pekka Klärck","Ismo Aro"],title:"KEYNOTE: WHERE'S ROBOT FRAMEWORK IN 2021",url:"https://www.youtube.com/embed/3NF8Or6LWq8"},{authors:["Mateusz Nojek","Bartłomiej Hirsz"],title:"HOW TO AVOID JAIL FOR NASTY CODE?",url:"https://www.youtube.com/embed/vZoyi2ObM8E"},{authors:["Many Kasiriha"],title:"PRINT IS NOT DEAD - VISUAL DOCUMENT TESTING WITH ROBOT FRAMEWORK",url:"https://www.youtube.com/embed/qmpwlQoJ-nE"},{authors:["Mikko Korpela","Tatu Aalto","Kerkko Pelttari","René Rohner"],title:"BROWSER LIBRARY - INTRODUCTION",url:"https://www.youtube.com/embed/3BNVS6uiFeo"},{authors:["Diogo Rede"],title:"E-COMMERCE WEB AUTOMATION AT SCALE",url:"https://www.youtube.com/embed/b-FO7GXY2Oo"},{authors:["Maciej Wiczk"],title:"RFHUB2 - NEW TAKE ON ROBOTFRAMEWORK ASSET DOCUMENTATION",url:"https://www.youtube.com/embed/WTupl3gtM-g"},{authors:["Luca Giovenzana"],title:"WHAT'S NEW IN REQUESTSLIBRARY 0.9",url:"https://www.youtube.com/embed/6fc2Cn_Sch0"},{authors:["Patrik Zakovič","Marián Macek"],title:"THE JOURNEY OF BUILDING TEST AUTOMATION PLATFORM IN THE BANK",url:"https://www.youtube.com/embed/Wnu9KVpylnM"},{authors:["Simon Meggle"],title:"ROBOTMK: TESTING MEETS MONITORING",url:"https://www.youtube.com/embed/Asjh7E1xoFI"},{authors:["Tuomas Pitkänen"],title:"ROBOT MAKES MUSIC",url:"https://www.youtube.com/embed/o31z0NmruSo"},{authors:["Pekka Klärck"],title:"CREATING ROBOT FRAMEWORK LIBRARIES: WHY AND HOW?",url:"https://www.youtube.com/embed/DxqCP_EJJXc"},{authors:["Deepak Chourasia"],title:"ROBOT FRAMEWORK AND JOURNEY FROM CATHEDRAL TO BAZAR",url:"https://www.youtube.com/embed/r3GF6hjqRjQ"},{authors:["Antti Karjalainen"],title:"OPEN-SOURCE STACK FOR RPA",url:"https://www.youtube.com/embed/MIaOIbiuYXs"},{authors:["Tuukka Virtanen"],title:"HOW TO FIND THE BEST ROBOT FRAMEWORK LIBRARIES?",url:"https://www.youtube.com/embed/8jX8fivBNg0"},{authors:["Fabio Zadrozny"],title:"ROBOTFRAMEWORK LANGUAGE SERVER",url:"https://www.youtube.com/embed/aZN5_rvGohg"},{authors:["Markus Stahl"],title:"HOW TO START WITH OPEN SOURCE RPA",url:"https://www.youtube.com/embed/yggxvDl0Ozc"},{authors:["Cindy Huffman"],title:"AUTOMATING CUSTOMER JOURNEYS AS UI ACCEPTANCE SCENARIOS",url:"https://www.youtube.com/embed/D3lMuzRnvlU"},{authors:["Esko Hannula"],title:"HYPERAUTOMATION OR HYPE-AUTOMATION: AUTOMATION LANDSCAPE OF THE FUTURE",url:"https://www.youtube.com/embed/iEPiDX8YnB8"},{authors:["Dave Martin"],title:"ZERO TO HERO IN 2 WEEKS",url:"https://www.youtube.com/embed/y2OIqOPYklM"},{authors:["Elisabeth Hendrickson"],title:"KEYNOTE: ROBOT FRAMEWORK THROUGH THE LENS OF HISTORY",url:"https://www.youtube.com/embed/U5FzPgpMiqk"},{authors:["Gojko Adžić"],title:"KEYNOTE: YOU'RE TESTING WHAT?",url:"https://www.youtube.com/embed/Ju90-ewW_gM"},{authors:["Juho Saarinen"],title:"ROBOT FRAMEWORK AFTER JYTHON",url:"https://www.youtube.com/embed/6F4659Ibf7o"},{authors:["Bartłomiej Hirsz"],title:"NEW PARSING API FOR ROBOT FRAMEWORK - HOW TO CREATE OWN TOOLS",url:"https://www.youtube.com/embed/FO7rWa2-s70"},{authors:["Tatu Aalto"],title:"PYTHONLIBCORE THE SECRET BEHIND SELENIUMLIBRARY",url:"https://www.youtube.com/embed/_19SBMEObX8"},{authors:["Mikko Korpela","Tatu Aalto","Kerkko Pelttari","René Rohner"],title:"ROBOTFRAMEWORK BROWSER LIBRARY - A DEEP DIVE",url:"https://www.youtube.com/embed/OiRm9Zv3edE"},{authors:["Nils Balkow-Tychsen","Michał Wcisło"],title:"HOW KUBERNETES BRINGS QA AND DEVOPS CLOSER TOGETHER",url:"https://www.youtube.com/embed/0vtj9Hg-LWU"},{authors:["Samuel Montgomery-Blinn"],title:"(AB)USING ROBOTFRAMEWORK-DATADRIVER FOR FUN AND PROFIT",url:"https://www.youtube.com/embed/uPv0DMMksuM"},{authors:["Raphael Roems"],title:"BACKEND TESTING USING ROBOT FRAMEWORK AND SOAPUI",url:"https://www.youtube.com/embed/mSR-HPCBeEQ"},{authors:["Markus Stahl"],title:"ROBOTFRAMEWORK-CAMUNDA LIBRARY: ORCHESTRATING ROBOTIC TASKS",url:"https://www.youtube.com/embed/ZPH4AMD5XZQ"},{authors:["Tommi Oinonen"],title:"WHAT IS TAKING SO LONG?! - AN ATTEMPT TO ANSWER THIS QUESTION",url:"https://www.youtube.com/embed/nfoJXYNr3UA"}]},{year:2020,playlistLink:"https://www.youtube.com/playlist?list=PLSK6YK5OGX1AZMAffD8EiTDq0lfzshRNg",list:[{authors:["Jeff King"],title:"ROBOT FRAMEWORK AND THE ONE MAN ROBOT BAND",url:"https://www.youtube.com/embed/0yEnJt6Sf50"},{authors:["Anaïs van Asselt"],title:"IMPLEMENTING A TEST AUTOMATION ARCHITECTURE IN A GOVERNMENT ORGANIZATION",url:"https://www.youtube.com/embed/Asy5xHl0uRA"},{authors:["Antti Karjalainen"],title:"THE OPEN RPA ECOSYSTEM",url:"https://www.youtube.com/embed/cO6FxG-RAtQ"},{authors:["Petteri Mannersalo"],title:"ROBOT FRAMEWORK AS AN ENABLER FOR INTELLIGENT PROCESS AUTOMATION",url:"https://www.youtube.com/embed/ViSKJiuT6xo"},{authors:["Tuomas Lempiäinen"],title:"QA DRIVEN RPA AT VEIKKAUS",url:"https://www.youtube.com/embed/3Drlg1q4fkM"},{authors:["Virpi Luostarinen","Mikael Siirtola"],title:"RPA ON RAILS: AUTOMATING MANUAL PROCESSES AT VR",url:"https://www.youtube.com/embed/R7bNgxPjDJ4"},{authors:["Kristina Sabotic"],title:"END-TO-END TESTING FOR END-USERS",url:"https://www.youtube.com/embed/qkQpzGA51go"},{authors:["Luca Giovenzana","Angelo Caovilla"],title:"BEWARE THE BRITTLE DRAGON",url:"https://www.youtube.com/embed/rgpqyPblo28"},{title:"Lightning Talks I",url:"https://www.youtube.com/embed/0sKyczF0SDE"},{title:"Lightning Talks II",url:"https://www.youtube.com/embed/Xb9npqzJkFY"},{title:"Lightning Talks III",url:"https://www.youtube.com/embed/5axgakabN_0"},{title:"Lightning Talks IV",url:"https://www.youtube.com/embed/AZOZIW1BJJs"},{title:"Lightning Talks V",url:"https://www.youtube.com/embed/G24aU0unvVE"},{title:"Lightning Talks VI",url:"https://www.youtube.com/embed/oo11OlAaWWA"},{title:"Lightning Talks VII",url:"https://www.youtube.com/embed/7Ks8XSM2Uoc"},{title:"Lightning Talks VIII",url:"https://www.youtube.com/embed/jS-HZqLwmIY"},{title:"Lightning Talks IX",url:"https://www.youtube.com/embed/HTZ-R3HgByg"},{authors:["Ismo Aro"],title:"Day II",url:"https://www.youtube.com/embed/m1KA3PVukhg"},{authors:["KEYNOTE: Pekka Klärck"],title:"WHAT'S NEW? WHAT'S NEXT? WHO ARE WE?",url:"https://www.youtube.com/embed/DRAu1du3UFU"},{authors:["Akseli Lukkarila"],title:"ACCEPTANCE TESTING A REAL-TIME MUSIC EDUCATION APPLICATION WITH AUDIO",url:"https://www.youtube.com/embed/Fkh-EQ5O7zo"},{authors:["Maria Prokhorova"],title:"NEW IMAGE LIBRARY FOR ADVANCED IMAGE PROCESSING",url:"https://www.youtube.com/embed/AWuh-r-T6Yo"},{authors:["Tatu Aalto"],title:"SELENIUMLIBRARY 4.0: PLUGIN API AND EVENT FIRING WEBDRIVER SUPPORT",url:"https://www.youtube.com/embed/zyNZRTR821Q"},{authors:["René Rohner"],title:"DATADRIVER OR: HOW I LEARNED TO STOP WORRYING AND LOVE OPEN SOURCE",url:"https://www.youtube.com/embed/RtEUr1i4x3s"},{authors:["Tommi Oinonen"],title:"SELF MANAGING TESTING PIPELINES",url:"https://www.youtube.com/embed/W3JUzeV8lp4"},{authors:["Juho Saarinen"],title:"ROBOT FRAMEWORK REMOTE LIBRARY IN PRACTICE (WITH DEMOS)",url:"https://www.youtube.com/embed/B-67yPvMh8Q"},{authors:["Maciej Brzozowski"],title:"MICROSERVICES TESTING USING ARGO: CONTAINER-NATIVE WORKFLOWS FOR KUBERNETES",url:"https://www.youtube.com/embed/xBBTvv4mz0U"},{authors:["Joonas Köppä","Riku Halonen"],title:"ORCHESTRATING ROBOT FRAMEWORK TEST CONTAINERS AND REMOTE LIBRARIES IN KUBERNETES",url:"https://www.youtube.com/embed/SypNjILTRl0"},{title:"Day II - Lightning Talks I",url:"https://www.youtube.com/embed/Yjlsl3eHGMI"},{title:"Day II - Lightning Talks II",url:"https://www.youtube.com/embed/jDQWBrYD-w8"},{title:"Day II - Lightning Talks III",url:"https://www.youtube.com/embed/_T_PCx-tVFk"},{title:"Day II - Lightning Talks IV",url:"https://www.youtube.com/embed/-dBWW_77QG4"},{title:"Day II - Lightning Talks V",url:"https://www.youtube.com/embed/TZiJLT1fShk"},{title:"Day II - Lightning Talks VI",url:"https://www.youtube.com/embed/_XkgOcvKgtc"}]},{year:2019,playlistLink:"https://www.youtube.com/playlist?list=PLSK6YK5OGX1D-QpVap5C7NlfurQ1dsGbt",list:[{authors:["Ismo Aro","Pekka Klärck"],title:"Welcome back! What's new since RoboCon 2018?",url:"https://www.youtube.com/embed/wBhY5Z2RoqQ"},{authors:["Antti Karjalainen"],title:"The start of the open source RPA movement",url:"https://www.youtube.com/embed/uv6dvcoxdvU"},{authors:["Juho Saarinen"],title:"Evolution of Robot Framework user",url:"https://www.youtube.com/embed/ynUmfWvZxpw"},{authors:["Tatu Aalto"],title:"Decade with SeleniumLibrary and browsers' UI automation",url:"https://www.youtube.com/embed/HVAnWH8t4rU"},{authors:["Brady Hill"],title:"RobotFramework for Embedded Software Testing",url:"https://www.youtube.com/embed/0q4-AjqpO9M"},{authors:["Nguyen Huu Bach"],title:"RENAT - a network testing plugin based on Robot Framework",url:"https://www.youtube.com/embed/FSjmJLq4S4A"},{authors:["Mikael Siirtola"],title:"Robot Framework with Patient Monitors: Test Automation at GE Healthcare Finland",url:"https://www.youtube.com/embed/gxbz5QJWdq4"},{authors:["Päivi Raulamo-Jurvanen"],title:"Practical Experiences on Evaluating Software Testing Tools",url:"https://www.youtube.com/embed/2qKa3GEqcvY"},{authors:["Nicholas Bollweg","Asko Soukka"],title:"Robots from Jupyter The Future of Authoring Tests and Tasks",url:"https://www.youtube.com/embed/rbYF_RmiAR8"},{authors:["Joonas Lehtimäki"],title:"Dynamically scalable test environment on top of Kubernetes",url:"https://www.youtube.com/embed/ivLsjU77Q6c"},{authors:["Oleksandr Kravchenko"],title:"Dynamic Generation of Model Based Testcases Using Listener Interface Version 3",url:"https://www.youtube.com/embed/qtEYZ5Om1Qk"},{title:"Lightning Talks I",url:"https://www.youtube.com/embed/ck_zvTq4zz8"},{title:"Lightning Talks II",url:"https://www.youtube.com/embed/a-27Ot_suEU"},{title:"Lightning Talks III",url:"https://www.youtube.com/embed/hA99dYnlb-s"},{title:"Lightning Talks IV",url:"https://www.youtube.com/embed/g98m3XpE8gw"},{title:"Lightning Talks V",url:"https://www.youtube.com/embed/YJ4FTjxVG3o"},{title:"Lightning Talks VI",url:"https://www.youtube.com/embed/9HHgrLb41go"},{title:"Lightning Talks VII",url:"https://www.youtube.com/embed/fb42449bdz0"}]},{year:2018,playlistLink:"https://www.youtube.com/playlist?list=PLSK6YK5OGX1AUdykW4DYwNeSN_6qDE_-z",list:[{authors:["Ismo Aro"],title:"Robot Framework Foundation: Welcome to RoboCon",url:"https://www.youtube.com/embed/eAG18mS8UXA"},{authors:["Pekka Klärck"],title:"How Did We Get Here? Where Do We Go Next?",url:"https://www.youtube.com/embed/6Kb1M3NECic"},{authors:["Régis Déau"],title:"The Naked Truth About Successful Test Automation Journey",url:"https://www.youtube.com/embed/Z-9XIGZBf9U"},{authors:["Aldina Codesso-Lipponen"],title:"Mega Robot Projects - What To Expect",url:"https://www.youtube.com/embed/KsRP9TsZwEQ"},{authors:["Asko Soukka"],title:"Robot Framework in Plone CMS Project",url:"https://www.youtube.com/embed/iJEWobuwPeI"},{authors:["Ed Manlove"],title:"The Importance of Open Source Communities",url:"https://www.youtube.com/embed/2GDrtvz_1Ds"},{authors:["Anssi Syrjäsalo"],title:"Towards Contract - Based API Testing with a New Rest Json Test Library",url:"https://www.youtube.com/embed/TMU4WCIq3NA"},{authors:["Tatu Aalto"],title:"Extending SeleniumLibrary 3.0",url:"https://www.youtube.com/embed/ZPqQ-RozkYQ"},{authors:["Martin Taylor"],title:"Design Patterns for Efficient Multi-Platform",url:"https://www.youtube.com/embed/QDaXTkiviT0"},{authors:["Mikko Korpela"],title:"Parallel test execution with Pabot",url:"https://www.youtube.com/embed/i0RV6SJSIn8"},{title:"Lightning Talks",url:"https://www.youtube.com/embed/xb1Udosom6o"}]}]}},ci={intro:{title:"Hello",body:'\n

RoboCon 2023 was a hybrid conference in two parts.\n First conference part was fully in-person in Helsinki,\n where all the talks and other content were live at Bio Rex on January 19th & 20th 2023.

\n

The online conference took place from March 1st to March 3rd\n with three amazing days full of online content.

\n

All talks were recorded and they will be released for everyone before RoboCon 2024.

\n

A big thank you for all who participated!

\n '},cfp:{title:"CFP",body:'\n

"Call For Proposal" is open now. Please submit your talk proposal in a timely manner.

\n\n

CFP RoboCon Helsinki

\n

CFP for talks in Helsinki is open until September 25th - here

\n

For onsite speakers, we will compensate travel costs up-to 500€ on top of the free conference ticket with a backstage pass.

\n

Within the CFP for onsite talks, you can agree on the duplication of your proposal to the online part of RoboCon 23 at the end of February.

\n\n

CFP RoboCon Online

\n

CFP for online talks is open until October 16th - here

\n

Also online speakers will get the free online conference tickets and if needed we will compensate for proper audio equipment for the speakers.

\n '},sponsors:{link:"sponsor",tiers:{small:"",medium:"",large:""},large:[],medium:[{img:"continero.png",href:"https://www.continero.com/en/"},{img:"eficode.png",href:"https://www.eficode.com/"},{img:"fsecure.png",href:"https://www.f-secure.com/"},{img:"gofore.png",href:"https://gofore.com/en/"},{img:"imbus.png",href:"https://www.imbus.de/en/"},{img:"knowit.png",href:"https://www.knowit.fi/"},{img:"northcode.png",href:"https://www.northcode.fi/"},{img:"qfactory.png",href:"https://q-factory.fi/en/"},{img:"robocorp.png",href:"https://robocorp.com/"},{img:"vala.png",href:"https://www.valagroup.com/"}],small:[]}},di={langName:"English",newsBanner:"",navbar:{links:[{text:"Sponsor",name:"Sponsor"},{text:"Archive",name:"Archive"}]},home:ri,germany:ii,sponsor:si,archive:li,page2023:ci},ui={intro:{title:"Hallo",body:'

Diesen Herbst ist die RoboCon zu Gast auf dem Software QS-Tag in Frankfurt.

\n

Erstmalig werden wir die Möglichkeit haben im Zentrums der EU eine eintägige RoboCon zu veranstalten.\n Die RoboCon wird sich mit dem Software QS-Tag ein Konferenzgebäude teilen und der Austausch mit den Besuchern des\n QS-Tages wird zu interessanten Gesprächen führen.

\n

Wenn Sie ein Hotelzimmer für die Nächte rund um die RoboCon im Konferenzhotel benötigen,\n wenden Sie sich bitte an qs-tag(at)imbus.de.\n Wir haben noch wenige Zimmer zur Verfügung.

\n

Als Besucher mit einem RoboCon Ticket, steht ausschließlich der RoboCon Track zur Verfügung.\n Wünscht Ihr die RoboCon und den QS-Tag auf beiden Tagen (5. & 6. Oktober) besuchen zu können, inkl. Übernachtung im Konferenzhotel, so bucht ein Ticket zum Software QS-Tag auf\n qs-tag.de

\n

Wir freuen uns dich auf der RoboCon zu sehen!

'}},hi={langName:"German",germany:ui},mi=Object(ai["createI18n"])({locale:"en-US",messages:{"en-US":Object(n["a"])({},di),"de-DE":Object(n["a"])({},hi)},warnHtmlInMessage:"off"});Object(a["createApp"])(xn).use(ni).use(ti).use(mi).mount("#app")},"5ce5":function(e,t,o){"use strict";o("399d")},"618e":function(e,t,o){"use strict";o("f752")},6413:function(e,t,o){},"653f":function(e,t,o){},7689:function(e,t,o){"use strict";o("f580")},7780:function(e,t,o){},7841:function(e,t,o){},"7cbe":function(e,t,o){"use strict";o("c08e")},"7f26":function(e,t,o){"use strict";o("aaee")},"8bb0":function(e,t,o){"use strict";o("7780")},"905d":function(e,t,o){},9843:function(e,t,o){"use strict";o("4efe")},a2f0:function(e,t,o){},a908:function(e,t,o){},aaee:function(e,t,o){},ab60:function(e,t,o){"use strict";o("653f")},ab6b:function(e,t,o){"use strict";o("7841")},b208:function(e,t,o){"use strict";o("336b")},b3f0:function(e,t,o){},b81e:function(e,t,o){},b88e:function(e,t,o){"use strict";o("b3f0")},bde3:function(e,t,o){"use strict";o("a908")},c08e:function(e,t,o){},c75b:function(e,t,o){},c8de:function(e,t,o){"use strict";o("c75b")},d25c:function(e,t,o){"use strict";o("905d")},d5e9:function(e,t,o){},d784d:function(e,t,o){},d8f0:function(e,t,o){"use strict";o("d5e9")},e645:function(e,t,o){"use strict";o("3513")},e649:function(e,t,o){"use strict";o("f33a")},ea05:function(e,t,o){"use strict";o("2c04")},f33a:function(e,t,o){},f3b7:function(e,t,o){},f580:function(e,t,o){},f752:function(e,t,o){},f8cc:function(e,t,o){"use strict";o("6413")},ff87:function(e,t,o){},ffdd:function(e,t,o){}}); \ No newline at end of file +(function(e){function t(t){for(var n,i,s=t[0],l=t[1],c=t[2],u=0,h=[];u= 3.5\\r\\n - Robot Framework >= 4.0\\r\\n - Editor (IDE) for RF and Python (e.g., VS Code), a RF plugin like RF Language Server or Robotcode is nice to have\\r\\n - GitHub account for code sharing\\r\\n - PyPi account for publishing","Duration":420,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["BJAPHL"],"Speaker names":["Andre Mochinin"],"Room":{"en":"Workshop about creating libraries for Robot Framework"},"Start":"2024-02-06T07:00:00+00:00","End":"2024-02-06T16:00:00+02:00","Lessons Learned":"### Key Takeaways\\r\\n- Understand the possibilities to extend Robot Framework with own libraries\\r\\n- Learn the difference between different kinds of libraries\\r\\n- Get real experience creating and publishing your own library on PyPi","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"983ZBV","Proposal title":"The Happiness Advantage in QA","Session type":{"en":"Talk"},"Track":null,"Abstract":"Unlock the power of positive thinking in QA! Discover how our attention to detail can shape a happier, more productive life. Join us to shift from bug-chasers to solution-creators, fostering collaboration and celebrating success.","Description":"Have you ever wondered how your career as a QA affects your life? We testers spend our time in detecting bugs, inconsistencies, and accessibility issues. We pay a lot of attention to details, try to think of scenarios not only on how to use the software, but how to abuse it too. We are the gate-keepers for a new feature to be released. Is the new feature secure enough? Does it meet the requirements? We constantly seek for flaws and try negative scenarios. And by doing so, we become better and better at this. We train our eyes and our minds to see the flaws. In fact, we become too good at this. Our brain is a muscle; depending on the training we provide, the better we become at this.\\r\\n\\r\\nHave you ever considered how this training might affect the way we perceive the world in general outside the software?\\r\\nAll this negative thinking trains our brain to think negatively. And it does not stop when the clock ticks 5pm. This way of thinking, becomes the way we perceive the world around us. The way we interact with our colleagues, family or friends. The way we perceive challenges in life. Have you heard of the “Medical students\' disease“? Is a condition frequently reported in medical students, who perceive themselves to be experiencing the symptoms of a disease that they are studying. The same happens to us, QA engineers, we constantly seek for flaws.\\r\\nAs Shawn Achor in the book “The Happiness advantage” said: “It’s not necessarily the reality that shapes us, but the lens through which your brain views the world that shapes your reality.”\\r\\n\\r\\nHow about reversing all this negative thinking? How about instead of chasing bugs, we prevent bugs from happening by thinking more positively?\\r\\n\\r\\nIf you can raise somebody’s level of positivity in the present, then their brain experiences a happiness advantage. Your intelligence, your creativity and your energy levels rise.\\r\\nWe can turn our issues into opportunities. When raising an issue or writing a review, we can provide constructive feedback. Instead of focusing on the result, we can focus on the process and how we can improve our Way-Of-Working. It does not matter how many tickets we raise. What does matter, are the discussions being raised by asking the right questions, firing up discussions, documenting, searching and providing actions.\\r\\nInstead of testing the features being implemented by developers, think along with them while they develop; this way the product becomes more robust. We don’t need to measure success in numbers. Sometimes more is achieved by doing less. Give the space and the time to enable others to do more.\\r\\n\\r\\nWe not only see the flaws but also the successes. We work closely with the developers and we see first the beautiful implementation they delivered, the solution they found, the way they handled a problem. There are often times I am proud of the people I am working with. We should be more vocal and praise our colleagues for what they achieved.\\r\\nLet\'s embrace the happiness advantage!","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["ZVZHZJ"],"Speaker names":["Eftychia Thomaidou"],"Room":{"en":"RoboCon"},"Start":"2024-02-09T13:50:00+00:00","End":"2024-02-09T16:20:00+02:00","Lessons Learned":"Hopefully, I can enlighten them to see their daily work from a different angle. I can inspire them achieve more by changing their way of working.\\r\\nI will give concrete examples of how daily QA tasks, that are normally focused on the negative (bugs, flaws), can be turned into a positive training for the mind. \\r\\nAnd I will raise awareness of how constantly searching for bugs seriously influences the way we experience life; and what we can do to train our minds and gain the happiness advantage.","Describe your intended audience":"People that work in the Tester/QA role in software development.","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"9QJRUL","Proposal title":"Ecosystem Project Review Session Opening (Live)","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Live session! Ecosystem project review session opening.","Description":"Live session! Opening of the Ecosystem Project Review session. What are the Ecosystem projects, who can participate in these, and how is the Robot Framework Foundation involved? Tune in with Joe and Miikka for the Ecosystem Project Review session!","Duration":12,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["FQJRHW"],"Speaker names":["Miikka Solmela"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T10:00:00+00:00","End":"2024-02-29T12:12:00+02:00","Lessons Learned":"tba","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"ATWZKG","Proposal title":"Test reporting@UnionInvestment","Session type":{"en":"Talk"},"Track":null,"Abstract":"In our short presentation we want to show you our infrastructure, the tools we use and the library \\"ReportModifier\\".","Description":"As we all see on a regular basis, the complexity of our clients\' requirements is constantly increasing. To compete effectively, we need to deliver high quality results and respond quickly to our clients\' needs. To do this, we need to be able to implement and deliver changes quickly. Clean test management with test automation is the key to staying ahead in our business. \\r\\n\\r\\nEfficient testing is a key success factor for fast and effective software development. We are facing the challenge of increasing test speed and repetition rate, as well as running tests in parallel. By running tests in the cloud, we are able to launch multiple solutions in different container instances in parallel, saving execution time. In combination with Jira as a test management tool and Jenkins as a starting point, we manage the test cases that will be executed and archive the results in an audit-compliant manner. Union Investment is a government-regulated company with mandatory guidelines to test traceability. Robot Framework provides exactly this. By using robot hooks developed for us by Imbus, we can log every step in detail. However, the current tools of Robot Framework cause some problems. The high complexity of the tests and the amount of information that needs to be logged makes the final report very confusing and unreadable for colleagues who aren\'t testers with Robot Framework knowledge but need to know the rough test flow and result. To provide a better overview of the test content, we have developed a new library that can filter the content by message content, keyword names or even keyword paths. \\r\\n\\r\\nIn our short presentation we want to show you our infrastructure, the tools we use and the library \\"ReportModifier\\".","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["Y8HW33"],"Speaker names":["Matthias Gunther"],"Room":{"en":"RoboCon"},"Start":"2024-02-09T08:15:00+00:00","End":"2024-02-09T10:45:00+02:00","Lessons Learned":"I show how to take the complexity out of test cases using listeners and standards. How we connect test management tools like Jira with Robot Framework, how we handle data driven test cases with Jira and what kind of reports we use for different audiences.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"B9HXJZ","Proposal title":"Best Practices Using Robot Framework for Easy Real-world Project Maintenance","Session type":{"en":"Tutorial"},"Track":null,"Abstract":"In our medium-sized project, we\'ve used best practices and Robot Framework\'s power to minimize maintenance efforts. Easy test data management, data-driven testing even with various data items, fast and reliable test run preparation, human-readable keywords, and no need for dual script maintenance… – let us share our insights and tips!","Description":"Real-world projects serve as practical touchstones for theoretical concepts. Our current project, consisting of over 2500 lines of code and nearly 1000 lines of data, is still being developed. To ensure its sustainable growth without undue effort, we chose to adopt a meticulously structured approach.\\r\\n\\r\\n
\\r\\n\\r\\nThankfully, Robot Framework, with its implementation of the keyword-driven testing concept, offers a wide variety of possibilities for structuring projects, be it the strict separation between human-readable test cases and their technically oriented implementations, importing data files in various formats, and the built-in differentiation of prerequisites of a test case and its implementation, to name the most useful ones.\\r\\n\\r\\nWith its mentioned features in mind, we have successfully implemented several concepts and best practices in our project. Key among them are:\\r\\n\\r\\n* the strict separation of static test data from test scripts into YAML files (but still retaining randomness of values where needed), not only promoting data reusability across different tests;\\r\\n* data-driven testing of similar scenarios notwithstanding different data items needed by them;\\r\\n* utilizing queries to obtain dynamic test data from a database system, maximizing bug discovery possibilities;\\r\\n* meeting the prerequisites of web tests through web services calls, vastly enhancing test preparation reliability and speed;\\r\\n* carefully chosen keyword names and interfaces, each with a distinct purpose, leading to diminished demands on their documentation;\\r\\n* a clear distinction between business keywords focused on human readability and technical keywords containing mainly implementation details; this, among others, enables people with limited technical backgrounds to assemble not only test cases but also some keywords.\\r\\n\\r\\nThis last point is of significant importance as it allows for the export of only the human-readable portions of a script into an issue-tracking system. This, in turn, enables manual execution of the script whenever needed, eliminating the need for dual maintenance of manual scripts alongside Robot Framework\'s automated ones.\\r\\n\\r\\nWe look forward to sharing our experiences, best practices, and tips for harnessing the full potential of not merely the highly structured approach inspired and enabled by Robot Framework\'s principles in a real-world project. Our goal is to inspire fellow professionals to explore the benefits of these techniques for enhancing their projects.","Duration":120,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["UTWEES","8TSLHQ"],"Speaker names":["Václav Fuksa","Nina Břicháčková"],"Room":{"en":"Eficode"},"Start":"2024-02-07T11:00:00+00:00","End":"2024-02-07T15:00:00+02:00","Lessons Learned":"The audience or participants will gain practical and battle-tested techniques for handling test data and designing keywords (see the bullet points in the annotation of the contribution). The overall benefits of the methods to be shared include:\\r\\n\\r\\n
\\r\\n\\r\\n- Easier maintenance of test data, scripts and documentation; \\r\\n- Increased likelihood of finding a bug;\\r\\n- Improved speed and reliability of the test preparation phase;\\r\\n- Enabling people with limited technical background to assemble both test cases and high-level keywords;\\r\\n- Eliminating the need for duplicate maintenance: this of both manual and automated scripts.\\r\\n\\r\\nThe relevant passages of authentic code are to be shown to the audience, especially if the presentation is accepted in tutorial format.","Describe your intended audience":"The ideal audience is people with some experience in test automation (but not necessarily in Robot Framework), such as TA architects and designers and intermediate TA engineers. However, even beginners could become aware of the ideas to be presented and will be able to use a few of them in their tests.\\r\\n\\r\\n
\\r\\n\\r\\nPrerequisites: You do not need to bring your laptop as this is NOT a hands-on tutorial.","Is this suitable for ..?":"Intermediate RF user, Advanced RF user"},{"ID":"BYU9KU","Proposal title":"The story of spreading the glory. How we approached the community building in Poland","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Unearth the essence of Robot Framework\'s strength - a vibrant community. Take a peek at our journey to foster collaboration and tackle challenges. Gain practical insights for organizing impactful events, ensuring seamless user experiences. Elevate your Robot Framework experience and strengthen cooperation with your local community!","Description":"What truly defines the value of Robot Framework? Is it the cutting-edge technology? The fact that it\'s open source? Or perhaps, the fact that its keywords resonate like natural, human language? While all of these attributes hold true, in my perspective, the most invaluable aspect of Robot Framework is its community.\\r\\n\\r\\nWitnessing people come together, be it in developing the Robot Framework ecosystem or tackling challenges in its usage, is a truly beautiful sight. But the question arises, how do we unite this community? How can we foster greater collaboration among its users? These were the very questions that drove our initiative to increase the level of collaboration of the Polish RF community. Where did they lead us? Allow me to tell the story of how we set the wheels in motion.\\r\\n\\r\\nOur tale revolves around the Wrobocon initiative, covering various facets such as:\\r\\n\\r\\nThe motivation behind our endeavor\\r\\nThe process of conceiving and executing the inaugural and subsequent Wrobocon events\\r\\nThe hurdles we encountered\\r\\nOur expectations versus the actual outcome\\r\\nAreas where we could have improved\\r\\nThe pivotal factors that influenced this undertaking\\r\\nThe technological stack we employed\\r\\n\\r\\nWe aim to share our experiences so that anyone contemplating a similar venture can draw from our insights, ultimately creating an enhanced user experience right from their inaugural event.\\r\\n\\r\\nIn the course of this talk, I will delve into behind-the-scenes intricacies. This will serve as a resource for prospective event organizers, offering them a chance to learn from our missteps and gather inspiration. They can cherry-pick ideas that resonate with them and add their unique touch. Together, let\'s anticipate a future filled with even more Robot Framework events.🙂","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["XP3VZC"],"Speaker names":["Krzysztof Żminkowski"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T13:00:00+00:00","End":"2024-02-29T15:20:00+02:00","Lessons Learned":"Participants will leave with a clear roadmap for orchestrating successful conferences, armed with insights on community-building and collaboration. They\'ll gain firsthand knowledge from our experience in launching and evolving Robot Framework events. This session is a blueprint for creating impactful gatherings, ensuring a seamless experience for attendees, right from the inaugural event","Describe your intended audience":"It is for a broad audience, for anyone how wants to be engaged in community building on whichever level (regional, country wide, globally). So the soft skill are more crucial. The level of experience in RF isn\'t that important, but it\'s good to already know some people from the community that is why I selected that this talk is for intermediate and advanced users.","Is this suitable for ..?":"Intermediate RF user, Advanced RF user"},{"ID":"C3JNDF","Proposal title":"Robot Framework is ...","Session type":{"en":"Talk"},"Track":null,"Abstract":"Robocon 2022 \\"Robot Framework Is Not ...\\" put forth that we needed a style guide. 2 years and several biweekly meetings later the style guide workgroup can finally unveil the official Robot Framework style guide.","Description":"In this presentation we will talk about how it began, the start of the workgroup, how we made decisions on guide content (user guide, Robocop, Robotidy, folklore, etc ...), where we are today, and finally where do we want to go and who should be involved?\\r\\n\\r\\nThe presentation will offer practical examples on adoption and implementation of the style guide.\\r\\n\\r\\nFinally we need from the Robot Framework community!\\r\\n\\r\\n* More discussions\\r\\n\\r\\n* More content\\r\\n\\r\\n* More workgroup members\\r\\n\\r\\n### The style guide is a community asset, the more we treat it as such, the more authority it will gain.\\r\\n\\r\\nAttend our talk and Kelby promises more pictures of gnomes...","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["9BRJUX","HL7EQT","WG3A8G"],"Speaker names":["Kelby Stine","Guido Demmenie","Manana Koberidze"],"Room":{"en":"RoboCon"},"Start":"2024-02-09T07:00:00+00:00","End":"2024-02-09T09:30:00+02:00","Lessons Learned":"This is a follow up presentation to an earlier one about developing and providing a style guide for Robot Framework. Unveiling a version 1.0 of the guide from the efforts of the work group is a moment we have been waiting for.\\r\\n\\r\\nIt will allow for new users to write cleaner code and provide clarity for existing users.","Describe your intended audience":"Everybody.","Is this suitable for ..?":"Beginner RF user"},{"ID":"DVQTFT","Proposal title":"MITM Unleashed: Hacking Your Network Communication with Robot Framework","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Uncover the potential of Man-in-the-Middle (MITM) techniques in software testing. Discover how to use real-time network manipulation, empowering you with independence and flexibility in automation testing.","Description":"# Introduction\\r\\nIn an ideal world, testing is straightforward, with every aspect of the system easily testable, automation seamless, and testing scenarios requiring no adjustments. The reality often falls short of this ideal. Testing environments may lack vital resources, leading to a reliance on developers to create stubs and mocks or manual testing.\\r\\nThis dependence on developers can introduce bottlenecks and dependencies, especially when working under time constraints or with uncooperative teams. What if testers could gain more control and independence in their testing scenarios? Let\'s explore the concept of using Man-in-the-Middle (MITM) techniques to revolutionize software testing.\\r\\n## The Pretend Game\\r\\nStubbing and mocking are established techniques in software testing. They involve manipulating specific parts of a test object to create specific testing scenarios. This is crucial when integration with external applications is impossible or when replicating desired behaviors is challenging.\\r\\nHowever, challenges arise when it comes to automation and parallel testing, as toggling a stub or mock on and off simultaneously is impossible.\\r\\n## Hacking your network: The MITM Approach\\r\\nMan-in-the-Middle (MITM) attacks are well-known in the cybersecurity domain for eavesdropping network communications. However, MITM techniques can be harnessed as a potent tool for software testing. This approach gives testers the ability to take control of their testing scenarios without relying on developers, external resources, or making changes to the application under test.\\r\\nMITM offers several advantages:\\r\\n### Real-time Network Manipulation\\r\\nMITM allows testers to intercept and manipulate requests sent by applications, enabling the simulation of various scenarios. This can be done in parallel, by proxying a single browser instance to manipulate payloads, by delaying or even blocking specific endpoints.\\r\\n### Backend Information Manipulation\\r\\nMITM is a python library that provides testers with the ability to modify backend data, ensuring that the frontend displays the desired content for testing. Testers can use MITM to simulate various scenarios and verify how the application responds to different inputs. This powerful capability enhances test coverage and can help identify potential vulnerabilities faster¬.\\r\\n## Versatility of MITM\\r\\nOne of the key strengths of MITM is its independence from the application under test. Testers can fully customize and utilize MITM according to their specific testing needs, without relying on external partners or introducing changes to the application\'s codebase. This versatility empowers testers to be more self-sufficient and flexible in their testing efforts.\\r\\n## Conclusion\\r\\nIn an imperfect world, software testing can be a daunting task, with dependencies on developers and external resources. Man-in-the-Middle (MITM) techniques provides testers with the independence and flexibility they need to overcome these challenges.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["T7EQ8T"],"Speaker names":["Mark Moberts"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T17:00:00+00:00","End":"2024-02-29T19:20:00+02:00","Lessons Learned":"How to use MITM with Robot Framework\\r\\nReal world applications for MITM\\r\\nIndependence for testers","Describe your intended audience":"The talk is most suited for people who use some sort of web testing, as this is the easiest implementation. The techniques can be used in various other applications though.","Is this suitable for ..?":"Intermediate RF user"},{"ID":"EC3P3M","Proposal title":"Bridging Innovation and Regulation in Embedded Software Testing with Robot Framework","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"We will show how Robot Framework can be used in embedded software testing as a link between established tools and innovative solutions that make automating testing for hardware-related code a real possibility while still complying with regulatory requirements. Based on a practical solution, we examine if Robot Framework can unite both worlds","Description":"Traditionally, testing each release of a microcontroller\'s firmware involves flashing it onto the chip, integrating it into a HIL simulation and testing it in a closed loop. To move away from this time-consuming way of testing embedded firmware, embeff developed the ExecutionPlatform. The ExecutionPlatform allows you to perform open-loop tests on your microcontroller that operate at the pin level, but without performing an entire simulation of the environment (as in system testing). The test specifies a pin behavior or calls functions in the code. As a result, functions in the code are read or the activities on the pins are evaluated. \\r\\n\\r\\nThese tests are written as Robot Framework scripts. They use Robot Keywords corresponding to the needed pins and endpoints the microcontroller sends and reads data from. After you have written your tests on your local machine, you can flash the firmware onto the chip and run the tests all via ethernet. \\r\\n\\r\\nAs firmware becomes more complex and regulatory requirements come into play, a test management tool is required to define and organise the test cases and align them with the requirements and standards. The established TestBench tool provides a modular approach with pre-defined macros for building test cases. It is also possible to generate and export Robot Framework scripts. They can be executed and immediately imported back into the database with the corresponding test results. \\r\\n\\r\\nThis can now be taken a step further with the ability to access, export and execute tests via a REST API call to the TestBench server. This could be triggered by a code change and an automatic build of the binary.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["FYLY7K","JEJN7Y"],"Speaker names":["Daniel Penning","Max-Vincent Steck"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T13:30:00+00:00","End":"2024-02-28T15:50:00+02:00","Lessons Learned":"Participants will learn which possibilities the use of Robot Framework offers in the ebedded area and how an exemplary solution can be built up and used step by step.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"ECPABL","Proposal title":"Containerize your robots and run them on Kubernetes","Session type":{"en":"Workshop - Full Day"},"Track":null,"Abstract":"Harnessing Kubernetes to run Robot Framework tests in containers offers a practical solution for scaling your test executions in a cloud environment. This workshop will provide hands-on guidance for running Robot Framework within Docker containers and mastering the fundamentals of Kubernetes, the container orchestration platform.","Description":"The advent of the container orchestration platform Kubernetes has revolutionized the development of modern software architectures and the seamless migration of containerized workloads to the cloud. The intricacies of relocating your test infrastructure and test execution to the cloud may seem daunting, but the rewards are profound when you harness the scalability and resource management capabilities of Kubernetes. Join us for an enriching workshop at Robocon 2024, where we\'ll explore the potential of Kubernetes in optimizing your testing.\\r\\n\\r\\n
\\r\\n\\r\\nIn this hands-on workshop, you\'ll learn how to containerize your RobotFramework test executions effectively. We\'ll work together to create Kubernetes manifests for defining and managing these executions. Participants will collaborate within a shared Kubernetes cluster environment, promoting practical knowledge sharing and discussions around diverse approaches. Our focus will be on real-world best practices for running tests in cloud environments, with a specific emphasis on utilizing Kubernetes features.\\r\\n\\r\\nAll workshop details and materials will be shared in an open-source github repository.","Duration":420,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["FJSLFM","C9NDBA"],"Speaker names":["Markus Stahl","Nils Balkow-Tychsen"],"Room":{"en":"Containerize your robots and run them on Kubernetes"},"Start":"2024-02-06T07:00:00+00:00","End":"2024-02-06T16:00:00+02:00","Lessons Learned":"In the first quarter of the workshop, we’ll look into containerizing Robot Framework tests. We’ll look at a simple example as well as the ppodgorsek/robot-framework image and on how to customize images for specific test dependencies. Over all we’ll dive deep into the capabilities of Dockerfiles https://docs.docker.com/engine/reference/builder/.\\r\\n\\r\\n
\\r\\n\\r\\nIn the second quarter, we’ll learn about Kubernetes and go through the creation of a web application via Kubernetes manifest files. We’ll learn about different Kubernetes objects like deployments, pods, volumes, jobs and cronjobs and we’ll use kubectl to analyze and edit them.\\r\\n\\r\\n
\\r\\n\\r\\nIn the third quarter, we’ll apply the learnings from the previous two quarters and build a Kubernetes manifest for a Robot Framework test run. As part of this we’ll also explore different ways of exposing the test reports from the ephemeral test run in the cluster.\\r\\n\\r\\n
\\r\\n\\r\\nIn the last quarter, we’ll discuss scaling of test runs in Kubernetes. We’ll run a few different scenarios with pabot and learn how to investigate the resource consumption in the cluster. As part of this we’ll also discuss limits of pabot and how upcoming ecosystem projects are planning to address those.\\r\\n\\r\\n
\\r\\n\\r\\nOptionally, when time allows we can look into the KubeLibrary and see how it can be utilized to harden your test runs on top of Kubernetes.","Describe your intended audience":"The intended audience for this workshop are test engineers working on test infrastructure. None the less also RPA users can use the knowledge provided to run RPA tasks in their cloud environments.","Is this suitable for ..?":"Intermediate RF user, Advanced RF user"},{"ID":"ECYJEF","Proposal title":"3..2..1..BEEEEEP! Microwaving Robot Framework","Session type":{"en":"Talk"},"Track":null,"Abstract":"Promoting re-usability and abstraction for a multi-interface telecommunication product. Employing one keyword per action offers consistent outputs across interfaces, versatile and reusable single-functionality tests and simplified user focus on keyword-based actions ensuring code simplicity.","Description":"Microwave backhaul is a method used in telecommunications to transmit data, voice and other signals through radio frequencies. Our portfolio includes hardware units with diverse functionalities that can be flexibly configured to create various network/radio topologies. In addition to this, all units support the following user access interfaces: webct (web page), snmp and ongoing integration of netconf, REST and cli. Testing should cover frontend, backend, and end-to-end functionalities for each hardware unit, spanning all interfaces and multiple topological setups. In order to mitigate these complexity issues, we introduced an approach to overload keywords with custom python annotations. In this talk, we\'ll explore hardware testing challenges as well as our framework structure.\\r\\nThe most significant principles in our framework are:
\\r\\n\\r\\n•\\t**One Keyword Approach**\\r\\nEvery action on our product is associated with a specific keyword that will apply it to the access interface given as input argument. Since multi-interfaces are supported, it is ensured that each keyword will return consistent outputs.
\\r\\n\\r\\n•\\t**Test Reusability Across Interfaces**\\r\\nBy extending the above principle from keyword-level to testcase-level, we achieve test uniformity across interfaces, saving development time and resources otherwise spent on separate test case creation.
\\r\\n\\r\\n•\\t**Test Adaptability Based on Network Topology**\\r\\nProduct functionality should be tested across different hardware units and different network topologies. Tests designed for one network topology can be adjusted to similar topologies. The system-under-test is described in a Python class variable file with each test dynamically loading network parameters from this file during runtime. Changing the python file, reuses the test to another hw unit and topology.
\\r\\n\\r\\n•\\t**User Experience Simplification and Code Readability**\\r\\nTo enhance user focus on keyword-driven actions, common interface actions are hidden by adding interface-related parameters as function arguments. Python decorators facilitate these principles by mapping system-dependent variables to their values and executing required actions for each interface.
\\r\\n\\r\\n•\\t**Extendable to new interfaces**
\\r\\nSupport for new user interfaces can be incorporated just by implementing the interface python functions and due to one-keyword approach and test adaptability, no new tests need to be re-written to test existing functionality!
","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["VWUYL7"],"Speaker names":["Stavroula Ventoura"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T09:40:00+00:00","End":"2024-02-08T12:10:00+02:00","Lessons Learned":"What i have learned?\\r\\n* how to use decorators for custom keywords . \\r\\n* how to test actual hw, and how sensitive it is\\r\\n* how hard it is to combine different interfaces\\r\\n* how to automate also peripheral units (instruments needed for our tests)\\r\\n* how to reuse code of the two existing frameworks to unite to one\\r\\n* how to make the framework user-friendly and appealing to all testers - automated and manual - and clear to all, despite their automation knowledge. \\r\\n* how to continuously improve the user-experience and the framework capabilities.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"EJTPFY","Proposal title":"Automated Generation of Acceptance Tests of Process-Aware Information Systems (PAIS)","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Test coverage in customizable PAIS can be challenging due to complexity and variability of process models. Automated generation and execution of test cases based on the BPMN that underlies the system is promising. A solution that executes acceptance tests through the automation of the user interface of a Camunda-based webapp using RF is presented.","Description":"A model-based testing strategy is proposed, using BPMN models and some reference architecture specifications as input to generate RF scripts that automate a comprehensive User Acceptance Test procedure of a customizable PAIS.\\r\\nThe present PAIS, called AKIP Platform, is the result of the effort of researchers from the AgileKip group. It is based on the Open Source Community Edition Camunda 7, and uses JHipster to scaffold a fully customizable process-aware webapp.\\r\\nThe AKIP Platform was built by developers and researchers from the AgileKip group, who are devoted to facilitate Process/Workflow Automation initiatives based on code generation techniques, for developers, professors and researchers willing to disseminate and build Process-Aware Information Systems based on known technologies such as BPMN, Java and Javascript.\\r\\nLeveraging on RF, i.e. RPA, to mimic user interactions allows for reducing the need for testers to manually input PAIS-related information when handling user forms, while increasing test coverage and enabling regression testing.\\r\\nCurrently, there\'s a prototype developed, which is able to interpret the BPMN and generate executable test cases using RF for the user interface automation. It utilizes the Faker library to generate random input data and Selenium for the webapp automation.\\r\\nIt is also being explored the generation of such test cases using the Gherkin syntax, in an effort to aproximate documentation and test planning.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["KQR9AE"],"Speaker names":["Tales Mello Paiva"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T16:30:00+00:00","End":"2024-02-29T18:50:00+02:00","Lessons Learned":"Exploring and diving deeper into the interplay between RF and Camunda, i.e. RPA and BPMS.\\r\\nPractical examples on how to generate and execute test cases based on the BPMN of a process model.\\r\\nUsing Gherkin to bridge the gap between a PAIS main artifact, the process model, and the test planning.","Describe your intended audience":"Business Process Management enthusiasts, QA engineers, RPA enthusiasts.","Is this suitable for ..?":"Beginner RF user"},{"ID":"FDD8CK","Proposal title":"Opening the Conference (Live)","Session type":{"de":"Keynote","en":"Keynote"},"Track":null,"Abstract":"Pekka will deliver an in-depth presentation on the latest release of Robot Framework, along with ideas for future development.\\r\\n\\r\\nMiikka and René will also discuss and present the Robot Framework Foundation and its community.","Description":"Pekka will deliver an in-depth presentation on the latest release of Robot Framework, along with ideas for future development.\\r\\n\\r\\nMiikka and René will also discuss and present the Robot Framework Foundation and its community","Duration":50,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["JUQN3X","FQJRHW","D3ZLT3"],"Speaker names":["René Rohner","Miikka Solmela","Pekka Klärck"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T10:00:00+00:00","End":"2024-02-28T13:00:00+02:00","Lessons Learned":"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.\\r\\nWhy do we use it?\\r\\n\\r\\nIt is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using \'Content here, content here\', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for \'lorem ipsum\' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user"},{"ID":"FUGUMQ","Proposal title":"Ecosystem Project Review: RIDE project - Robot Framework 6.1 features support (Live)","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Live session! Ecosystem project review of the project followed by a Q&A!","Description":"Live session! Ecosystem project review of the project, followed by a Q&A! The Robot Framework Ecosystem is vast, and the Robot Framework Foundation occasionally funds some of its projects. Tune in to hear what was achieved with the funding this time!","Duration":12,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["DYGBXQ"],"Speaker names":["Hélio Guilherme"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T10:36:00+00:00","End":"2024-02-29T12:48:00+02:00","Lessons Learned":"tba","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"H9BAHW","Proposal title":"Closing the Conference","Session type":{"de":"Keynote","en":"Keynote"},"Track":null,"Abstract":"Closing words\\r\\n Game Winners Announcement\\r\\n After-Party Invitation","Description":"Closing words\\r\\n Game Winners Announcement\\r\\n After-Party Invitation:\\r\\n Unwind and Connect: Relax, network, and enjoy in a casual, festive atmosphere.\\r\\n Entertainment: Great music and delightful refreshments.\\r\\n Socialize: An opportunity to mingle and celebrate the day\'s success.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["VWRTSC","HTDUSJ","FQJRHW"],"Speaker names":["Mateusz Nojek","René Rohner","Miikka Solmela"],"Room":{"en":"RoboCon"},"Start":"2024-02-09T14:20:00+00:00","End":"2024-02-09T16:40:00+02:00","Lessons Learned":"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.","Describe your intended audience":null,"Is this suitable for ..?":"Advanced RF user"},{"ID":"HSDAHH","Proposal title":"RFSwarm how it came about and where it\'s going","Session type":{"en":"Talk"},"Track":null,"Abstract":"An overview if RFSwarm - a performance testing tool with robot framework\\r\\n- what it is and why it\'s important different to other performance testing tools\\r\\n- why I created it\\r\\n- where it\'s at now\\r\\n- future plans\\r\\n- Q&A","Description":"- what it is and why it\'s important different to other performance testing tools\\r\\nIn this part of the talk I\'ll tell about the tool, what its for, what I believe the benefits are, why people might use RFSwarm over other performance test tools, and the problems I believe RFSwarm solves for people.\\r\\n\\r\\n- why I created it\\r\\nIn this section I\'ll give a little bit about my background, ways I\'d attempted to solve these problems before RFSwarm, and why I ended up creating RFSwarm.\\r\\n\\r\\n- where it\'s at now\\r\\nIn this section I\'ll give an overview of where RFSwarm is today\\r\\n\\r\\n- future plans\\r\\nIn this section I\'ll talk about the planned features and give a rough idea of the roadmap, things that I foresee that could change the roadmap.\\r\\n\\r\\n- Q&A\\r\\nIn this section I\'ll open for people to ask any questions they want about RFSwarm and do my best to answer them.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["UHHRL8"],"Speaker names":["Dave Amies"],"Room":{"en":"RoboCon"},"Start":"2024-02-09T12:00:00+00:00","End":"2024-02-09T14:30:00+02:00","Lessons Learned":"- Difficulties for an automation team doing test automation with one tool/language and then having to use another completely different tool & language for performance testing, how this becomes easier with RFSwarm.\\r\\n- Learn that with RFSwarm they can use Robot Framework for performance testing as well\\r\\n- Benifits to the Test team when all the test automation disciplines are all using the same scripting language\\r\\n\\r\\nI expect to spend 5 min on each of the 5 sections I previously mentioned to bring the talk to 25 min.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"JHXEQQ","Proposal title":"Robot Framework as Compliance Enabler","Session type":{"en":"Talk"},"Track":null,"Abstract":"Unlock Compliance with Robot Framework! Join my talk to learn how this versatile automation tool empowers teams to streamline and automate manual documentation processes, ensuring seamless adherence to industry regulations. Get practical tips on how to harness Robot Framework\'s potential in your compliance journey with automated reports creation!","Description":"In today\'s fast-evolving tech landscape, compliance with rules and standards is a universal priority, extending beyond regulated industries like banking and pharmaceuticals. Robot Framework, a versatile automation tool, is reshaping how we ensure our software meets production-ready criteria.\\r\\n\\r\\nThis talk aims to demystify compliance, highlighting its critical importance in modern software development. Failing to meet compliance can have wide-ranging consequences, from legal ramifications to reputational damage.\\r\\n\\r\\nAttendees will gain practical insights into how Robot Framework integrates into automation pipelines, facilitating compliance validation, and how to generate comprehensive, user-friendly reports. These serve as tangible proof of compliance, invaluable for audits and regulatory assessments. Hands-on guide to report generation will be demonstrated, ensuring that the product is well-prepared for any compliance checks that come along in the development journey.\\r\\n\\r\\nThis talk is an essential guide for navigating the intersection of compliance and automation in the software engineering landscape, making sure you\'re building for the future with confidence. Join me on this journey towards a future where compliance is not a hurdle, but an enabler of innovation.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["SZE8YE"],"Speaker names":["Kateřina Hošová"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T12:10:00+00:00","End":"2024-02-08T14:40:00+02:00","Lessons Learned":"Participants will learn how to integrate Robot Framework as a testing tool into development process, meaning automation pipelines, and how to create human-readable reports, that will be incorporated into SDLC documentation. They will also learn what is compliance, SDLC process and how testing fits into the bigger picture.","Describe your intended audience":"Any test engineer that works on a project that is following SDLC compliance processes, or anyone who wants to learn tips on easily readable test reports (for both technical and business sides).","Is this suitable for ..?":"Intermediate RF user"},{"ID":"JRSGDD","Proposal title":"Enhancing Test Insights: A Deep Dive into Robot Framework Reporting","Session type":{"en":"Tutorial"},"Track":null,"Abstract":"Join our tutorial, \\"Deep Dive into Robot Framework Reporting,\\" where we\'ll empower you to transform test reports into decision-making tools. Uncover hidden insights, use Allure, ReportPortal, and Grafana, and gain the ability to drive quick, informed actions through crystal-clear data.","Description":"Welcome to our tutorial, \\"Enhancing Test Insights: A Deep Dive into Robot Framework Reporting.\\" In this immersive session, we\'ll embark on a journey to transform your test reports into invaluable assets for making informed decisions. \\r\\n\\r\\n
\\r\\n\\r\\nExplore the depths of Robot Framework reporting, uncover hidden insights, and unlock the power of Allure, ReportPortal, and Grafana . Join us to elevate your reporting skills and gain the ability to drive swift and informed actions through crystal-clear insights. Don\'t miss this opportunity to become a master of test reporting!","Duration":120,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["T7BUER"],"Speaker names":["Many Kasiriha"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-27T08:00:00+00:00","End":"2024-02-27T12:00:00+02:00","Lessons Learned":"Collecting and visualizing Result History with different tools.\\r\\nGood practices in Robot Framework to improve reporting.\\r\\nParsing Test Results the right way (using the API).\\r\\nUnderstand usage of 3rd party reporting solutions like Allure, Grafana and ReportPortal with Robot Framework","Describe your intended audience":"People who know Robot Framework and who want to improve their reports.","Is this suitable for ..?":"Intermediate RF user"},{"ID":"JSCEPN","Proposal title":"How Robot Framework has changed the RPA market, and what we did with it","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"The presentation explores challenges in SME RPA projects, emphasizing Robot Framework\'s advantages and sharing insights on overcoming obstacles for an RPA agency","Description":"As is the case in many countries, in the Netherlands the SME market is the true engine of the economy. This is also where most of the workforce is active. Although RPA was always an interesting solution for them technically, the investment in the software and the hiring of the required knowledge made it non-viable for most companies. \\r\\n\\r\\nWhat we are now experiencing is a true revolution in the RPA market, due to the evolution of RPA software. We have embraced Robot Framework through Robocorp to expand our offerings and start helping the SME market at a large scale for the first time. \\r\\n\\r\\nIn our talk we would like to take the visitors on a journey through the challenges involved in RPA projects in the SME markets, such as budgeting, technical and process knowledge within companies and the impact RPA robots have on these organizations. \\r\\n\\r\\nWe will be highlighting the advantages of doing this with robot framework and how it has helped us create a viable RPA agency and share the main obstacles we had to overcome (and are still dealing with).","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["CPN7VC","ZGZ7WT"],"Speaker names":["Sam van der Wagen","Jasper Verbunt"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T15:00:00+00:00","End":"2024-02-28T17:20:00+02:00","Lessons Learned":"- Difference between RPA projects in large and SME companies\\r\\n- Advantages of using Robot Framework as language for RPA projects in SME companies\\r\\n- Hurdles to overcome in projects with SME companies\\r\\n- Challenges in setting up an RPA agency","Describe your intended audience":"Developers / agencies interested in use of Robot Framework for custom RPA projects","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"JSZTRJ","Proposal title":"Open-source RPA stack in the bank","Session type":{"en":"Talk"},"Track":null,"Abstract":"There are some crucial questions at the beginning of RPA implementaion. No-code, low-code or high-code RPA tool? We are developers and we love high-code tools! What will be the cost of implementation? Is there anything like open-source RPA tool? Yes, there is! The answer is Robot Framework.","Description":"There are some crucial questions at the beginning of RPA implementaion. No-code, low-code or high-code RPA tool? We are developers and we love high-code tools! What will be the cost of implementation? Is there anything like open-source RPA tool? Yes, there is! The answer is Robot Framework. \\r\\n \\r\\nBanks are specific institutions with hundreds of applications that are built on different technologies. You should find the right tool for automation routine, repetitive and manual tasks. Robot Framework and stack around it can handle that without any extra costs. In the end RPA platform is not only about automation tool. There is a need of robots orchestration, building run-time environments and so on. We will look at how it can be done with mainly open-source tools and how to succeed in everyday operation.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["LYEHWU"],"Speaker names":["Patrik Zakovič"],"Room":{"en":"RoboCon"},"Start":"2024-02-09T08:45:00+00:00","End":"2024-02-09T11:15:00+02:00","Lessons Learned":"Inspiration how RPA platform can be build with open-source stack a how to automate different type of technologies with RF and its libraries.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user"},{"ID":"JXBLTV","Proposal title":"Integrating Robot Framework with Generative AI and Jira","Session type":{"en":"Workshop - Full Day"},"Track":null,"Abstract":"Explore the synergy of Generative AI and Robot Framework via Listener API in this hands-on workshop! Discover how to enrich Robot Framework outputs and logs, automate Jira bug/task creations for failed test cases, and tap into ChatGPT for enhanced test insights.","Description":"In this extensive full-day workshop, attendees will dive deep into exploring two powerful integrations to Robot Framework, honing in on the capabilities of the Listener API.\\r\\n\\r\\nThe morning session will focus on integrating ChatGPT with Robot Framework. Attendees will learn how to utilize the Listener API to harness the capabilities of ChatGPT, enriching the framework\'s outputs and logs. This integration aims to provide clearer and more informative feedback from test executions, making the debugging process more straightforward. We will also present how to enrich Robot Framework outputs and logs to provide a more detailed overview of test executions.\\r\\n\\r\\nPost lunch, the workshop will shift its focus towards integrating Jira with Robot Framework, building on top of the listeners and ChatGPT integration from the morning session. Leveraging existing Python libraries, attendees will learn how to automate the creation of bugs/tasks in Jira for failed test cases directly from Robot Framework, again utilizing the Listener API. \\r\\n\\r\\nBy the end of the workshop, attendees will have a well-rounded understanding and hands-on experience on leveraging the Listener API for integrating ChatGPT and Jira with Robot Framework, broadening the horizon of what\'s achievable with Robot Framework Listeners API.","Duration":420,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["8U3B3T"],"Speaker names":["David Fogl"],"Room":{"en":"Integrating Robot Framework with Generative AI and Jira"},"Start":"2024-02-06T07:00:00+00:00","End":"2024-02-06T16:00:00+02:00","Lessons Learned":"In the workshop on integrating ChatGPT and Jira with Robot Framework, participants learned the significance of seamlessly blending automated testing with generative AI and workflow automation tools. The ChatGPT-enriched test outputs and logs integration demonstrates how AI can provide enhanced insights for automated tests. In parallel, the session on automating Jira task creation illuminated the importance of effective error handling and precise mapping of test results to Jira tasks. This exercise highlighted the value of workflow automation in saving time and reducing manual effort while underscoring the need for adaptable and maintainable scripts as testing requirements evolve. The hands-on experience emphasized the practicality of using existing Python libraries and the Listener API for efficient and meaningful integrations. It will give the participants actionable skills to apply in their testing environments.\\r\\n\\r\\nMorning Session: ChatGPT Integration with Robot Framework\\r\\n09:00 - 09:30: Introduction and Overview of Workshop\\r\\n09:30 - 10:30: Deep Dive into Robot Framework\'s Listener API and Integrating ChatGPT\\r\\n10:30 - 10:45: Coffee Break\\r\\n10:45 - 11:45: Hands-On Exercise: Enriching Test Outputs with ChatGPT\\r\\n11:45 - 12:00: Q&A and Recap of Morning Session\\r\\n\\r\\nLunch Break: 12:00 - 13:00\\r\\n\\r\\nAfternoon Session: Automating Jira Task Creation with Robot Framework\\r\\n13:00 - 14:00: Setting Up Jira Integration with Robot Framework\\r\\n14:00 - 14:15: Coffee Break\\r\\n14:15 - 15:15: Hands-On Exercise: Automating Bug/Task Creation in Jira\\r\\n15:15 - 16:00: Final Discussion, Advanced Tips, and Workshop Wrap-Up","Describe your intended audience":"This workshop is suitable for professionals with an intermediate to advanced level of understanding in software testing and automation. It assumes a basic knowledge of Python, as Python libraries are a key component of the integrations. The content is targeted more towards practical implementation rather than theoretical concepts, making it ideal for attendees who prefer hands-on learning to directly apply the skills in their work environment.","Is this suitable for ..?":"Intermediate RF user, Advanced RF user"},{"ID":"K7ZSXM","Proposal title":"How to create a successful Robot Framework automation project","Session type":{"en":"Talk"},"Track":null,"Abstract":"Many people start automation projects with poor knowledge about the product they are automating or they start in a rush because of the desire to advance quickly. Without a propper organisation and strategy in mind, this can lead to bad/inconsistent implementations that become more costly and time consuming to fix once the project is ongoing.","Description":"This will be a presentation about:\\r\\n- Things to consider before starting an automation project\\r\\n- How to organise and structure the project for best performance and scalability\\r\\n- What are the good practices to use along the development process\\r\\n- Develop with stability and scalability in mind\\r\\n...\\r\\nMore awesome tips and tricks to use along the automation project development","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["78DPXU"],"Speaker names":["Liviu Avram"],"Room":{"en":"RoboCon"},"Start":"2024-02-09T09:30:00+00:00","End":"2024-02-09T12:00:00+02:00","Lessons Learned":"This is a presentation for absolute beginners, who will most likely learn a lot of new stuff but also for experienced Robot Framework users who might discover some new things","Describe your intended audience":"Mostly beginners but more advanced users can benefit aswell","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"K8W3WJ","Proposal title":"Am I good enough for open source?","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Have you ever thought about contributing to Open Source? If you haven\'t done so because you doubt your abilities. This is the talk for you! Everybody can help and every little bit helps.\\r\\nJoin me and discover how to get started and overcome your doubts. Let\'s get you contributing to Open Source projects!","Description":"Inspired by a talk from RoboCon 2023 where Ed Manlove asked for help with SeleniumLibrary I walked up to him and asked how I can contribute. What I found out is that the people behind all this cool Robot Framework code are regular humans just like you and me. I also found out that there are many ways to contribute, not just by writing code.\\r\\n\\r\\nIn my talk I will share my experience becoming a first time contributor to Robot Framework and show you all the different unexpected ways you can contribute to Open Source. If I can do it, you can do it too!","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["GZRASZ"],"Speaker names":["Yuri Verweij"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T15:00:00+00:00","End":"2024-02-29T17:20:00+02:00","Lessons Learned":"There are many ways to contribute to Open Source that the participants may not have thought about. For instance: reviewing, running tests, discussing new features, etc.\\r\\nI\'ll also help participants get over their fear of contributing or getting in contact with Open Source teams.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"KAKUQN","Proposal title":"Ecosystem Project Review","Session type":{"de":"Keynote","en":"Keynote"},"Track":null,"Abstract":"During the fall of 2023, we will have several Ecosystem projects. \\r\\n\\r\\nLet\'s see what came out of them!","Description":"During the fall of 2023, we will have several Ecosystem projects. \\r\\n\\r\\nLet\'s see what came out of them!\\r\\n\\r\\nProjects:\\r\\nAdd expected conditions to selenium library\\r\\nDoing unloved tasks in Browser lib (fixing Bugs, Updating API, writing Docs)\\r\\nRobotCode: Road to Version 1.0\\r\\nSeleniumLibraryToBrowser migration helper\\r\\nRobotFramework Gherkin Parser - Integration of Gherkin into RobotFramework\\r\\nRIDE project - Robot Framework 6.1 features support\\r\\nRobotLab","Duration":50,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":[],"Speaker names":[],"Room":null,"Start":null,"End":null,"Lessons Learned":"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.","Describe your intended audience":null,"Is this suitable for ..?":"Advanced RF user"},{"ID":"KHMASZ","Proposal title":"Next-Gen Pipeline Journey: Elevate your skills with Robot Framework","Session type":{"en":"Workshop - Full Day"},"Track":null,"Abstract":"Unlock the power of Robot Framework and CI/CD pipelines with us! Dive in with an exciting game, perfecting pipelines and sharing experiences. Let\'s build scalable, reliable, and adaptable pipelines in GitLab together. Our Journey, your decisions! Join the workshop and transform your skills.","Description":"The workshop\'s primary objective is to disseminate knowledge about Robot Framework and CI/CD pipeline topics. We begin with an engaging card game focused on designing the perfect pipeline using a provided example to facilitate knowledge and experience sharing. Our discussions will delve into the creation of specialized pipelines for integration, deployment, and the delivery of high-quality test suites.\\r\\n\\r\\n
\\r\\n\\r\\nSubsequently, we will immerse ourselves in a dedicated environment that includes routers and servers, allowing us to create real-life project scenarios within the confines of the workshop. Here, we will construct scalable, reliable and adaptable pipelines within the GitLab environment, where runners are dynamically managed and configured for specific purposes. During the workshop there will be many possible path to follow so we will discuss and decide together.","Duration":420,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["R9UP8V"],"Speaker names":["Lukasz"],"Room":{"en":"Next-Gen Pipeline Journey: Elevate your skills with Robot Framework"},"Start":"2024-02-06T07:00:00+00:00","End":"2024-02-06T16:00:00+02:00","Lessons Learned":"1. CI/CD pipeline design - we will play the game where real life solutions are to design\\r\\n2. Robot Framework proficiency - we will go through topics like building the dynamic testing environment for Robot, reporting in multiple ways, usage of database testing, API testing and UI testing but pure testing is not the essential of the workshop\\r\\n3. Integration and Deployment strategies and assumptions\\r\\n4. Knowledge how to delivery high quality tests \\r\\n5. GitLab Pipeline Management - during the workshop we will create dynamically managed runners and use them for the short term\\r\\n6. How to design pipeline at AWS increasing productivity of teams and make time to market shorter and cheaper using dedicated approach designed and introduced by me in a few projects","Describe your intended audience":"This workshop was designed for the people having the basic knowledge about Robot Framework and basic knowledge about Bash/Powershell scripts, how to build projects, how to run tests from the command line etc.","Is this suitable for ..?":"Beginner RF user, Intermediate RF user"},{"ID":"KN7GTB","Proposal title":"Unlocking the Power of RobotFramework: An Introductory Tutorial","Session type":{"en":"Tutorial"},"Track":null,"Abstract":"Embark on an exhilarating 2-hour adventure with us as we dive deep into RobotFramework - test automation tools gem. From the thrill of the initial installation to the adrenaline-pumping basics, our tutorial equips you to unleash the full potential of RobotFramework. Get ready to supercharge your automation journey and emerge as a testing champion!","Description":"

Tutorial Agenda:

\\r\\n
    \\r\\n
  1. \\r\\n Introduction to RobotFramework (30 minutes):\\r\\n
      \\r\\n
    • Explore the basics of test automation and the importance of RobotFramework in modern software testing.
    • \\r\\n
    • Learn about the key features and advantages of RobotFramework.
    • \\r\\n
    \\r\\n
  2. \\r\\n
  3. \\r\\n Installation and Setup (20 minutes):\\r\\n
      \\r\\n
    • Walk through the step-by-step process of installing RobotFramework on your system.
    • \\r\\n
    • Configure your environment to kickstart your automation journey.
    • \\r\\n
    \\r\\n
  4. \\r\\n
  5. \\r\\n Creating Your First Test (20 minutes):\\r\\n
      \\r\\n
    • Build your first test case from scratch, incorporating keywords and test data.
    • \\r\\n
    • Understand the structure of a RobotFramework test suite.
    • \\r\\n
    \\r\\n
  6. \\r\\n
  7. \\r\\n Executing Tests (20 minutes):\\r\\n
      \\r\\n
    • Discover various methods of running test cases, including command-line execution.
    • \\r\\n
    • Interpret test execution results and reports.
    • \\r\\n
    \\r\\n
  8. \\r\\n
  9. \\r\\n Keyword Libraries and Custom Keywords (30 minutes):\\r\\n
      \\r\\n
    • Explore built-in and external libraries, and understand how to leverage them in your test cases.
    • \\r\\n
    • Create custom keywords to meet the unique requirements of your test scenarios.
    • \\r\\n
    \\r\\n
  10. \\r\\n
  11. \\r\\n Variable Management (20 minutes):\\r\\n
      \\r\\n
    • Learn how to handle variables to make your tests more dynamic and reusable.
    • \\r\\n
    • Understand variable scopes and the RobotFramework variable syntax.
    • \\r\\n
    \\r\\n
  12. \\r\\n
  13. \\r\\n Test Data Management (20 minutes):\\r\\n
      \\r\\n
    • Master the art of managing test data and test data files.
    • \\r\\n
    • Use data-driven testing to test various scenarios with a single test case.
    • \\r\\n
    \\r\\n
  14. \\r\\n
  15. \\r\\n Handling Test Environments (15 minutes):\\r\\n
      \\r\\n
    • Discover strategies for managing test environments and configurations.
    • \\r\\n
    • Handle setup and teardown tasks efficiently.
    • \\r\\n
    \\r\\n
  16. \\r\\n
  17. \\r\\n Best Practices and Tips (20 minutes)\\r\\n
\\r\\n\\r\\n

Tutorial Objective:

\\r\\n

This tutorial is designed for individuals with little to no experience with RobotFramework. Our goal is to equip you with the fundamental knowledge and practical skills required to start your test automation journey. Whether you\'re a tester, developer, or a quality assurance professional, you\'ll leave this tutorial with a solid understanding of how to create and maintain test suites, handle test data, and integrate RobotFramework into your projects.\\r\\n\\r\\n- Install and set up RobotFramework.\\r\\n- Create and execute basic test cases.\\r\\n- Efficiently manage variables, test data, and test environments.\\r\\n- Harness the power of keyword libraries and custom keywords.\\r\\n- Follow best practices for sustainable test automation.\\r\\n\\r\\nThis tutorial is designed to bring practical value to attendees by providing them with the skills and knowledge to confidently use RobotFramework for their test automation projects. It emphasizes hands-on experience, ensuring that participants are well-prepared to tackle real-world automation challenges and deliver high-quality software.","Describe your intended audience":"This tutorial is designed for individuals with little to no experience with RobotFramework. Our goal is to equip you with the fundamental knowledge and practical skills required to start your test automation journey. Whether you\'re a tester, developer, or a quality assurance professional, you\'ll leave this tutorial with a solid understanding of how to create and maintain test suites, handle test data, and integrate RobotFramework into your projects.\\r\\n\\r\\n
\\r\\n\\r\\nTutorial prerequisites:\\r\\n- computer with Python (>3.10) installed\\r\\n- node.js\\r\\n- IDE of choice","Is this suitable for ..?":"Beginner RF user"},{"ID":"KTU8MK","Proposal title":"Using RobotFramework for Embedded Driver Testing - A field report","Session type":{"en":"Talk"},"Track":null,"Abstract":"In 2020 we decided to use RobotFramework as an interface to our generic Embedded Test Platform.\\r\\nSince then our users check their hardware related microcontroller code only through Robot test sequences.\\r\\n\\r\\nThis talk will highlight some of the technical challenges we faced and what we learned in resolving them.","Description":"The talk will briefly explain why we turned to RobotFramework and what we need it for. Then these technical challenges are covered:\\r\\n\\r\\n- Access a network-based test device\\r\\n- Flexible keywords based on a user-defined configuration\\r\\n- Usability through VS Code and plugins \\r\\n- Concurrent access und authentication\\r\\n\\r\\nI will also share what seems to be missing in RobotFramework / Libraries / Ecosystem from our point of view.\\r\\nThe conclusion will give a definitive answer to the question if our decision to use RobotFramework as an interface turned out to be a good one or not.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["EWMKBG"],"Speaker names":["Paweł Wiśniewski"],"Room":{"en":"RoboCon"},"Start":"2024-02-09T10:00:00+00:00","End":"2024-02-09T12:30:00+02:00","Lessons Learned":"Participants will learn\\r\\n- How the Remote RobotFramework library can be used for fast prototyping and what limitations it has\\r\\n- On the importance of the ecosystem (such as VS Code plugins) for a good usability\\r\\n- Why turning to RobotFramework as an interface for custom test devices is a great choice","Describe your intended audience":"Targeted for a broad audience: \\r\\n- Developers and testers that look for ideas how to use RobotFramework for test embedded hardware-related code\\r\\n- People familiar with RF to give feedback about the ideas/problems presented","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"L977MQ","Proposal title":"Working with Resources, Libraries and Variables: patterns and pitfalls","Session type":{"en":"Tutorial"},"Track":null,"Abstract":"The Robot Framework offers many ways in which you can work with Resources, Libraries and Variables. This flexibility is a very powerful feature but as the saying goes: With great power comes great responsibility. And as always: Anything that can go wrong, will go wrong.","Description":"In this tutorial I\'ll go over a number of patterns I\'ve seen in Robot Framework projects, their pros and cons and related pitfalls.\\r\\n\\r\\n
\\r\\n\\r\\nWe\'ll also look at how a language server can help us (and how we can help the language server), what it\'s trying to tell us and how this relates to the tidy and robocop tools.\\r\\n\\r\\n
\\r\\n\\r\\nI hope to also show a proof-of-concept for a tool to visualize the import structure of a Robot Framework project that can help in improving the structure of a project.","Duration":120,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["EFQQP9"],"Speaker names":["Robin Mackaij"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-27T14:00:00+00:00","End":"2024-02-27T18:00:00+02:00","Lessons Learned":"- Better insight in how the Robot Framework resources / libraries system works\\r\\n- What (common) patterns there are and their pros and cons\\r\\n- How a language server / tidy / robocop can help solving \\"import issues\\" in a project","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"LF8DXX","Proposal title":"Maximizing Efficiency with RobotCode CLI Tools: A Comprehensive Guide","Session type":{"en":"Tutorial"},"Track":null,"Abstract":"[RobotCode](https://robotcode.io/) is widely known as Visual Studio Code Extension, but it also provides a set of powerful command line tools that greatly enhance the development experience with Robot Framework. This tutorial will introduce the practical uses of these tools and show how they can streamline your workflow and improve project quality.","Description":"Participants will learn how RobotCode CLI Tools can support their work in Robot Framework projects:\\r\\n\\r\\n- **Utilizing Configuration Files**: The `robot.toml` configuration file simplifies the definition of parameters necessary for executing tests and tasks, eliminating the need for complex command-line calls. It facilitates the creation of execution profiles for various environments, such as test, development, production, or CI.\\r\\n\\r\\n- **Efficient Querying of Project Information**: Developers can quickly identify which suites, tests, tasks, or tags are present in their project without the need for a complete test run or dry run. They can also experiment with different tag combinations and explore test cases associated with specific tags. This information can be easily displayed on the console and structured in a file for further processing.\\r\\n\\r\\n- **Enhancing Project Quality**: The RobotCode CLI Tools allow users to inspect their project for potential issues like typos, unknown keywords, imports, or variables. Furthermore, unused keywords or variables are detected, simplifying project-wide optimization. All diagnostic information displayed in the IDE is also available on the console.\\r\\n\\r\\n- **Optimizing Project Structure**: Developers can streamline their projects with RobotCode by removing unnecessary files or folders (i.e. the output folder). Additionally, they can generate new projects or files from pre-defined or custom templates.\\r\\n\\r\\nThis tutorial is for developers who want to optimize their use of Robot Framework with the advanced features of RobotCode. Participants should bring their own laptops, have a basic knowledge of Robot Framework and Python, and have a GitHub account. Installation is not required.","Duration":120,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["RMY3KA"],"Speaker names":["Daniel Biehl"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-27T11:00:00+00:00","End":"2024-02-27T15:00:00+02:00","Lessons Learned":"- How to create and use a `robot.toml` configuration file\\r\\n- How to use the `robotcode` command to execute tests and tasks, switching between different execution profiles, select profiles in VSCode, etc.\\r\\n- How to use the `robotcode` command to query project information\\r\\n- How to use the `robotcode` command to check project quality\\r\\n- How to clean up a project with the `robotcode` command\\r\\n- How to generate new projects or files from predefined templates with the `robotcode` command","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"LHTGWU","Proposal title":"Performance test in a day using Robot Framework and RFSwarm","Session type":{"en":"Workshop - Full Day"},"Track":null,"Abstract":"In this workshop you\'ll see how you can use Robot Framework and RFSwarm to begin performance testing on day 1 with a new to you application.\\r\\n\\r\\nStarting from scratch you will write test cases and tune them for performance testing and by end of the day run a performance test and then generate a report suitable for presenting your results.","Description":"Attendees of this workshop will write some simple tests with robot framework, then make adjustments to those tests to prepare them for performance testing with RFSwarm, setup RFSwam components (Agent, Manager & Reporter), then run a performance test with RFSwam using the test cases created and prepare a test report from the performance test results and finally create a template of the report for future tests\\r\\n\\r\\n
\\r\\n\\r\\nIf time allows we\'ll cover monitoring of the AUT server, integration with CI/CD builds, Agents running in the cloud, and any questions that come up.\\r\\n\\r\\n
\\r\\n\\r\\nThe workshop will be based on a web store application to be representative of a typical application you might find in a retailer, The test steps to navigate the application as this would normally be provided to the test automation team.","Duration":420,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["UHHRL8"],"Speaker names":["Dave Amies"],"Room":{"en":"Performance test in a day using Robot Framework and RFSwarm"},"Start":"2024-02-06T07:00:00+00:00","End":"2024-02-06T16:00:00+02:00","Lessons Learned":"- How to tune a Robot Framework test case for optimal use with RFSwarm\\r\\n- How using RFSwarm can help an organization start performance testing quicker on their projects\\r\\n- How to use the various components of RFSwarm","Describe your intended audience":"- People who currently use Robot Framework and are interesting in performance testing\\r\\n- People who currently use other performance testing tools and are interested in Robot Framework\\r\\n- People who currently use other performance testing tools and already use Robot Framework for other testing\\r\\n\\r\\nPrerequisites and Technical Requirements:\\r\\nPlease ensure you have the following for the workshop:\\r\\n- Create an account with https://gitpod.io (you can use a Github or Gitlab account if you want) If you already have a gitpod account please ensure you have 80 credits free for the workshop (free accounts have 500 credits per month)\\r\\n- Bring a laptop with the following:\\r\\n - Minimum 2 cores & 4GB ram, but ideally 4 cores & 8GB ram or more for the best workshop experience (the more ram and cpu the more robots you\'ll be able to run)\\r\\n - Robot Framework and SeleniumLibrary installed and working\\r\\n - Your Preferred IDE/Text editor for creating Robot Framework scripts installed","Is this suitable for ..?":"Intermediate RF user, Advanced RF user"},{"ID":"LSJFXU","Proposal title":"Harnessing the POWER of Robot Framework for Automation Of Data Quality Controls","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"In this presentation we will go over a live use case showcasing the power of Robot Framework and it is usage in the Automation of Data Quality Controls.","Description":"We live in a World of Data. We need data for almost every Analytical purpose. Financial institutions are one among the Major sectors using Data especially\\r\\nin Trade and investment, Tax reform, Fraud detection and Investigation and Risk Analysis.\\r\\n\\r\\nWe will have quick overview of a live use case and how we helped the client to tackle a real time problem by setting up an Automated Quality Controls process for Data Delivery to Analysis Teams.\\r\\n\\r\\nThe Client had a problem statement of running 2000+ Database queries across 180+ DB tables across different Delivery checkpoints. This was manual, much time consuming and prone to manual error.\\r\\n\\r\\nThe Data delivered to downstream systems was through different Business Layers, some in Hadoop, a few in Oracle and a few in files. I from Automation perspective saw the pattern of these queries and how we can simplify the whole process. I harnessed the power of Robot Framework and suggested to Automate the queries and we call it Data Quality Controls.\\r\\n\\r\\nWe used Robot Framework and Automated 2000+ Controls and this serves as entry and exit checkpoints at each Business level. These Data Quality Controls run every month to ensure accuracy, completeness, consistency, validity and no wrong data is supplied to the DownStream system.\\r\\n\\r\\nFramework Architecture:\\r\\nWe build a Hybrid Test Automation Framework with Page Object Model, combined with Keyword and Data Driven Architecture to cater our needs.\\r\\n\\r\\nTech Stack: Hadoop, HDFS, Oracle, Unix and Python\\r\\nTest Automation: Robot Framework with Python\\r\\n\\r\\nSavings:\\r\\nThe Quality Control Validations which were previous performed by Business Users for weeks to months, got reduced to less than a Day\'s effort. We saved over 5000+ Person Days over the years.\\r\\n\\r\\nOther Information:\\r\\nClient Details: \\r\\nThe client is one of the top Banks in Nordics. The Bank has its presence wide spread across Denmark, Sweden, Finland, Norway and Poland.\\r\\n\\r\\nProject Description:\\r\\nThe project is a regulatory compliance project for the Bank.\\r\\n\\r\\nAbout Me:\\r\\nI am an Automation Solution Architect and Automation Consultant with 12+Years of Experience, working for One of Top Global Tech Company- Tata Consultancy Services. I am from Chennai, India and I am currently in Sweden on Deputation.\\r\\n\\r\\nI have worked over a decade in Big Data Testing (Hadoop-Hive, Impala, HBase, HDFS) and Oracle DBs. \\r\\n\\r\\nAutomation and Frameworks:\\r\\nUI/API/DB/ETL Test Automation, Robot Framework Testing, Keyword/Data/Behaviour Driven Frameworks, POM Framework, TestNg and Hybrid framework\\r\\n\\r\\nRPA:\\r\\nUI Path- Advanced Developer Certified\\r\\n\\r\\nAutomation Tools:\\r\\nBackend- Robot Framework Testing, Fitnesse Test Automation Tool, Talend Data Integration and ETL Test automation using Excel Marco\\r\\n\\r\\nUI- Selenium Web Driver (Page Object Model and Hybrid Frameworks) and Selenium Grid\\r\\n\\r\\nAPI- SOAP UI and Rest Assured\\r\\n\\r\\nCICD- Jenkins\\r\\n\\r\\nLanguages known- C, C++, Java and Python\\r\\n\\r\\nMy LinkedIn Profile: https://www.linkedin.com/in/rohith-ram-prabakaran-28921180/","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["G3QVQY"],"Speaker names":["Rohith Ram Prabakaran"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T11:30:00+00:00","End":"2024-02-29T13:50:00+02:00","Lessons Learned":"- Customization of Robot Framework to serve different needs\\r\\n- Data Volume handling\\r\\n- Customizing SQL and validating Data correctness based SQL build using Python and Robot Framework\\r\\n- Integrating Robot Framework across CICD pipelines","Describe your intended audience":"Data Warehouse Testing\\r\\nETL Testing","Is this suitable for ..?":"Beginner RF user, Intermediate RF user"},{"ID":"LVMWVU","Proposal title":"Why cybersecurity is part of your job as QA Engineer","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"The average tester might feel that cybersecurity is something committed in a separate silo. In this talk I go through why cybersecurity is everybody\'s business and very much part of the QA. We cover the project security, testing security as part of the QA and how regression testing with Robot Framework can be part of security testing too.","Description":"Cybersecurity is essential part of the software product quality. It is easy to think that it is some kind of niche and technical that only hackers understand. However you don\'t need to be Mr Robot looking for zero-day vulnerabilities. Many cybersecurity incidents are caused by flaws in the production quality that \\"the normal QA\\" could have spotted. \\r\\n\\r\\nThis talk covers what the average QA can do for:\\r\\n-Project security\\r\\n-Product security\\r\\n-Maintaining the security via regression testing","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["EVXAKM"],"Speaker names":["Katarina Partti"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T18:00:00+00:00","End":"2024-02-28T20:20:00+02:00","Lessons Learned":"In the talk I will go through some real-life breaches as examples and explain why the QA engineer is an essential part of the product security and how we can make an attitude shift in taking ownership in the security too and not just think \\"it\'s someone elses problem\\". I have some examples and discussion on the project and product security as well as giving food for thought on how the Robot Framework regression testing can also play a part in cybersecurity.\\r\\n\\r\\nAfter this session i hope the listener can evaluate their project\'s cybersecureness and knows practical best practices for test automation security. The participants should have new ideas and hopefully get the urge to know more about the subject and to do concrete actions in their work for better security.","Describe your intended audience":"Testers, Automation Testers, anyone working with software.","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"LVWRA8","Proposal title":"Reinventing Test Automation at Amadeus: The Power of Robot Framework","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Amadeus develops solutions for the travel industry and must deal with different business and industry technology standards.\\r\\nThis presentation will highlight how Amadeus revolutionized its test automation framework by moving from various internal test tools to a single Robot Framework ecosystem with functional keywords libraries based on python.","Description":"[Amadeus](www.amadeus.com) is the world leader in software solutions for the travel industry and must deal with a complex environment including many technologies, ranging from industry standard to very business-specific ones. This can include technologies like Angular UIs, REST APIs, Soap XMLs, Kafka but also more specific airlines protocols like [EDIFACT](https://unece.org/trade/uncefact/introducing-unedifact) or Cryptic commands.\\r\\nWith its Amadeus pioneer mindset culture many new tools were internally developed to create test scripts libraries which keep on growing with the time. Addressing and maintaining all these libraries became, over time, a real challenge.\\r\\nMoreover, building an end-to-end test solution with all these various tools turned out to be very complex and sometimes impossible, leading to a lot of manual test campaigns.\\r\\nIn this presentation we will show you how Robot Framework was a game changer for us as we started to automate in a much effective way, embracing the diversity of our technologies in a smooth way.\\r\\nWe will highlight:\\r\\n- how by designing python library templates, we now have a common way of developing our business specific keywords libraries providing guidelines without affecting flexibility and without forcing users to a strict model,\\r\\n- how our framework is based on standard keywords to send messages through the different protocols used for testing,\\r\\n- how the defined templates are easily adaptable to small and large products,\\r\\n- how we promote a standard model for the keyword documentation, and we centralize all the testing libraries documentation in one single place to ease the sharing,\\r\\n- and finally, how this model is compatible with our new Cloud Native Applications","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["QPFXQJ","KVWYMA"],"Speaker names":["Sebastien Plaisant","Andrea Tipa"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T15:30:00+00:00","End":"2024-02-29T17:50:00+02:00","Lessons Learned":"In this presentation we will highlight the key lessons we have learned from the project:\\r\\n•\\tStandardization, speak a common language, is key but effort must be done in finding the right balance between providing the good flexibility without forcing the adoption of a strict model.\\r\\n•\\tFunction approach is key to define your testing keywords. This approach is scalable and reflect product evolution (new features developed) as well as to be human understable.\\r\\n•\\tSharing is another key pillar to promote existing testing keywords and avoid duplications.","Describe your intended audience":null,"Is this suitable for ..?":"Intermediate RF user"},{"ID":"MEDT8A","Proposal title":"Scalable test automation in an insurance company","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"In our talk, we would like to review our project with you and visualise how we established a scalable test automation kit with Robot Framework in an insurance company with a heterogeneous application landscape. We report on the framework conditions, milestones and challenges to be considered.","Description":"Provinzial Versicherung AG is the second largest public insurance group in Germany. We gain our strength from the regional ties of our subsidiaries. For more than 300 years, we have been where our customers are. Today, more than five million private and corporate customers place their trust in us.\\r\\nWith over 6,500 employees, almost 1,000 of whom work in IT, Provinzial Versicherung AG is also a major IT employer. \\r\\nThe application landscape is historically highly networked and complex. The entire software development process, starting with the creation of requirements and ending with the release of tests, is carried out decentrally in the respective teams. For this reason, various automation solutions have become established in our group.\\r\\nWe were commissioned about two years ago to unify the test automation process and develop a test automation strategy. Our journey began with the evaluation of various test tools and the comparison of different approaches to test automation. One of the challenges for a test automation solution was that software tests should be able to be automated by a wide range of users, even without development knowledge. In our talk we would like to review our project with you and visualise how we created a scalable test automation kit with Robot Framework. Among other things, we made the courageous decision for an insurance company to use an open source tool. Joining the Foundation should reflect our belief in the Framework and our commitment to it. In the meantime, Robot Framework is used for testing in over 20 applications.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["99CJBK","FPBMBN"],"Speaker names":["Matthias Grabowsky","Ivaylo Brüssow"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T13:00:00+00:00","End":"2024-02-28T15:20:00+02:00","Lessons Learned":"In our talk, the audience will learn how Robot Framework was introduced as a central tool for test automation. We report on our identified opportunities and challenges, visualising a way to establish Robot Framework in a large corporation. In our test automation kit we have developed a comprehensive training and onboarding concept. In addition to using many available libraries, we develop internal libraries in a central team, which are used in the decentralised development teams. \\r\\nOur talk shows the audience our path and our success story in introducing test automation. We want to show others that the use of Robot Framework is a good decision and want to give inspiration about the successes we have had in a short time.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user"},{"ID":"NZMMFU","Proposal title":"Ecosystem Project Review: Doing unloved tasks in Browser lib (Live)","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Live session! Ecosystem project review of the project followed by a Q&A!","Description":"Live session! Ecosystem project review of the project, followed by a Q&A! The Robot Framework Ecosystem is vast, and the Robot Framework Foundation occasionally funds some of its projects. Tune in to hear what was achieved with the funding this time!","Duration":12,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["JUQN3X","8HSX9A"],"Speaker names":["René Rohner","Tatu Aalto"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T10:12:00+00:00","End":"2024-02-29T12:24:00+02:00","Lessons Learned":"TBA","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"P8PLF7","Proposal title":"RoboSAPiens: SAP GUI Automation for Humans","Session type":{"en":"Talk"},"Track":null,"Abstract":"RoboSAPiens provides keywords for automating the SAP Windows GUI in a way that resembles commanding a person to use it. The key innovation is that only information visible in the user interface is needed. Moreover, it is designed to be translatable. Currently, keywords are available in English and German.","Description":"The SAP Windows GUI client is widely used around the world and across many industries. Its users are mostly domain experts, who are increasingly interested in automating business processes for quality assurance purposes. And they want do it using the language of the domain instead of a programming language.\\r\\n\\r\\nRoboSAPiens provides a set of keywords for automating the SAP Windows GUI in a way that resembles commanding a person to use it. The key innovation is that only information visible in the user interface is needed. This is in stark contrast to existing solutions, which rely on the low-level structure of the GUI, resulting in cryptic automation scripts. In order to empower domain experts around the world, RoboSAPiens is designed to be translatable. Currently, keywords are available in English and German.\\r\\n\\r\\nThis talk provides a short tutorial to get started using RoboSAPiens. After the installation and setup, different keywords will be showcased in a live demo. Along the way tips and tricks for automating the SAP GUI will be shared. There will also be some anecdotes from RoboSAPiens in the wild.\\r\\n\\r\\nRoboSAPiens was initially developed by imbus as an internal project at NRW.Bank (the state development bank of the federal state of North Rhein-Westphalia in Germany). Due to its positive impact on the efficiency of quality assurance tasks, the bank decided to make it available to the world as open-source software. imbus continues the development of RoboSAPiens. The source code can be found at [https://github.com/imbus/robotframework-robosapiens](https://github.com/imbus/robotframework-robosapiens).","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["R978PJ"],"Speaker names":["Marduk Bolaños"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T12:00:00+00:00","End":"2024-02-28T14:20:00+02:00","Lessons Learned":"Since this is a new tool and it is aimed at domain experts, this talk will serve as an introduction and short tutorial. Participants can expect to learn the following:\\r\\n\\r\\n- Which keywords are available\\r\\n- How to use RoboSAPiens interactively\\r\\n- Pro tips for getting the most out of RoboSAPiens","Describe your intended audience":"The intended audience of the talk are people who work with the SAP Windows GUI and would like to automate it to save time. This includes automatically filling out forms with data from Excel and automating manual tests.","Is this suitable for ..?":"Beginner RF user"},{"ID":"PQUXLU","Proposal title":"Creating a Web Testing Framework from scratch using Robot Framework and Browser Library","Session type":{"en":"Tutorial"},"Track":null,"Abstract":"Starting a new web project? Need to automate manual web tests? Want to automate some other browser based processes? This tutorial will help You set up Your web testing framework from scratch, the right way!","Description":"**Creating a Web Testing Framework using Robot Framework and Browser Library from Scratch**\\r\\n\\r\\n1. **Initial Setup** - 10 minutes\\r\\n - In this step, we will set up the environment for our web testing framework. We will install the necessary software and libraries, and configure the system to run our tests.\\r\\n\\r\\n2. **Basic Web Test Case** - 20 minutes\\r\\n - In this step, we will create a basic web test case using Robot Framework and Browser Library. We will learn how to open a browser, navigate to a website, and perform some basic actions.\\r\\n\\r\\n3. **Introduce Page Object Pattern** - 20 minutes\\r\\n - In this step, we will introduce the Page Object Pattern, which is a design pattern used in web testing to make tests more maintainable and easier to read. We will learn how to create page objects and use them in our tests.\\r\\n\\r\\n4. **Move Locators to Variable Files** - 10 minutes\\r\\n - In this step, we will move the locators used in our tests to variable files. This makes it easier to maintain our tests as we can change the locators in one place instead of having to update them in multiple places. This also allows easier reuse in multiple locations\\r\\n\\r\\n5. **Handle File Upload and Download** - 20 minutes\\r\\n - In this step, we will learn how to handle file upload and download using Robot Framework and Browser Library. We will learn how to upload a file to a website and download a file from a website.\\r\\n\\r\\n6. **Handling iFrames and Shadow Dom** - 20 minutes\\r\\n - In this step, we will learn how to handle iFrames and Shadow DOM using Robot Framework and Browser Library. We will learn how to switch between iFrames, interact with elements inside iFrames, and interact with elements inside Shadow DOM.\\r\\n\\r\\n7. **Remote Execution using LambdaTest** - 20 minutes\\r\\n - In this step, we will learn how to execute our tests remotely using LambdaTest. We will learn how to configure our system for remote execution and run the tests on LambdaTest.","Duration":120,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["QBMFY7"],"Speaker names":["Jerzy Głowacki"],"Room":{"en":"RoboConOnline"},"Start":"2024-03-01T09:00:00+00:00","End":"2024-03-01T13:00:00+02:00","Lessons Learned":"This was pretty much covered in the talk description, but it\'s as follows:\\r\\n1. Initial Environment Setup for Web Testing with Browser Library\\r\\n2. Creating Basic Web Test Cases using Browser Library\\r\\n3. Using Page Object Pattern in Web Tests\\r\\n4. Using Variable Files for Locators\\r\\n5. Handling File Upload and Download\\r\\n6. Handling iFrames and Shadow Dom\\r\\n7. Remote Execution using LambdaTest","Describe your intended audience":"This tutorial is directed mostly at people who are interested in creating their first web testing framework or enhancing their existing one.\\r\\n\\r\\n
\\r\\n\\r\\nBasic Robot Framework knowledge will be required, but everything else should be covered within the tutorial. Also a non-corporate PC is advised as many company firewalls block npm repositories","Is this suitable for ..?":"Beginner RF user"},{"ID":"QKEUZP","Proposal title":"Browser Library Advanced Workshop","Session type":{"en":"Workshop - Full Day"},"Track":null,"Abstract":"Learn how to use Robot Framework Browser like a pro.\\r\\n\\r\\nExtending Browser library, using it from Python, interacting with Playwright and many more.","Description":"Dive deep into the world of web automation with Tatu and René using the Browser library for Robot Framework. This state-of-the-art library, powered by Playwright, is designed for the modern web, ensuring speed, reliability, and visibility. In this workshop, participants will not only learn the basics of JavaScript but also how to extend the Browser library by creating custom keywords in both JavaScript and Python. We’ll also cover the advanced features and keywords of the Browser library, ensuring a comprehensive understanding of web automation.\\r\\n\\r\\n**Agenda**:\\r\\n- **Browser Fundamentals**\\r\\n - Installation and binary structure (Tatu)\\r\\n - Importing Settings (René)\\r\\n - Logging (playwright Logs, Robot Loglevel, PW Trace) (Tatu)\\r\\n - Browser, Context, Page (Catalog, Switching) (Tatu)\\r\\n - Basic JS (René)\\r\\n- **Extending Browser**\\r\\n - JavaScript Plugin-API (René)\\r\\n - Python Plugin-API (Tatu & René)\\r\\n - AssertionEngine (Tatu)\\r\\n - Using Browser from Python (René)\\r\\n- **Browser Advanced Keywords**\\r\\n - Waiting (Tatu)\\r\\n - Promise To (René)\\r\\n - Get Element States (René)\\r\\n - Upload File (Selector or Dialog) (René)\\r\\n - Selectors (CSS, nth, playwright possibilities) (René)","Duration":420,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["8HSX9A","HTDUSJ"],"Speaker names":["Tatu Aalto","René Rohner"],"Room":{"en":"Browser Library Advanced Workshop"},"Start":"2024-02-06T07:00:00+00:00","End":"2024-02-06T16:00:00+02:00","Lessons Learned":"- Understand the capabilities of the Browser library and its integration with Playwright.\\r\\n- Learn to write custom keywords in JavaScript and Python to extend the Browser library.\\r\\n- Deep dive into advanced keywords and features of the Browser library.\\r\\n- Gain hands-on experience with real-world web automation scenarios.","Describe your intended audience":"**Knowledge Level**:\\r\\n- **Robot Framework**: Advanced knowledge and experience required.\\r\\n- **Browser or SeleniumLibrary**: Familiarity with Browser Library or extensive experience with SeleniumLibrary.\\r\\n- **Web Testing**: Experience in web automation and a basic understanding of HTML.\\r\\n- **Python**: Basic proficiency.\\r\\n\\r\\n**Preparation and Tech Requirements**:\\r\\n- **Computer**: Capable of running Robot Framework and Browser library with internet access.\\r\\n- **Software**:\\r\\n - Python >= 3.8\\r\\n - NodeJS 18 or 20\\r\\n - Robot Framework >= 6.1\\r\\n - Robot Framework Browser >= 18\\r\\n - Editor (IDE) for Python and JavaScript (e.g., VSCode)\\r\\n - Optional: Robot Framework language support (Recommended: Robot Code plugin for VSCode)\\r\\n - Note: For those unable to install software, GitPod, a cloud-based browser IDE, is an alternative.\\r\\n- **Accounts**: A GitHub account.\\r\\n- **Test Case**: We will provide a test case to verify your setup.","Is this suitable for ..?":"Intermediate RF user, Advanced RF user"},{"ID":"QQSGJU","Proposal title":"Roadtrip across the Robot Framework pitfalls and how our architecture saved us.","Session type":{"en":"Talk"},"Track":null,"Abstract":"Ever had to restructure your project because it grew into an untameable monster? Or had to reorganise because more teams wanted to use your project? Or had to explain your tests to others? Or struggled how to setup a new RF project.\\r\\nOver the years we came up and fine-tuned an architecture that works from the very beginning to large scale projects.","Description":"We will take you along the ride during the course of seven years where we implemented Robot Framework in different environments at different clients. During this period, we ran into many challenges of which we are sure most of the attendees have already ran, or will run into sooner or later.\\r\\n\\r\\nStarting with the troubles of re-using and maintaining scripts when we started to grow our test automation efforts. Then stakeholders wanted to get a grip on what is tested and we needed to get them easily involved. In the mean time more teams found themselves interfacing with systems from other teams and wanting to use the test automation of those teams for test setups and end-to-end testing as was requested by stakeholders.\\r\\n\\r\\nSince the first design of our architecture, we’ve used this as a basis for several clients. Despite the fact that every environment comes with its own challenges, we found the basis of the architecture very reliable and with some tweaking here and there it never seems to let us down. So, join us for the ride and see if we can inspire you to face your own challenges with our architecture.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["HL7EQT","NEBFDV"],"Speaker names":["Guido Demmenie","Frank van der Kuur"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T12:40:00+00:00","End":"2024-02-08T15:10:00+02:00","Lessons Learned":"At the end of the talk, attendees will have seen a proven best practice architecture on how to structure resources in such a way that they can:\\r\\n- easily maintain their project\\r\\n- easily collaborate with stakeholders in creating and communicating tests\\r\\n- easily collaborate across teams and projects within a larger organisation\\r\\n\\r\\nWe will show our solutions to common challenges that you will face when setting up the robot framework in a new environment and when scaling up to multiple applications and/or teams.","Describe your intended audience":"Since it is an architecture that is useful on small scale to large scale projects, everyone can benefit from the good practices we used.","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"QYL83X","Proposal title":"From Jenkins to GitHub Actions with Robot Framework: A Shared Action-Based Solution","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Let\'s explore the possibilities of migrating the Robot Framework execution environment from Jenkins to GitHub Actions.\\r\\nOur solution leverages actions, all sharable within our company, for setup, test execution, result analysis (with proper formatting within GitHub Job Summary), as well as result propagation into our test management tool Jira.","Description":"We are faced with the challenge of leaving the familiar Bitbucket environment for our repositories and Jenkins for test execution in favor of cloud solution from GitHub with GitHub Actions.\\r\\nOur goal is to introduce to you our concept, thanks to which we can gradually move individual projects - individual repositories to GitHub and use the launch of tests directly within the repository using GitHub Actions.\\r\\nAs runners, we use our own Linux images running in the OpenShift 4 platform. At this moment, we benefit from GitHub caching capabilities for quick install and setup of current environment for testing. \\r\\nWe created separate Actions that we share within the organization and that provide us with the necessary steps:\\r\\n\\t• **Preparation of the environment**, including Python installation, setting up Robot Framework, Browser Library, and making necessary tweaks such as proxy settings.\\r\\n\\t• **Test Execution** through a shared action, saving results to an artifact, and displaying an extract in the GitHub Job Summary.\\r\\n\\t• **Importing results to Jira** This action ensures the results are written using Xray for our reporting tool.\\r\\n\\r\\nDuring this talk, we will be happy to show you what challenges and technological limitations we faced, how we solved them and how we use this new approach in our company on day-to-day basis. \\r\\nWe\'re hopeful that our experience can inspire other teams facing similar scenarios.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["LQRAAR"],"Speaker names":["Roman Haladej"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T12:00:00+00:00","End":"2024-02-29T14:20:00+02:00","Lessons Learned":"The talk highlights the challenge of transitioning from on-premises solutions like Jenkins and Bitbucket to a cloud-based solution like GitHub Actions.\\r\\nThe lesson learned here is that organizations need to adapt to changing technologies and consider cloud solutions for more flexibility and scalability. As well as creation of separate actions for various testing steps, such as environment preparation, test execution, and result import into Jira. This approach allows for better organization and reuse of actions.\\r\\nMain approach is to break down complex processes into manageable steps, making them more maintainable and shareable.\\r\\nPart of this solution is displaying an extract directly in the GitHub Job Summary and Integrating test results into Jira, specifically using Xray for reporting.","Describe your intended audience":"Developers or DevOps teams interested in transitioning from Bitbucket and Jenkins to GitHub and GitHub Actions.\\r\\nThose who are keen on improving their automation skillsets, especially with regards to testing.\\r\\nTech teams grappling with similar technological constraints, who could benefit from discovering our problem-solving approaches.\\r\\nAnd anyone excited to learn about practical usage of Git Hub Actions and GitHub Job Summary with Robot Framework.","Is this suitable for ..?":"Beginner RF user, Intermediate RF user"},{"ID":"RKDPWC","Proposal title":"How not to write ugly Robot Framework code","Session type":{"en":"Tutorial"},"Track":null,"Abstract":"How to organize your Robot Framework project? How to structure your test code in resource files? How to deal with very long lines? How to ...? Join this tutorial to learn where to find answers on these questions. We will also share a little secret how to become a contributor to the first Style Guide for Robot Framework.","Description":"This is a preliminary outline of the Tutorial. Please note that it might be modified by the time Tutorial is held. This is in an effort to make the 2 hours as fruitful as possible.\\r\\n\\r\\n
\\r\\n\\r\\nThe tutorial will start with a general introduction, followed by a warm-up discussion about the code quality, specifically, in the context of Robot Framework (~5+15 minutes minutes).\\r\\n\\r\\n
\\r\\n\\r\\nNext, tools and resources to assist code writing will be introduced: Style Guide, robocop, robotidy (~30 minutes).\\r\\n\\r\\n
\\r\\n\\r\\nOptional break (10 minutes).\\r\\n\\r\\n
\\r\\n\\r\\nAfter the break, guided hands-on sessions will be held. The first hands-on session will include an exercise to convert a messy Robot Framework code into a clean code with the help of the Style Guide, robocop and robotidy (25 minutes).\\r\\n\\r\\n
\\r\\n\\r\\nReflection - opinions regarding the recommendations in the Style Guide, and default rules in the robocop/robotidy (10 minutes).\\r\\n\\r\\n
\\r\\n\\r\\nThe last part of the tutorial will be dedicated to coming up with own conventions:\\r\\n- Configuring settings in robocop and robotidy (demo ~10 minutes)\\r\\n- Contributing to common Style Guide and using it as a common reference (~10 minutes)\\r\\n\\r\\n
\\r\\n\\r\\nConclusion (~5 minutes).\\r\\n\\r\\n
","Duration":120,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["9BRJUX","HL7EQT","WG3A8G"],"Speaker names":["Kelby Stine","Guido Demmenie","Manana Koberidze"],"Room":{"en":"RoboConOnline"},"Start":"2024-03-01T13:30:00+00:00","End":"2024-03-01T17:30:00+02:00","Lessons Learned":"
\\r\\n\\r\\nParticipants will learn \\r\\n- How well-written test code looks like.\\r\\n- What resources and tools they can use to help them write a clean Robot Framework code.\\r\\n- How they can contribute to defining the coding standard for Robot Framework.\\r\\n\\r\\n
","Describe your intended audience":"Anyone interested is welcome to the Tutorial.","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"RNDZQB","Proposal title":"Empowering Lives Through Automation: A Success Story of the Testing Academy","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Discover how a Testing Academy mixed with Robot Framework changes peoples lives, empowering individuals to dream bigger, and succeed beyond their wildest expectations. The Robot Framework, in this talk where we will present the real testimonies of people, is no longer an automation tool but the tool that enables career transition.","Description":"In an ever-evolving world driven by fast technological advancements like AI, the power of test case automation to influence better software delivered in production has become undeniable. \\"Empowering Lives Through Automation: A Success Story of the Testing Academy \\" delves into an inspiring narrative that explores how a Testing Academy mixed with Robot Framework is open door to the career transition and changed the lives of individuals.\\r\\n\\r\\nThis captivating journey begins with an introduction to Testing purpose and ends with the basics to automate front ends with total independence. The story unfolds as we follow a group of diverse individuals, each with their unique backgrounds, aspirations, challenges, mainly women, who left their country (Brazil) in search of a future in Europe, and still haven\'t found their place. So, they share a common thread—a burning desire to embrace a career transition and reshape their destinies.\\r\\n\\r\\nThe narrative provides an in-depth look into the rigorous training and mentorship these students receive, underlining the academy\'s commitment to ensuring their success. As they immerse themselves in the world of testing and automation testing, they discover new skills, develop innovative mindsets, and experience personal growth. \\r\\n\\r\\nIn the field of Test Automation, the Robot Framework is the right tool for a this kind of academy. The Keyword driven mode, being an almost natural language, makes everything very easy. Is amazing how these individuals get new confidence in their lives and purpose.\\r\\n\\r\\nThe talk also touches on the broader societal implications of this success story. By positively transforming the lives of those arriving from another country, where unemployment, low wages and street violence exist, we demonstrate that we contributing to the millennium goals (according to the UN)\\r\\n\\r\\nIn conclusion, \\"Empowering Lives Through Automation: A Success Story of the Testing Academy\\" is a compelling exploration of the profound, often emotional, impact that testing academy mixed with test case automation provided by Robot Framework can have on individuals and their communities. This talk serves as a testament to the endless possibilities presented by Robot Framework tool, it\'s not just an automation tool, but a tool to change people\'s lives.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["RHSU38"],"Speaker names":["Paulo José Estrela Vitoriano de Matos"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T11:30:00+00:00","End":"2024-02-28T13:50:00+02:00","Lessons Learned":"1) Robot Framework is \\"the\\" tool to include in any QA academy program. Attendees will have access to the course program.\\r\\n\\r\\n1.1) The fact that we know that Robot Framework is Open Source gives us the certainty that educational programs using this tool have a future\\r\\n\\r\\n2) The easy-to-read Keyword driven functionality is a huge asset, like the RF foundation say \\"human-readable keywords. \\". This asset need to be real valued for all participants in the development cycle, whether QAs, BAs or DEVs. It will be clear to everyone that keywords from libraries are the method they should use by default\\r\\n\\r\\n3) in a labor market with a lack of automation resources, transforming manual testers into testers is possible with a RF and a short learning curve, or, being more radical (as in this story case demonstrates), total professional retraining.","Describe your intended audience":"The main audience for this talk is management teams or team leaders. Management teams are currently struggling to start automating (and they needed), essentially due to a lack of human resources. This is one solution. \\r\\n\\r\\nSecondly, manual testers can use these user story example to feel the boost to make the leap to automation.","Is this suitable for ..?":"Beginner RF user"},{"ID":"RYES8M","Proposal title":"Mystery Challenge: The Robot Framework Edition","Session type":{"de":"Keynote","en":"Keynote"},"Track":null,"Abstract":"Welcome, everyone! Today\'s conference session is set to be a unique and thrilling experience, blending technology with an element of fun. We\'ve prepared an interactive segment that\'s more than just a discussion – it’s a challenge of wit and quick thinking, centered around the intriguing world of the Robot Framework.","Description":"Welcome, everyone! Today\'s conference session is set to be a unique and thrilling experience, blending technology with an element of fun. We\'ve prepared an interactive segment that\'s more than just a discussion – it’s a challenge of wit and quick thinking, centered around the intriguing world of the Robot Framework.\\r\\n\\r\\nGet ready for an engaging adventure that tests your knowledge in unexpected ways. We promise a mix of surprise, competition, and learning, all wrapped in a game-like format.\\r\\n\\r\\nThe details are a mystery for now, but the excitement is just moments away. Prepare for a session that\'s as entertaining as it is enlightening.","Duration":60,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["VWRTSC","HTDUSJ"],"Speaker names":["Mateusz Nojek","René Rohner"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T15:00:00+00:00","End":"2024-02-08T18:30:00+02:00","Lessons Learned":"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.","Describe your intended audience":null,"Is this suitable for ..?":"Advanced RF user"},{"ID":"SCRLQS","Proposal title":"Lightning Talks","Session type":{"en":"Talk"},"Track":null,"Abstract":"Spontaneous Proposals: Attendees are encouraged to pitch their talk ideas during the conference. Be ready to share your insights!\\r\\nAudience-Powered: The audience votes to select the most captivating talks in the conference APP.\\r\\nDynamic Presentations: Selected talks will be featured in this fast-paced, exciting slot. Each speaker gets a 7 minutes.","Description":"Spontaneous Proposals: Attendees are encouraged to pitch their talk ideas during the conference. Be ready to share your insights!\\r\\nAudience-Powered: The audience votes to select the most captivating talks in the conference APP.\\r\\nDynamic Presentations: Selected talks will be featured in this fast-paced, exciting slot. Each speaker gets a 7 minute time limit to present their ideas concisely and engagingly.\\r\\n\\r\\nJoin us for a whirlwind of fresh perspectives and innovative ideas, all chosen by you!","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":[],"Speaker names":[],"Room":{"en":"RoboCon"},"Start":"2024-02-09T12:30:00+00:00","End":"2024-02-09T15:00:00+02:00","Lessons Learned":"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.","Describe your intended audience":"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.","Is this suitable for ..?":"Advanced RF user"},{"ID":"SRW9V8","Proposal title":"Beyond log files: Elevating test analysis with data visualization","Session type":{"en":"Talk"},"Track":null,"Abstract":"Discover the limitations of raw data and learn why visualizations are essential for making informed decisions. Harness the art of visualization to decode data intricacies.","Description":"The Robot Framework output files give a good overview of the latest run. For short term analysis, that is sufficient, but you will not know if passes, failures, execution times, etc. are consistent, unexpected, or following a certain trend. Therefore, data visualization is the key to unlock the potential of all the collected data and deep data analysis. They help your team react to issues faster and in some cases they even help you understand possible issues even before they become actual issues enabling proactive actions.\\r\\n\\r\\nThis presentation will explore some real life examples from telecom and embedded systems industries where data visualization helped organizations evaluate their systems from a different perspective, so they could identify and justify necessary actions to help them get back on track. The talk will expand the knowledge of available data and give tips on how to harness that data into use to reveal your unknown issues, gain confidence in your systems, and improve your testing overall.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["RSWYRV"],"Speaker names":["Aleksi Simell"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T13:40:00+00:00","End":"2024-02-08T16:10:00+02:00","Lessons Learned":"Listeners will learn the possibilities of digging up data from the output.xml themselves and learn about different tools for data storage (different databases, e.g InfluxDB), visualizations (mainly Grafana), and give possible new ideas on what they can start visualising in their own projects.","Describe your intended audience":"Target audience is everyone who works with Robot Framework and hopefully in a CI/CD environment. The talk won\'t be very technical, but the actual practices will be for more technical oriented people (the ones who actually do the data collection).","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"SSECGZ","Proposal title":"The Pros and Cons of Generative AI in Robot Framework","Session type":{"en":"Talk"},"Track":null,"Abstract":"Explore the fusion of Generative AI with Robot Framework, spotlighting enhancements and hurdles in test automation. Discover how can AI elevate our testing while addressing its limitations. Engage in a balanced discourse to navigate AI\'s realm in QA, fostering a smarter, informed approach to AI-integrated testing.","Description":"In the rapidly evolving domain of Generative AI, models like ChatGPT are emerging as potent tools, sparking curiosity about their test automation application. This presentation endeavors to provide a balanced exploration of integrating Generative AI with Robot Framework, spotlighting both the promising avenues and the cautionary tales.\\r\\n\\r\\nDiscussion points:\\r\\n\\r\\n1. **Test Data Generation**:\\r\\n - Illustrate how Generative AI can automate the creation of diverse test data while highlighting the risks of over-reliance on AI-generated data that might overlook critical real-world scenarios.\\r\\n\\r\\n\\r\\n2. **Edge Case Identification**:\\r\\n - Explore AI\'s potential in uncovering obscure edge cases, juxtaposed with its limitation in understanding the contextual relevance of these cases.\\r\\n\\r\\n\\r\\n3. **Dynamic XPath Generation with AI**:\\r\\n - Delve into AI\'s capability in generating adaptive XPaths, and discuss scenarios where AI-generated XPaths might not be reliable or efficient.\\r\\n\\r\\n\\r\\n4. **AI Integration via Listeners API**:\\r\\n - Showcase the ease of integrating AI with Robot Framework, while also addressing the potential complexities and troubleshooting challenges this integration might introduce.\\r\\n\\r\\n\\r\\n5. **API Test Scenarios Generation**:\\r\\n - Discover how Generative AI can aid in formulating comprehensive and robust API test scenarios, simplifying the QA process for API testing.\\r\\n\\r\\n\\r\\n6. **Automating SQL Test Cases**:\\r\\n - Uncover the potential of Generative AI in writing SQL automation tests, enhancing the efficiency and accuracy of database testing.\\r\\n\\r\\nAttendees will traverse through real-world scenarios, gaining a nuanced understanding of the opportunities and challenges at the crossroads of Generative AI and Robot Framework. The talk aims to equip attendees with a well-rounded perspective, inspiring informed experimentation with AI in their test automation endeavors, while shedding light on the practicality and limitations of AI in test automation.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["8U3B3T"],"Speaker names":["David Fogl"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T08:25:00+00:00","End":"2024-02-08T10:55:00+02:00","Lessons Learned":"This talk aims to provide a comprehensive exploration of integrating Generative AI with Robot Framework in test automation, shedding light on the potential enhancements, practical applications, and challenges that may arise. Here’s a detailed breakdown of the learning outcomes and practical takeaways for the attendees:\\r\\n\\r\\n1. Understanding Generative AI in QA Context:\\r\\n - A clear exposition of what Generative AI is, and its application in Quality Assurance and test automation.\\r\\n \\r\\n2. Automated Test Data Generation:\\r\\n - Insights into harnessing Generative AI for generating a diverse range of test data, saving time, and ensuring broader test coverage.\\r\\n - Discussing the risks associated with relying solely on AI-generated data and strategies to mitigate these risks.\\r\\n\\r\\n3. Edge Case Identification:\\r\\n - Exploration of AI\'s capability in identifying edge cases and enhancing testing robustness.\\r\\n - Discuss AI\'s limitations in understanding edge cases\' contextual relevance, and strategies to address this.\\r\\n\\r\\n4. Dynamic XPath Generation:\\r\\n - Delving into the efficiency brought about by AI in generating dynamic XPaths and scenarios where it might not be as effective.\\r\\n\\r\\n5. Seamless AI Integration:\\r\\n - Showcasing the development process of integrating Generative AI with Robot Framework using the Listeners API and providing some practical outcomes of this integration, enabling attendees to grasp the practical benefits and possible hurdles.\\r\\n\\r\\n6. API Test Scenarios Generation:\\r\\n - Practical insights into leveraging AI for creating robust API test scenarios, making the QA process for API testing more streamlined.\\r\\n\\r\\n7. Automating SQL Test Cases:\\r\\n - Exploring the potential of AI in automating SQL test cases, and how it can improve efficiency and accuracy in database testing.\\r\\n\\r\\n8. Real-world Applications and Challenges:\\r\\n - Real-world examples demonstrating the application of Generative AI in test automation.\\r\\n\\r\\nBy the end of this talk, participants will have a well-rounded understanding of the potential and limitations of Generative AI in test automation within Robot Framework. They’ll be equipped with practical knowledge and insights to apply in their teams and projects, fostering informed experimentation and pragmatic innovation in AI-powered test automation.","Describe your intended audience":"The talk is intended for a broad audience of robot framework users.","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"TQTQQN","Proposal title":"Opening the Conference","Session type":{"de":"Keynote","en":"Keynote"},"Track":null,"Abstract":"Welcome to RoboCon! In this session, we will provide an overview to set the tone and outline what attendees can expect from the conference.","Description":"Welcome to RoboCon! In this session, we will provide an overview to set the tone and outline what attendees can expect from the conference. \\r\\n\\r\\nWe will have a quick run-through of our program, highlighting a range of topics from Libraries to QA.\\r\\n\\r\\nWe will also explain the practicalities, and Mateusz will talk about engagement and gamification.\\r\\n\\r\\nRené and Miikka will introduce the RoboCon Foundation and the latest news on that front. \\r\\n\\r\\nThe session will conclude with a handover to Pekka for Robot Framework 7.0 news.","Duration":60,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["VWRTSC","HTDUSJ","FQJRHW","D3ZLT3"],"Speaker names":["Mateusz Nojek","René Rohner","Miikka Solmela","Pekka Klärck"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T07:00:00+00:00","End":"2024-02-08T09:40:00+02:00","Lessons Learned":"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.","Describe your intended audience":null,"Is this suitable for ..?":"Advanced RF user"},{"ID":"TRRAEX","Proposal title":"SeleniumLibrary: 2024 and Beyond","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"An update on where SeleniumLibrary in 2024, Selenium 4 and the future developments like WebDriver Bidi","Description":"We will go through the latest updates of where SeleniumLibrary is and some upcoming features of Selenium like selenium-manager and WebDriver BiDirectional (Bidi) Protocol. We will cover some Selenium 4 functionality as well.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["JDRR8S","GZRASZ"],"Speaker names":["Ed Manlove","Yuri Verweij"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T18:30:00+00:00","End":"2024-02-28T20:50:00+02:00","Lessons Learned":"Learn about features that might not be aware of and highlight others that are useful","Describe your intended audience":"Anyone doing web testing and Robot Framework","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"TYXDEF","Proposal title":"Mobile application testing with Robot Framework","Session type":{"en":"Workshop - Full Day"},"Track":null,"Abstract":"Testing mobile applications is similar to web testing. Many apps are just mini-websites. However, on a technical level, there are differences, due to mobile devices, and their complex ecosystems. This workshop is a hands-on technical session to mobile testing with RF and Appium. Learn how to approach mobile testing, or improve your existing tests.","Description":"

With Robot’s layer of abstraction, tests for mobile can be written in a similar way to webtesting. While that should make it easier, it is not as easy. There are additional challenges like device management, and test coverage of different models and OS versions. Complexity increases when the same tests need to be executed on multiple mobile platforms, without too much duplicate code.\\r\\n
This is a hands-on workshop, where attendees learn to automate mobile tests on their platform of choice. Attendees are welcome to raise issues they encountered during and outside of the workshop, and discuss solutions.

\\r\\n
\\r\\nWorkshop agenda\\r\\n
    \\r\\n
  • Environment and device under test setup\\r\\n
      \\r\\n
    • Device management\\r\\n
        \\r\\n
      • Android Debug Bridge
      • \\r\\n
      • Xcode
      • \\r\\n
      \\r\\n
    • \\r\\n
    • Appium Doctor
    • \\r\\n
    • Scripting automated environment check
    • \\r\\n
    • Pitfalls and issues
    • \\r\\n
    \\r\\n
  • \\r\\n
  • System under test setup\\r\\n
      \\r\\n
    • Review of Appium stack
    • \\r\\n
    • Appium 1.x and Appium 2.x comparison
    • \\r\\n
    • Appium Drivers
    • \\r\\n
    • Opening a mobile app with Open Application keyword
    • \\r\\n
    \\r\\n
  • \\r\\n
  • Writing tests for mobile applications\\r\\n
      \\r\\n
    • AppiumLibrary keywords
    • \\r\\n
    • Differences between Android and iOS
    • \\r\\n
    • Locating elements\\r\\n
        \\r\\n
      • UIAutomatorViewer
      • \\r\\n
      • Xcode Accessibility Inspector
      • \\r\\n
      • Appium
      • \\r\\n
      \\r\\n
    • \\r\\n
    • XPath on mobile
    • \\r\\n
    \\r\\n
  • Writing complex tests better\\r\\n
      \\r\\n
    • Multi-platform tests (applying DRY to mobile tests)
    • \\r\\n
    • Executing mobile tests in parallel
    • \\r\\n
    • Multi-device tests
    • \\r\\n
    \\r\\n
  • Bonus: continuous testing\\r\\n
      \\r\\n
    • End to end pipelines for mobile applications
    • \\r\\n
    • Virtualization for test execution
    • \\r\\n
    • Use of cloud in mobile testing
    • \\r\\n
    \\r\\n
  • \\r\\n
","Duration":420,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["7QVJRP","RVHTR8","ZZASJX"],"Speaker names":["Gaja Kochaniewicz","Juuso Tamminen","Severi Casserly"],"Room":{"en":"Mobile application testing with Robot Framework"},"Start":"2024-02-06T07:00:00+00:00","End":"2024-02-06T16:00:00+02:00","Lessons Learned":"Key Takeaways:\\r\\n
  • Understand how Appium can be used with Robot Framework.
  • \\r\\n
  • Learn to automate mobile devices, real or virtual, with scripting and Robot.
  • \\r\\n
  • Become familiar with AppiumLibrary, and mobile SDKs.
  • \\r\\n
  • Understand the wider landscape of QA for mobile applications.
  • \\r\\n
  • Automated scripts and tests created during the workshop.
  • \\r\\n
","Describe your intended audience":"

\\r\\nKnowledge level:\\r\\n

  • Robot Framework: Intermediate to Advanced knowledge and experience (ability to write own tests from simple prompt)
  • \\r\\n
  • bash (or corresponding scripting language): Basic proficiency (ability to write a script based on sets of commands,\\r\\n with logical statements)
  • \\r\\n
  • Appium: No previous experience needed
  • \\r\\n
  • iOS or Android development: Basic understanding of the topic may be useful
  • \\r\\n
\\r\\nPreparation and Technical requirements:\\r\\n
\\r\\nPlease bring your own laptop, with a preinstalled environment ready for test development, including a mobile SDK, and\\r\\neither a mobile device or an emulator of it.\\r\\nNote: Installing these environments requires downloading many GBs of data! If attendees don’t do that\\r\\nbeforehand, the start of this workshop will be delayed simply by downloading all the necessary software.\\r\\n
\\r\\nYou can set up and prepare yourself for working with Android (recommended, easier to start with), or iOS. It’s up to\\r\\nyou. You can (but do not have to) prepare for both Android and iOS.\\r\\n
List of needed software:\\r\\n
  • Android SDK or iOS Xcode, ready to develop\\r\\n
    • For Android, bring Android mobile phone (or download an emulator) that is detected by ADB
    • \\r\\n
    • For iOS, bring an iPhone (or download a simulator) and make sure your Xcode compiles apps for it
  • \\r\\n
  • Robot Framework, locally or in a python virtual environment
  • \\r\\n
  • Appium and Appium Doctor installed globally or in a “fake” global environment
  • \\r\\n
\\r\\nWe will communicate before the workshop a set of instructions, and commands for checking the environment has been\\r\\ncorrectly configured.\\r\\n

","Is this suitable for ..?":"Intermediate RF user, Advanced RF user"},{"ID":"UNNGNM","Proposal title":"Panel Discussion (Live)","Session type":{"de":"Keynote","en":"Keynote"},"Track":null,"Abstract":"Joe will interview the expert panel about Robot Framework, its capabilities and its community.","Description":"Joe will interview an expert panel about the Robot Framework, discussing its capabilities and the community surrounding it.\\r\\n\\r\\nThe panel members, who are esteemed experts in the Robot Framework, will be announced soon.\\r\\n\\r\\nKnown for his engaging style, Joe is sure to facilitate a conversation that is both cheerful and insightful. We\'re looking forward to a fun and informative session!","Duration":50,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["JUQN3X","8U3B3T","D3ZLT3"],"Speaker names":["René Rohner","David Fogl","Pekka Klärck"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T18:00:00+00:00","End":"2024-02-29T21:00:00+02:00","Lessons Learned":"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.","Describe your intended audience":null,"Is this suitable for ..?":"Advanced RF user"},{"ID":"VHSLZ8","Proposal title":"The Vital Divide: Developers And TA Specialists in Test Automation","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"Are developers able to write automated tests and should they do it? And if so, in what sense, in which areas, and to what extent? Let us take a closer look at the symbiosis of developers and test automation specialists and explore why keeping they roles separate is the key to unlocking the potential of a testing process.","Description":"In software development, the question of the developer\'s role in automated testing and that of the test automation specialist in development occasionally arises. We will take a thought-provoking look at this complex relationship in our talk.\\r\\n\\r\\nThis question considers the overlap and similarities between their personalities and roles; however, differences do exist. While developers may possess the technical ability to create functional automated tests, test automation encompasses more than merely writing automatic tests, just as development involves more than coding an application. The skill sets of the two groups differ significantly: developers require extensive technical knowledge, while testers need to empathise with users or customers, understanding their needs and behaviour, business processes, and use cases. They require different mindsets: technically oriented versus customer-oriented, constructive versus critical, and synthetic versus analytical. (It is no coincidence that developers tend to focus on positive, happy-day scenarios, whereas testers usually discover negative ones.) \\r\\n\\r\\nIt is therefore difficult to envisage a centaur, part tester and part developer, possessing these contrasting skills and mindsets. What is beyond imagination is this creature not being overwhelmed by its workload and receiving fair remuneration. However, the attitudes and skills of both developers and TA specialists are critical to the development of high-quality software, and thus not only performing tasks of the ones and the others but also maintaining a clear distinction between these two groups appears to be vital. Their collaboration is undoubtedly essential and, fortunately, also feasible as long as both parties strive to understand each other\'s inherently different personalities and attitudes while respecting each other\'s expertise. Their shared focus on a common goal and areas of their knowledge that overlap can also be immensely beneficial.\\r\\n\\r\\nJoin us as we explore the intricacies of these fascinating species, find the optimal way for them to collaborate symbiotically, and consider how their interplay can enhance both your development process and its outcomes.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["UTWEES"],"Speaker names":["Václav Fuksa"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T17:00:00+00:00","End":"2024-02-28T19:20:00+02:00","Lessons Learned":"The audience will gain an insight into the similarities and differences between developers and test automation specialists and, therefore, obtain a better understanding of the qualities of the opposing camps. They will learn why blending their roles is harmful, how the collaboration between them is possible, and why it is critical to the quality of the software under test. Test automation specialists in the audience should take away a greater professional self-esteem.","Describe your intended audience":"Everyone who has dealings with creating automated functional tests, including developers (i.e. totally everyone in the audience :))","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"WKP7CT","Proposal title":"Our QA Transformation Journey from Manual tests to using Robot Framework for E2E tests","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"A part of our QA Transformation Journey was Test Automation, where we learned about Robot Framework, and we realized that this is a perfect tool for our end-to-end (E2E) testing during the User Acceptance Testing (UAT) period. The manual tests for our E2E involved the initial tests on a handheld device, followed by a web portal and TA system","Description":"A part of our QA Transformation Journey was Test Automation, where we learned about Robot Framework, and we quickly realized that this is a perfect tool for our end-to-end (E2E) testing during the User Acceptance Testing (UAT) period. The manual tests for our E2E involved the initial tests on a handheld device, followed by a web portal and our TA system. By utilizing Robot Framework with Appium, Browser, and RemoteSwingLibrary, we were able to incorporate three different technologies into a single E2E test suite. This provided us with more time for testing new functionality and conducting exploratory testing. \\r\\n\\r\\nI will provide a walkthrough for the manual test, followed by a demo where we can observe Robot Framework performing E2E automated tests.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["XXC8JB"],"Speaker names":["Tanja Poposka"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-28T16:30:00+00:00","End":"2024-02-28T18:50:00+02:00","Lessons Learned":"Lessons learned that, even though we were new to using Robot Framework, we discovered a domain where we could incorporate these techniques and derive value. In this case, it was for our end-to-end (E2E) testing during User Acceptance Testing (UAT) or when we had a deployment that required testing within a limited timeframe. With Robot Framework handling our E2E tests, it provided the quality assurance we needed.\\r\\n\\r\\nSome members of our QA team were new to Robot Framework, but they managed to learn this framework quickly.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user"},{"ID":"XFZ7KM","Proposal title":"The Power of Community","Session type":{"de":"Keynote","en":"Keynote"},"Track":null,"Abstract":"The Robot Framework Community seen through the eyes of our community members.","Description":"We, members of the Robot Framework community, will talk about the Robot Framework community\'s collaborative spirit, emphasizing the importance of mutual help and diverse contributions. We\'ll highlight how each member\'s unique skills enhance the community, from technical knowledge to mentorship.\\r\\n\\r\\nIn addition we will share our experiences, demonstrating the community\'s strength through collaboration and support. This session will celebrate the collective wisdom of the Robot Framework community, encouraging active participation and showcasing how combined efforts lead to significant advancements.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["GBZFGS"],"Speaker names":["Merel, Guido, Manana, Kelby and Yuri"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T08:55:00+00:00","End":"2024-02-08T11:25:00+02:00","Lessons Learned":"What is the Robot Framework community?\\r\\nHow to engage with the community?\\r\\nInspiring stories about actual life.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"XH9APF","Proposal title":"Do Robots Dream of Pickled Cucumbers? Gherkin with RobotFramework","Session type":{"en":"Talk"},"Track":null,"Abstract":"Explore an innovative approach to executing Gherkin/Cucumber scenarios within the Robot Framework using a new custom parser. This talk delves into the technical intricacies of this integration, emphasizing the distinctions between Gherkin/Cucumber and Robot Framework.","Description":"In my presentation, we will dive into the fascinating realm of test automation, unveiling an innovative approach to executing Gherkin/Cucumber scenarios within the Robot Framework. Leveraging a custom parser developed specifically for this purpose, we overcome traditional challenges, seamlessly integrating the clear, human-readable Gherkin/Cucumber test specifications with the robustness of the Robot Framework.\\r\\n\\r\\n**Agenda:**\\r\\n\\r\\n1. **Introduction to Gherkin/Cucumber:** We begin with an explanation of the Gherkin/Cucumber language and its role in Behavior-Driven Development (BDD).\\r\\n\\r\\n2. **Technical Insights into Robot Framework:** A thorough exploration of the technical aspects of the Robot Framework, emphasizing its adaptability in various automation scenarios.\\r\\n\\r\\n3. **Addressing the Challenge:** We examine the typical hurdles in integrating Gherkin/Cucumber into the Robot Framework and showcase how our custom parser overcomes these barriers.\\r\\n\\r\\n4. **Live Demonstration:** Experience a live demo showcasing how Gherkin/Cucumber scenarios are effortlessly executed within the Robot Framework, with the custom parser transforming natural language into executable tests.\\r\\n\\r\\n5. **Practical Use Cases:** We examine real-world applications that illustrate how this integration works in practice, optimizing test processes and enhancing team collaboration.\\r\\n\\r\\n6. **Future Developments:** A glimpse into planned features, developments, and opportunities for further refinement of this integrative solution.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["RMY3KA"],"Speaker names":["Daniel Biehl"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T10:10:00+00:00","End":"2024-02-08T12:40:00+02:00","Lessons Learned":"Participants will learn how to seamlessly integrate Gherkin/Cucumber scenarios into the Robot Framework. They will discover solutions to integration challenges, witness a live demonstration of the custom parser in action, and gain practical insights to enhance collaboration, optimize test automation, and prepare for future developments.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"YF7RXZ","Proposal title":"Database Library update","Session type":{"en":"Talk"},"Track":null,"Abstract":"The [Database Library](https://github.com/MarketSquare/Robotframework-Database-Library/) for Robot Framework has been finally updated - after a long break since 2019. Moreover, the library maintenance was transferred to the Robot Framework community. This talk gives an overview of last changes and library features in general.","Description":"The purpose of the talk is to give an update of last changes in the Database Library, demonstrate a usage with a simple demo and call for a contribution, since the project was finally transferred to the community maintenance.","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["BJAPHL"],"Speaker names":["Andre Mochinin"],"Room":{"en":"RoboCon"},"Start":"2024-02-09T13:20:00+00:00","End":"2024-02-09T15:50:00+02:00","Lessons Learned":"The participants will learn, how to use the Database Library and what are the last changes in the project.\\r\\nFurthermore, they should learn that the library is under active maintenance again and can be used more actively.","Describe your intended audience":null,"Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"YLX3LV","Proposal title":"Fuzzing for vulnerabilities in REST APIs","Session type":{"en":"Talk"},"Track":null,"Abstract":"The existence of REST APIs itself is a security threat, as easy programmable APIs are also an easy target for attackers. Often, they lack sufficient security design or testing. Learn about Vaisala\'s experience of integrating API fuzzing - a form of security testing - into existing RF automated testing and the results that came with it.","Description":"

REST APIs are a common and attractive attack vector. Often they lack sufficient security design or security testing. It is common to rely a bit too much on client-side sanitization while neglecting the idea of direct API usage. This can cause a lot of security issues, like sensitive data exposure, broken authentication, and injection attacks.

\\r\\n

So, how can we make sure an API cannot be exploited? The answer is to fuzz it. In this talk, you learn about Vaisala\'s experience of integrating API fuzzing - a form of security testing - into an existing Robot Framework system test automation process for one of company products.

\\r\\n

We selected a third-party tool (Schemathesis, which builds on the property-based testing library Hypothesis) and implemented a Python package with post-processing functionality that allows us to effectively run fuzzing against our APIs. This Python package is then imported and used in RF test cases.

\\r\\n

Since fuzzing can generate a lot of noise, because of its randomness, the post-processing step can validate the meaning of symptoms and help us make sense of test results better by integrating with existing robot framework automation assets. So when a bug is found with fuzzing, we can rerun the faulty test, and run any system checks we need, which will tell us what exactly is broken.

\\r\\n

Overall, the talk explains how REST API fuzzing can be effectively integrated with existing RF tests, and shows examples of found problems.

","Duration":30,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["T9BAF3"],"Speaker names":["Alina Kostetska"],"Room":{"en":"RoboCon"},"Start":"2024-02-08T14:10:00+00:00","End":"2024-02-08T16:40:00+02:00","Lessons Learned":"The participants will learn about:\\r\\n\\t- why REST APIs can be dangerous\\r\\n\\t- what is fuzzing, and why one would want to use that\\r\\n\\t- a technique for REST API fuzzing used in a Vaisala\'s project:\\r\\n\\t\\t- creating a Python package based on Schemathesis to use with Robot Framework\\r\\n\\t\\t- fuzzing using the package\\r\\n\\t\\t- post-processing that reuses existing test cases - to identify the reason for a bug\\r\\n\\t\\t- examples of found bugs","Describe your intended audience":"People interested in automating security testing; \\r\\nPeople working with REST APIs;","Is this suitable for ..?":"Beginner RF user, Intermediate RF user"},{"ID":"YSA8HK","Proposal title":"How to Be a Robot Framework Champion: Collaborative Workshop","Session type":{"en":"Workshop - Full Day"},"Track":null,"Abstract":"Introducing Robot Framework in an organization can be challenging and complex. This workshop will help you overcome the challenges and leverage the benefits. You will collaborate with other testers and test automators who share similar goals and experiences. We will play games, role-play scenarios, and document the whole process for the community.","Description":"Welcome to the workshop on “How to Be a Robot Framework Champion: Collaborative Workshop”. My name is Adam Hepner, and I am a QA Lead at Nice Project. I am also championing the introduction of Robot Framework at Heidelberger Druckmachinen AG, a German company that provides products and services for the printing industry.\\r\\n\\r\\n
\\r\\n\\r\\nIn this workshop, I will share with you my experience and insights on how to introduce Robot Framework in your organization. Robot Framework is a tool that you already know and use, so I will not spend time explaining what it is or how it works. Instead, I will focus on the challenges and benefits of introducing it as a main end-to-end testing tool in your workplace.\\r\\n\\r\\n
\\r\\n\\r\\nThe workshop will be divided into 7 time blocks (give-or-take), each focusing on a different topic or theme related to introducing Robot Framework in an organization. The topics will include:\\r\\n\\r\\n
\\r\\n\\r\\n- Why Robot Framework should be used? What are its pros and cons and how does it compare to other tools?\\r\\n- Where can Robot Framework be used? Where cannot it be used?\\r\\n- What do developers and testers prefer to Robot Framework and why?\\r\\n- How can introduction be approached? What are the best practices and pitfalls to avoid?\\r\\n- How can Robot Framework be integrated with other tools, such as Selenium, BrowserStack, or Jenkins?\\r\\n- How can Robot Framework be used for different types of testing, such as acceptance testing, functional testing, or performance testing?\\r\\n\\r\\nThe workshop will use a combination of theory and practice, with an emphasis on discussion and collaboration. I hope to pass on my experience, and at the same time - learn from You. \\r\\n\\r\\nWe will also be:\\r\\n\\r\\n- Playing games, such as risk storming with test sphere card game or the pipeline game, that will help you explore different aspects of introducing Robot Framework in an organization, such as identifying the quality aspects, the risks, the test strategies, and the pipeline design.\\r\\n- Role-playing scenarios, such as convincing a skeptical manager or developer to adopt Robot Framework, that will help you practice your communication and persuasion skills and understand the opinions and preferences of others.\\r\\n- Authoring a documentation as a guide for future technical experts, that will help you summarize and document the main points and outcomes of the workshop.\\r\\n\\r\\nThis workshop will be driven by its participants, so the topics can vary slightly, but you\'re more than welcome to bring your ideas and experience to the table!","Duration":420,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["AQXFCJ"],"Speaker names":["Adam Hepner"],"Room":{"en":"How to Be a Robot Framework Champion: Collaborative Workshop"},"Start":"2024-02-06T07:00:00+00:00","End":"2024-02-06T16:00:00+02:00","Lessons Learned":"- How to compare and contrast Robot Framework with other tools and frameworks, and how to choose the best tool for the project and the organization.\\r\\n- How to use Robot Framework for different types of testing, such as acceptance testing, functional testing, or performance testing, and how to integrate it with other tools, such as Selenium, BrowserStack, or Jenkins.\\r\\n- How to communicate and persuade others to adopt Robot Framework, and how to overcome the challenges and resistance that may arise from different stakeholders, such as managers, developers, or testers.\\r\\n- How to collaborate and learn from other Robot Framework users, and how to share your experience and insights with others.\\r\\n- How to use games, role-playing scenarios, and documentation to enhance your understanding and skills in introducing Robot Framework in an organization.","Describe your intended audience":"- Test engineers, test automators, or RPA users who are already familiar with Robot Framework and want to learn how to introduce it in their organization.\\r\\n- People who are interested in the challenges and benefits of using Robot Framework as a main end-to-end testing tool in their workplace.\\r\\n- People who want to improve their skills and knowledge in Robot Framework, and collaborate and learn from other Robot Framework users and experts.","Is this suitable for ..?":"Intermediate RF user, Advanced RF user"},{"ID":"ZAGHBH","Proposal title":"I don\'t always test my code but when I do I do it in production","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"People usually think that testing is something that happens only test environment, but real world does not stand still. Therefore testing also in production is vital in fast paced modern world.","Description":"I don\'t always test my code but when I do I do it in production, or how it should go? talk describes what benefits testing in production can bring to people in different sized teams. In real world everything changes always and all the time. We as testers and developers cannot control those changes, but those changes can, and some point will affect our products and customers. Because there is so many changes happening all the time, this talks highlights why testing is important in different type of environments and different stages of the software life cycle.\\r\\nModern agile talks about moving testing to left, closer to the development and moving testing to the left is the correct move to do. But many teams forget that instead of moving testing only to the left, teams should also move testing the right: do testing in production. This presentation talks what benefits testing in production can bring to small open-source developer like me. Talk provides examples from my life as open-source developer and from projects like [Browser](https://github.com/MarketSquare/robotframework-browser) and [AssertionEngine](https://github.com/MarketSquare/AssertionEngine). Also presentation covers how those techniques can be applied to large scale enterprise applications.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["8HSX9A"],"Speaker names":["Tatu Aalto"],"Room":{"en":"RoboConOnline"},"Start":"2024-02-29T13:30:00+00:00","End":"2024-02-29T15:50:00+02:00","Lessons Learned":"Many teams may just develop software and throw the software to a deployment and monitoring teams. If they do that, teams will miss lot of important feedback how their system work and what problems user may face. This talk tells that testing also production is important and what benefits it will bring to the teams. Also testing in production is not same in testing in CI environment, but how/why CI system can be used to test in production.","Describe your intended audience":"Anyone who is interested to for being part of successful team. Developer, tester, product owner or anyone who is part of the development process.","Is this suitable for ..?":"Beginner RF user, Intermediate RF user, Advanced RF user"},{"ID":"ZMRYQP","Proposal title":"Orchestrating Robot Framework: From the Louvre to Kubernetes with Terraform & Ansible","Session type":{"en":"PreRecorded-Talk"},"Track":null,"Abstract":"This talk unveils \'Cloud-Agnostic Auto-Scaling\' in Robot Framework, leveraging Kubernetes, Terraform, Ansible, Prometheus & Grafana. A live demo of real-time scaling across multiple clouds via K8s. Dive into observability with Prometheus metrics and Grafana dashboards. This session offers a holistic, high-impact, & cost-efficient testing framework.","Description":"# Cloud-Agnostic Auto-Scaling in Robot Framework\\r\\n\\r\\n## **Overview**\\r\\nThis session is a magnum opus on \'Cloud-Agnostic Auto-Scaling\' within Robot Framework—crucial for professionals in test automation, cloud computing, and DevOps.\\r\\n\\r\\n## **Agenda**\\r\\n\\r\\n### **Introduction (3 minutes)**\\r\\n- Importance of \'Cloud-Agnostic Auto-Scaling\' in Robot Framework for today\'s fast-paced DevOps world.\\r\\n\\r\\n### **Why Robot Framework Needs Scaling in Modern DevOps (4 minutes)**\\r\\n- Discuss the critical role of scalability in meeting the real-time demands of continuous integration and deployment.\\r\\n- **Case Study**: A real-world example where scaling Robot Framework tests reduced execution time from 8 hours to less than 60 minutes, accelerating the DevOps pipeline.\\r\\n\\r\\n### **Software Components That Make Scaling Possible (5 minutes)**\\r\\n- **Kubernetes**: Enables auto-scaling and self-healing features for optimal resource use.\\r\\n- **Terraform**: Automates infrastructure provisioning, facilitating rapid scaling.\\r\\n- **Ansible**: Manages automated configuration, essential for quick scaling.\\r\\n- **Prometheus**: Captures real-time metrics and alerts, supporting auto-scaling.\\r\\n- **Grafana**: Provides rich analytics and visualization, including alerts for scaling activities.\\r\\n\\r\\n### **Live Demo (6 minutes)**\\r\\n- Showcase both vertical scaling (reallocating resources) and horizontal scaling (modifying Robot Framework pods). Orchestrated by Terraform and Ansible, monitored by Prometheus and Grafana.\\r\\n\\r\\n### **What Is the Takeaway? (2 minutes)**\\r\\n- Gain insights on how to implement this robust, scalable, and observable framework in your organization.\\r\\n\\r\\n### **Who Should Attend? (2 minutes)**\\r\\n- QA Engineers, DevOps practitioners, CTOs, and decision-makers.\\r\\n\\r\\n### **Q&A (2 minutes)**\\r\\n- Open floor for audience queries.\\r\\n\\r\\n### **Conclusion (1 minute)**\\r\\n- Final thoughts and an invitation for further collaboration.","Duration":20,"Slot Count":1,"Language":"en","Session image":"","Speaker IDs":["9J9TZ3"],"Speaker names":["Babu Manickam"],"Room":null,"Start":null,"End":null,"Lessons Learned":"Here are my views towards the lessons learned (I understand considering the time limit of 25 minutes - this can be challenging but guaranteed to do the best):\\r\\n\\r\\n1. Kubernetes: Participants will learn how to utilize Kubernetes for real-time auto-scaling and self-healing, essential for optimal resource usage in Robot Framework.\\r\\n2. Terraform: An in-depth look at how Terraform can programmatically set up the required infrastructure, making the scaling process efficient and reproducible.\\r\\n3. Ansible: A focus on automated configuration to enable quick scaling up or down, streamlining the automation process.\\r\\n4. Prometheus: Techniques to leverage Prometheus for real-time metrics, supporting not just auto-scaling but also custom alerting based on metrics.\\r\\n5. Grafana: Insights into creating intuitive dashboards for better analytics and visualization, including setting up scaling alerts.\\r\\n\\r\\nLive Demo: A hands-on demonstration on scaling Robot Framework tests both vertically (by reallocating resources) and horizontally (by increasing/decreasing the number of Robot pods).\\r\\n\\r\\nBest Practices & Lessons Learned\\r\\n\\r\\nCase Study: A real-world example will be discussed where the practices mentioned reduced the test execution time from 8 hours to less than 60 minutes. This highlights the immediate benefits in a DevOps cycle.\\r\\n\\r\\nTakeaways\\r\\n#1 A robust framework to implement auto-scaling in Robot Framework tests, irrespective of the cloud service provider.\\r\\n#2 Proven strategies and code snippets for immediate implementation.\\r\\n\\r\\nBy attending this session, participants will not just grasp the theoretical underpinnings but will gain practical, hands-on knowledge that can be immediately applied to their own DevOps and testing environments.","Describe your intended audience":"1. QA Engineers: Those who are already working with Robot Framework or are looking to implement scalable test automation will find this session particularly useful.\\r\\n\\r\\n2. DevOps Practitioners: Professionals who are involved in CI/CD pipeline configurations and are looking to enhance scalability and resource optimization will gain invaluable insights.\\r\\n\\r\\n3. CTOs and Decision-Makers: Executives looking for strategic ways to improve resource utilization, speed up development cycles, and optimize costs should attend to understand how these technologies can impact ROI.\\r\\n\\r\\n4. Academicians and Students: Anyone in academia interested in cutting-edge DevOps practices and test automation scalability.\\r\\n\\r\\nThis session is designed to offer valuable insights to both technical and managerial roles. The content will range from hands-on code snippets to high-level strategies, making it a must-attend for a wide spectrum of professionals.","Is this suitable for ..?":"Intermediate RF user, Advanced RF user"}]')},"1e8c":function(e,t,o){"use strict";o("f3b7")},"2c04":function(e,t,o){},"2dd2":function(e,t,o){"use strict";o("ff87")},"336b":function(e,t,o){},"338e":function(e,t,o){"use strict";o("d784d")},"33f7":function(e,t,o){"use strict";o("12da")},3418:function(e,t,o){"use strict";o("ffdd")},3513:function(e,t,o){},"399d":function(e,t,o){},"3a6d":function(e,t,o){"use strict";o("5687")},"3f88":function(e,t,o){"use strict";o("16df")},"4efe":function(e,t,o){},5687:function(e,t,o){},"56d7":function(e,t,o){"use strict";o.r(t);var n=o("5530"),a=(o("e260"),o("e6cf"),o("cca6"),o("a79d"),o("7a23")),r=(o("b0c0"),{key:2,class:"flex mb-large bg-black pb-small",style:{position:"sticky",top:"3.5rem","z-index":"3","padding-left":"3.5rem",overflow:"auto"}});function i(e,t,o,n,i,s){var l=Object(a["resolveComponent"])("nav-mobile"),c=Object(a["resolveComponent"])("navbar"),d=Object(a["resolveComponent"])("router-view"),u=Object(a["resolveComponent"])("page-footer");return Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,[e.$store.state.isDesktop||e.fullScreen?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])(l,{key:0})),e.$store.state.isDesktop&&!e.fullScreen?(Object(a["openBlock"])(),Object(a["createBlock"])(c,{key:1})):Object(a["createCommentVNode"])("",!0),"Home"!==e.$route.name||e.$store.state.isDesktop?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("div",r,[Object(a["createVNode"])("button",{onClick:t[1]||(t[1]=function(e){return s.scrollTo("tutorials")}),class:"color-white col-sm-5 col-md-3 mt-3xsmall mb-3xsmall type-no-underline font-title router-link type-small",style:{"margin-left":"-2rem"}}," #TUTORIALS "),Object(a["createVNode"])("button",{onClick:t[2]||(t[2]=function(e){return s.scrollTo("workshops")}),class:"color-white col-sm-5 col-md-3 mt-3xsmall mb-3xsmall type-no-underline font-title router-link type-small"}," #WORKSHOPS "),Object(a["createVNode"])("button",{onClick:t[3]||(t[3]=function(e){return s.scrollTo("talks")}),class:"color-white col-sm-4 col-md-3 mt-3xsmall mb-3xsmall type-no-underline font-title router-link type-small"}," #TALKS "),Object(a["createVNode"])("button",{onClick:t[4]||(t[4]=function(e){return s.scrollTo("hotels")}),class:"color-white col-sm-4 col-md-3 mt-3xsmall mb-3xsmall type-no-underline font-title router-link type-small"}," #HOTELS ")])),Object(a["createVNode"])(d),e.fullScreen?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])(u,{key:3}))],64)}o("d3b7"),o("3ca3"),o("ddb0"),o("9861"),o("ac1f"),o("841c"),o("c1f9");var s=Object(a["withScopeId"])("data-v-70652c32");Object(a["pushScopeId"])("data-v-70652c32");var l={class:"banner-slide"},c={class:"type-center p-xsmall color-white bg-black banner"};Object(a["popScopeId"])();var d=s((function(e,t){return Object(a["openBlock"])(),Object(a["createBlock"])("div",l,[Object(a["createVNode"])("div",c,[Object(a["renderSlot"])(e.$slots,"default",{},void 0,!0)])])})),u=(o("2dd2"),o("6b0d")),h=o.n(u);const m={},p=h()(m,[["render",d],["__scopeId","data-v-70652c32"]]);var b=p,w={class:"pb-large m-small"},g={class:"container narrow row middle"},f={class:"col-sm-12",style:{"transition-delay":"0.25s"}};function k(e,t,o,n,r,i){return Object(a["openBlock"])(),Object(a["createBlock"])("div",w,[Object(a["createVNode"])("div",g,[Object(a["createVNode"])(a["Transition"],{appear:"",name:"opacity-slow"},{default:Object(a["withCtx"])((function(){return[Object(a["createVNode"])("div",f,[Object(a["renderSlot"])(e.$slots,"default")])]})),_:3})])])}var y={name:"Banner"};const v=h()(y,[["render",k]]);var O=v,T=Object(a["withScopeId"])("data-v-e7b3d676");Object(a["pushScopeId"])("data-v-e7b3d676");var j={class:"row bg-black color-white p-small pt-large pb-large",style:{"margin-top":"auto"}},S={class:"container",style:{"line-height":"2"}},R={class:"row"},I=Object(a["createVNode"])("div",{class:"col-sm-6 col-md-3"},[Object(a["createVNode"])("h3",{class:"mb-small"},[Object(a["createVNode"])("a",{href:"https://robotframework.org/foundation/"},"Foundation")]),Object(a["createVNode"])("div",null," Robot Framework ry "),Object(a["createVNode"])("div",null," Kampinkuja 2 "),Object(a["createVNode"])("div",null," 00100 Helsinki "),Object(a["createVNode"])("div",null," Finland "),Object(a["createVNode"])("a",{href:"mailto:robotframework-foundation@googlegroups.com"}," Contact ")],-1),A=Object(a["createStaticVNode"])('

Community

',6),F={key:0,class:"col-sm-12 mb-large"},D=Object(a["createVNode"])("div",{class:"col-sm-6 col-md-3"},null,-1),N={class:"col-sm-6 col-md-3 flex flex-col between"},x=Object(a["createVNode"])("div",null,null,-1),B=Object(a["createVNode"])("div",null,[Object(a["createVNode"])("a",{href:"https://robotframework.org"}," Robot Framework ")],-1),C=Object(a["createVNode"])("div",null,[Object(a["createVNode"])("a",{href:"https://robotframework.org/privacy-policy"}," Privacy Policy ")],-1);Object(a["popScopeId"])();var L=T((function(e,t,o,n,r,i){return Object(a["openBlock"])(),Object(a["createBlock"])("div",j,[Object(a["createVNode"])("div",S,[Object(a["createVNode"])("div",R,[I,Object(a["createVNode"])("div",{class:["col-sm-6 col-md-3",e.$store.state.isMobile?"type-right":""]},[A],2),e.$store.state.isMobile?(Object(a["openBlock"])(),Object(a["createBlock"])("div",F)):Object(a["createCommentVNode"])("",!0),D,Object(a["createVNode"])("div",N,[x,Object(a["createVNode"])("div",{class:e.$store.state.isMobile?"type-right":""},[B,C],2)])])])])})),P=(o("4de4"),o("d81d"),o("b64b"),{name:"PageFooter",components:{},data:function(){return{langDropdownOpen:!1}},computed:{langNames:function(){var e=this;return Object.keys(this.$i18n.messages).map((function(t){return{lang:t,name:e.$i18n.messages[t].langName}})).filter((function(e){var t=e.name;return"translation"!==t}))}},methods:{setLang:function(e){this.$i18n.locale=e,window.localStorage.setItem("lang",e)}}});o("7cbe");const V=h()(P,[["render",L],["__scopeId","data-v-e7b3d676"]]);var E=V,M=Object(a["withScopeId"])("data-v-5cefa25b");Object(a["pushScopeId"])("data-v-5cefa25b");var H={ref:"nav",class:"row between p-small sticky bg-background",style:{top:"0","z-index":"2"}},W={class:"flex middle"},G=Object(a["createTextVNode"])(" ROBOCON "),U=Object(a["createVNode"])("div",{class:"type-xsmall flex"},[Object(a["createTextVNode"])(" | "),Object(a["createVNode"])("a",{href:"https://robotframework.org/",class:"type-xsmall ml-xsmall mr-2xsmall color-white hover-color-theme"}," Robot Framework "),Object(a["createTextVNode"])(" Conference ")],-1),z={class:"flex middle"},K={key:0,class:"flex"},Z=Object(a["createVNode"])("a",{href:"#tutorials",class:"color-white mx-2xsmall type-no-underline font-title router-link type-small"}," #TUTORIALS ",-1),q=Object(a["createVNode"])("a",{href:"#workshops",class:"color-white mx-2xsmall type-no-underline font-title router-link type-small"}," #WORKSHOPS ",-1),_=Object(a["createVNode"])("a",{href:"#talks",class:"color-white mx-2xsmall type-no-underline font-title router-link type-small"}," #TALKS ",-1),J=Object(a["createVNode"])("a",{href:"#hotels",class:"color-white mx-2xsmall type-no-underline font-title router-link type-small"}," #HOTELS ",-1),Y={key:1},Q=Object(a["createTextVNode"])(" RBCN24 "),X=Object(a["createVNode"])("div",{class:"mx-small"},"|",-1),$=Object(a["createTextVNode"])(" sponsor "),ee=Object(a["createVNode"])("div",{class:"mx-small"},"|",-1),te=Object(a["createTextVNode"])(" archive ");Object(a["popScopeId"])();var oe=M((function(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("base-icon"),l=Object(a["resolveComponent"])("router-link");return Object(a["openBlock"])(),Object(a["createBlock"])("div",H,[Object(a["createVNode"])("div",W,[Object(a["createVNode"])(s,{name:"robot",color:"white",size:"1.25rem"}),Object(a["createVNode"])(l,{to:{name:"Home"},class:"router-link type-large mx-xsmall"},{default:M((function(){return[G]})),_:1}),U]),Object(a["createVNode"])("div",z,["Home"===e.$route.name?(Object(a["openBlock"])(),Object(a["createBlock"])("div",K,[Z,q,_,J])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",Y,[Object(a["createVNode"])(l,{to:{name:"Home"},class:"router-link mx-xsmall type-no-underline type-small"},{default:M((function(){return[Q]})),_:1})])),X,Object(a["createVNode"])(l,{to:{name:"Sponsor"},class:"router-link mx-xsmall type-no-underline type-small"},{default:M((function(){return[$]})),_:1}),ee,Object(a["createVNode"])(l,{to:{name:"Archive"},class:"router-link mx-xsmall type-no-underline type-small"},{default:M((function(){return[te]})),_:1})])],512)})),ne=(o("99af"),o("1276"),Object(a["withScopeId"])("data-v-17229984")),ae=ne((function(e,t,o,n,r,i){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:o.size,height:o.size,class:["fill-".concat(o.color),o.hoverColor&&"hover-".concat(o.hoverColor)],style:o.rotation&&"transform: rotate(".concat(o.rotation,"deg);")},[Object(a["createVNode"])("path",{d:e.icons[o.name]},null,8,["d"])],14,["width","height"])})),re=(o("a9e3"),{name:"BaseIcon",props:{name:{type:String,required:!0},color:{type:String,default:"black"},hoverColor:{type:String},size:{type:String,default:"1rem"},rotation:{type:Number,default:void 0}},data:function(){return{icons:{chevron:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12l4.58-4.59z",close:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z",copy:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z",document:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z",globe:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2H4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56zm2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8zM12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9.66c-.09-.66-.16-1.32-.16-2s.07-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2zm.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56zM16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2h-3.38z",tab:"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z",play:"M8 5v14l11-7z",retweet:"M23.615 15.477c-.47-.47-1.23-.47-1.697 0l-1.326 1.326V7.4c0-2.178-1.772-3.95-3.95-3.95h-5.2c-.663 0-1.2.538-1.2 1.2s.537 1.2 1.2 1.2h5.2c.854 0 1.55.695 1.55 1.55v9.403l-1.326-1.326c-.47-.47-1.23-.47-1.697 0s-.47 1.23 0 1.697l3.374 3.375c.234.233.542.35.85.35s.613-.116.848-.35l3.375-3.376c.467-.47.467-1.23-.002-1.697zM12.562 18.5h-5.2c-.854 0-1.55-.695-1.55-1.55V7.547l1.326 1.326c.234.235.542.352.848.352s.614-.117.85-.352c.468-.47.468-1.23 0-1.697L5.46 3.8c-.47-.468-1.23-.468-1.697 0L.388 7.177c-.47.47-.47 1.23 0 1.697s1.23.47 1.697 0L3.41 7.547v9.403c0 2.178 1.773 3.95 3.95 3.95h5.2c.664 0 1.2-.538 1.2-1.2s-.535-1.2-1.198-1.2z",robot:"M5,10.2c0-1.9,1.5-3.4,3.4-3.4c1.9,0,3.4,1.5,3.4,3.4c0,0.7-0.6,1.2-1.2,1.2c-0.7,0-1.2-0.6-1.2-1.2c0-0.5-0.4-0.9-0.9-0.9c-0.5,0-0.9,0.4-0.9,0.9c0,0.7-0.6,1.2-1.2,1.2S5,10.9,5,10.2 M19,15.9c0,0.7-0.6,1.2-1.2,1.2H6.4c-0.7,0-1.2-0.6-1.2-1.2c0-0.7,0.6-1.2,1.2-1.2h11.5C18.5,14.7,19,15.3,19,15.9 M13.7,10.9c-0.4-0.6-0.2-1.3,0.3-1.7l2.9-1.9c0.6-0.4,1.3-0.2,1.7,0.3c0.4,0.6,0.2,1.3-0.3,1.7l-2.9,1.9c-0.2,0.1-0.5,0.2-0.7,0.2C14.3,11.5,13.9,11.3,13.7,10.9 M21.5,18.5c0,0.2-0.1,0.5-0.3,0.6l-2.1,2.1c-0.2,0.2-0.4,0.3-0.6,0.3h-13c-0.2,0-0.5-0.1-0.6-0.3l-2.1-2.1c-0.2-0.2-0.3-0.4-0.3-0.6v-13c0-0.2,0.1-0.5,0.3-0.6l2.1-2.1C5,2.6,5.2,2.5,5.5,2.5h13c0.2,0,0.5,0.1,0.6,0.3l2.1,2.1c0.2,0.2,0.3,0.4,0.3,0.6V18.5z M23.3,3.4l-2.8-2.8C20.1,0.2,19.6,0,19,0H5C4.4,0,3.9,0.2,3.4,0.7L0.7,3.4C0.2,3.9,0,4.4,0,5v14c0,0.6,0.2,1.2,0.7,1.6l2.8,2.8C3.9,23.8,4.4,24,5,24h14c0.6,0,1.2-0.2,1.6-0.7l2.8-2.8c0.4-0.4,0.7-1,0.7-1.6V5C24,4.4,23.8,3.9,23.3,3.4",twitter:"M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"}}}});o("7f26");const ie=h()(re,[["render",ae],["__scopeId","data-v-17229984"]]);var se=ie,le={name:"Navbar",components:{BaseIcon:se},methods:{itemClick:function(e){var t=document.getElementById(e);t&&(history.replaceState(null,null,"".concat(location.href.split("?")[0].split("#")[0],"#").concat(e)),window.scrollTo({top:t.offsetTop,behavior:"smooth"}),window.plausible("Nav click",{props:{section:e}}))},setLang:function(e){this.$i18n.locale=e,window.localStorage.setItem("lang",e)},onClick:function(e){this.linkDropdownOpen&&this.$refs.dropdown&&!this.$refs.dropdown.contains(e.target)&&(this.linkDropdownOpen=!1)},scrollTop:function(){window.scrollTo({top:0,behavior:"smooth"})}},mounted:function(){var e=this,t=new IntersectionObserver((function(t){e.navSticky=!t[0].isIntersecting}),{threshold:1});t.observe(this.$refs.nav),document.addEventListener("click",this.onClick)},beforeUnmount:function(){document.removeEventListener("click",this.onClick)},watch:{linkDropdownOpen:function(){this.linkDropdownOpen&&(this.langDropdownOpen=!1)},langDropdownOpen:function(){this.langDropdownOpen&&(this.linkDropdownOpen=!1)}}};o("7689");const ce=h()(le,[["render",oe],["__scopeId","data-v-5cefa25b"]]);var de=ce,ue=Object(a["withScopeId"])("data-v-6a05003a");Object(a["pushScopeId"])("data-v-6a05003a");var he={key:0,class:"menu bg-black p-small pb-large pt-2xlarge"},me={class:"flex middle pl-small"},pe=Object(a["createTextVNode"])(" ROBOCON "),be=Object(a["createVNode"])("span",null,null,-1),we=Object(a["createVNode"])("span",null,null,-1),ge=Object(a["createVNode"])("span",null,null,-1),fe=Object(a["createVNode"])("span",null,null,-1);Object(a["popScopeId"])();var ke=ue((function(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("router-link"),l=Object(a["resolveComponent"])("base-icon");return Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,[Object(a["createVNode"])(a["Transition"],{name:"fade"},{default:ue((function(){return[e.isOpen?(Object(a["openBlock"])(),Object(a["createBlock"])("div",he,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.$tm("navbar.links"),(function(o){var n=o.name,r=o.text;return Object(a["openBlock"])(),Object(a["createBlock"])(s,{to:{name:n},key:n,class:"router-link block mb-large",onClick:t[1]||(t[1]=function(t){return e.isOpen=!1})},{default:ue((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(r),1)]})),_:2},1032,["to"])})),128))])):Object(a["createCommentVNode"])("",!0)]})),_:1}),Object(a["createVNode"])("div",{class:["navbar row between bg-black color-white",e.isOpen?"open":""]},[Object(a["createVNode"])("div",me,[Object(a["createVNode"])(l,{name:"robot",color:"white",size:"1.75rem"}),Object(a["createVNode"])(s,{to:{name:"Home"},class:"router-link type-large mx-xsmall"},{default:ue((function(){return[pe]})),_:1})]),Object(a["createVNode"])("button",{class:["hamburger",e.isOpen?"open":""],onClick:t[2]||(t[2]=function(t){e.isOpen=!e.isOpen,e.linksOpen=!1})},[be,we,ge,fe],2)],2),Object(a["createVNode"])(a["Transition"],{name:"opacity"},{default:ue((function(){return[e.isOpen?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:0,class:"menu-background",onClick:t[3]||(t[3]=function(t){return e.isOpen=!1})})):Object(a["createCommentVNode"])("",!0)]})),_:1})],64)})),ye={name:"NavMobile",components:{BaseIcon:se},data:function(){return{isOpen:!1}}};o("bde3");const ve=h()(ye,[["render",ke],["__scopeId","data-v-6a05003a"]]);var Oe=ve,Te=Object(a["withScopeId"])("data-v-3e24701f");Object(a["pushScopeId"])("data-v-3e24701f");var je={class:"mb-xlarge p-small",tabindex:"-1"},Se={key:0,class:"bar"},Re={class:"row"},Ie={key:0,class:"pl-3xsmall"};Object(a["popScopeId"])();var Ae=Te((function(e,t,o,n,r,i){return Object(a["openBlock"])(),Object(a["createBlock"])("div",je,[Object(a["createVNode"])("a",{class:"anchor",id:o.titleId},null,8,["id"]),"intro"!==o.titleId&&o.title?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Se)):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("div",Re,[o.fullWidth?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:0,class:["col-sm-12 col-lg-3 pr-large",e.$store.state.isMobile?"":"pt-3xsmall"]},[Object(a["createVNode"])("h2",{id:o.titleId},Object(a["toDisplayString"])(o.title),9,["id"]),!e.$store.state.isMobile&&o.subtitle?(Object(a["openBlock"])(),Object(a["createBlock"])("h3",Ie,Object(a["toDisplayString"])(o.subtitle),1)):Object(a["createCommentVNode"])("",!0)],2)),Object(a["createVNode"])("div",{class:["col-sm-12 col-lg-9 row",o.fullWidth?"col-lg-12":"col-lg-9"]},[""!==o.body?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:0,innerHTML:o.body},null,8,["innerHTML"])):Object(a["createCommentVNode"])("",!0),Object(a["renderSlot"])(e.$slots,"default",{},void 0,!0)],2)])])})),Fe={name:"PageSection",props:{title:{type:String,default:""},subtitle:{type:String},body:{type:String,default:""},titleId:{type:String,required:!0},fullWidth:{type:Boolean,default:!1}}};o("618e");const De=h()(Fe,[["render",Ae],["__scopeId","data-v-3e24701f"]]);var Ne=De;o("a4d3"),o("e01a");o("c96a"),o("9911");var xe=Object(a["withScopeId"])("data-v-075a81b6");Object(a["pushScopeId"])("data-v-075a81b6");var Be={class:"col-sm-12 mt-medium"},Ce={class:"weight-semi-bold"},Le={class:"row"},Pe={class:"row"},Ve={class:"row"},Ee={key:0,class:"row end mt-small p-medium"},Me={class:"row"},He=Object(a["createVNode"])("button",{class:"theme"}," Join ",-1);Object(a["popScopeId"])();var We=xe((function(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("router-link");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Be,[Object(a["createVNode"])("p",Ce,Object(a["toDisplayString"])(o.sponsors.boxTitle),1),Object(a["createVNode"])("div",Le,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(o.sponsors.large,(function(t,o){return Object(a["openBlock"])(),Object(a["createBlock"])("a",{key:o,href:t.href,target:"_blank",class:"sponsor cursor-pointer col-sm-12 col-md-6"},[Object(a["createVNode"])("div",{class:"img-container platinum",style:"background-image: url(".concat(e.publicPath,"img/sponsors/").concat(t.img,")")},null,4)],8,["href"])})),128))]),Object(a["createVNode"])("div",Pe,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(o.sponsors.medium,(function(t,o){return Object(a["openBlock"])(),Object(a["createBlock"])("a",{key:o,href:t.href,target:"_blank",class:"sponsor cursor-pointer col-sm-6 col-md-4"},[Object(a["createVNode"])("div",{class:"img-container mb-small",style:"background-image: url(".concat(e.publicPath,"img/sponsors/").concat(t.img,")")},null,4)],8,["href"])})),128))]),Object(a["createVNode"])("div",Ve,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(o.sponsors.small,(function(t,o){return Object(a["openBlock"])(),Object(a["createBlock"])("a",{key:o,href:t.href,target:"_blank",class:"sponsor cursor-pointer col-sm-6 col-md-3 p-medium"},[Object(a["createVNode"])("div",{class:"img-container mb-small",style:"background-image: url(".concat(e.publicPath,"img/sponsors/").concat(t.img,")")},null,4)],8,["href"])})),128))]),o.sponsors.button?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ee,[Object(a["createVNode"])(a["Transition"],{mode:"out-in",name:"opacity"},{default:xe((function(){return[e.sponsorInfoShown?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:1,innerHTML:o.sponsors.moreInfo},null,8,["innerHTML"])):(Object(a["openBlock"])(),Object(a["createBlock"])("button",{key:0,class:"theme mr-small",onClick:t[1]||(t[1]=function(t){return e.sponsorInfoShown=!0})},Object(a["toDisplayString"])(o.sponsors.button),1))]})),_:1})])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("div",Me,[o.sponsors.link?(Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:0,to:"/sponsor",class:"block type-center col-sm-4 col-sm-offset-8"},{default:xe((function(){return[He]})),_:1})):Object(a["createCommentVNode"])("",!0)])])})),Ge={name:"Sponsors",props:{mini:{type:String,default:""},sponsors:{type:Object}},data:function(){return{publicPath:"dist/",sponsorInfoShown:!1}}};o("f8cc");const Ue=h()(Ge,[["render",We],["__scopeId","data-v-075a81b6"]]);var ze=Ue,Ke=Object(a["withScopeId"])("data-v-d187df1e");Object(a["pushScopeId"])("data-v-d187df1e");var Ze=Object(a["createVNode"])("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 370 200"},[Object(a["createVNode"])("path",{d:"M360,142.9c0-2.8,2.2-5,5-5v-5c-2.8,0-5-2.2-5-5s2.2-5,5-5v-5c-2.8,0-5-2.2-5-5s2.2-5,5-5v-5c-2.8,0-5-2.2-5-5s2.2-5,5-5v-5c-2.8,0-5-2.2-5-5s2.2-5,5-5v-5c-2.8,0-5-2.2-5-5s2.2-5,5-5v-5c-2.8,0-5-2.2-5-5s2.2-5,5-5v-9.5c-17.4-2.2-31.1-16-33.4-33.4H38.4c-2.2,17.4-16,31.1-33.4,33.4v11.6c2.8,0,5,2.2,5,5s-2.2,5-5,5v5c2.8,0,5,2.2,5,5s-2.2,5-5,5v5c2.8,0,5,2.2,5,5s-2.2,5-5,5v5c2.8,0,5,2.2,5,5s-2.2,5-5,5v5c2.8,0,5,2.2,5,5s-2.2,5-5,5v5c2.8,0,5,2.2,5,5s-2.2,5-5,5v5c2.8,0,5,2.2,5,5s-2.2,5-5,5v11.6c17.4,2.2,31.1,16,33.4,33.4H331.6c2.2-17.4,16-31.1,33.4-33.4v-13.7c-2.8,0-5-2.2-5-5Z"}),Object(a["createVNode"])("rect",{"stroke-width":"1px",stroke:"white",x:"54.7",y:"25.6",width:"260.5",height:"148.9",rx:"25",ry:"25"})],-1),qe={class:"relative type-center content",style:{width:"60%"}},_e={class:"ticket-title type-medium border-bottom-white border-thin mb-3xsmall pb-3xsmall"},Je={class:"price"},Ye={class:"absolute font-title type-xsmall side left"},Qe={class:"absolute font-title type-small side right"},Xe=Object(a["createVNode"])("div",{class:"shader specular"},[Object(a["createVNode"])("div",{class:"shader mask2"},[Object(a["createVNode"])("div",{class:"shader mask"})])],-1);Object(a["popScopeId"])();var $e=Ke((function(e,t,o,n,r,i){return Object(a["openBlock"])(),Object(a["createBlock"])("a",{href:o.link,target:"_blank",class:[o.link?"cursor-pointer":"suspended","ticket-container type-no-underline flex center middle"],ref:"ticketContainer"},[Ze,Object(a["createVNode"])("div",qe,[Object(a["createVNode"])("div",_e,[Object(a["renderSlot"])(e.$slots,"title",{},void 0,!0)]),Object(a["createVNode"])("div",Je,[Object(a["renderSlot"])(e.$slots,"price",{},void 0,!0)])]),Object(a["createVNode"])("div",Ye,[Object(a["renderSlot"])(e.$slots,"left",{},void 0,!0)]),Object(a["createVNode"])("div",Qe,[Object(a["renderSlot"])(e.$slots,"right",{},void 0,!0)]),Xe],10,["href"])})),et={name:"Ticket",props:{link:{type:String,required:!0}},computed:{tag:function(){return this.link?"a":"div"}}};o("0286");const tt=h()(et,[["render",$e],["__scopeId","data-v-d187df1e"]]);var ot=tt,nt=(o("0d03"),o("caad"),o("2532"),Object(a["withScopeId"])("data-v-78bf3cc9"));Object(a["pushScopeId"])("data-v-78bf3cc9");var at={class:"dateTitle mt-large mb-2xsmall type-small py-2xsmall color-white"},rt={class:"pl-medium"},it={class:"card row p-small mb-medium"},st={class:"col-sm-12 col-md-9 col-lg-7 pr-small"},lt={key:0},ct=Object(a["createTextVNode"])(" 🔴 "),dt={key:1},ut={key:2,class:"video col-sm-9 pl-3xsmall"},ht={class:"col-sm-12 col-md-3 col-lg-5 mt-small"},mt={key:2,class:"speakerImg rounded-small"};Object(a["popScopeId"])();var pt=nt((function(e,t,o,n,r,i){return Object(a["openBlock"])(),Object(a["createBlock"])("div",null,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(i.talksByDate,(function(t){var n=t.date,r=t.talks;return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:n,class:"mb-xlarge"},[Object(a["createVNode"])("h3",at,[Object(a["createVNode"])("div",rt,Object(a["toDisplayString"])(i.format(new Date(n),"MMM dd")),1)]),(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(r,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:t.code,id:i.slugify(t.title.en||t.title)},[Object(a["createVNode"])("div",it,[Object(a["createVNode"])("div",st,[t.end?(Object(a["openBlock"])(),Object(a["createBlock"])("div",lt,[i.ongoing(t)?(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],{key:0},[ct],64)):Object(a["createCommentVNode"])("",!0),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(i.format(new Date(t.start),"HH:mm"))+" - "+Object(a["toDisplayString"])(i.format(new Date(t.end),"HH:mm"))+" "+Object(a["toDisplayString"])(i.format(new Date(t.start),"OOO")),1)])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",dt," start: "+Object(a["toDisplayString"])(i.format(new Date(t.start),"HH:mm"))+" - "+Object(a["toDisplayString"])(Number(t.duration.split(":")[0]))+" hrs ",1)),Object(a["createVNode"])("h3",{id:"".concat(i.slugify(t.title.en||t.title),"_title"),class:"talkTitle"},Object(a["toDisplayString"])(t.title.en||t.title),9,["id"]),t.yt_link?(Object(a["openBlock"])(),Object(a["createBlock"])("div",ut,[Object(a["createVNode"])("iframe",{class:"rounded",width:"100%",height:"100%",src:"https://www.youtube.com/embed/".concat(t.yt_link,"?rel=0"),title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""},null,8,["src"])])):Object(a["createCommentVNode"])("",!0),t["abstract"]?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:3,class:"mt-medium",innerHTML:i.parseMarkdown(t["abstract"])},null,8,["innerHTML"])):Object(a["createCommentVNode"])("",!0),t["abstract"]&&!e.expandedTalks.includes(t.code||t.id)&&t.description&&""!==t.description?(Object(a["openBlock"])(),Object(a["createBlock"])("button",{key:4,class:"color-theme",onClick:function(e){return i.openTalk(t)}}," Read more ",8,["onClick"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])(a["Transition"],{name:"fade"},{default:nt((function(){return[e.expandedTalks.includes(t.code||t.id)?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:0,class:"mt-medium description",innerHTML:i.parseMarkdown(t.description)},null,8,["innerHTML"])):Object(a["createCommentVNode"])("",!0)]})),_:2},1024)]),Object(a["createVNode"])("div",ht,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(t.speakers,(function(n){var r=n.code,s=n.avatar,l=n.public_name;return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:r,class:"card sharper bg-black rounded-small row mb-small",style:{overflow:"hidden"}},[Object(a["createVNode"])("button",{class:"flex middle speakerButton",onClick:function(o){e.expandedSpeakers.includes("".concat(r).concat(t.code))?e.expandedSpeakers=e.expandedSpeakers.filter((function(e){return e!=="".concat(r).concat(t.code)})):e.expandedSpeakers.push("".concat(r).concat(t.code)),i.sendEvent("Open Bio",i.getSpeaker(r)?i.getSpeaker(r)["public_name"]:"-")}},[s?(Object(a["openBlock"])(),Object(a["createBlock"])("img",{key:0,class:["speakerImg rounded-small",e.expandedSpeakers.includes("".concat(r).concat(t.code))?"opened":""],src:s||""},null,10,["src"])):o.talksWithPictures&&i.getWorkshopImg(l)?(Object(a["openBlock"])(),Object(a["createBlock"])("img",{key:1,class:["speakerImg rounded-small",e.expandedSpeakers.includes("".concat(r).concat(t.code))?"opened":""],src:i.getWorkshopImg(l)||""},null,10,["src"])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",mt)),Object(a["createVNode"])("h4",{class:["ml-small",e.expandedSpeakers.includes("".concat(r).concat(t.code))?"color-theme":"color-white"]},Object(a["toDisplayString"])(i.getSpeaker(r)?i.getSpeaker(r)["public_name"]:"-"),3)],8,["onClick"]),Object(a["createVNode"])(a["Transition"],{name:e.expandedSpeakers.includes("".concat(r).concat(t.code))?"fade":""},{default:nt((function(){return[e.expandedSpeakers.includes("".concat(r).concat(t.code))?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:0,innerHTML:i.getSpeaker(r).biography?i.parseMarkdown(i.getSpeaker(r).biography):"-",class:"p-small pt-none speakerBio"},null,8,["innerHTML"])):Object(a["createCommentVNode"])("",!0)]})),_:2},1032,["name"])])})),128))])])],8,["id"])})),128))])})),128))])})),bt=(o("c740"),o("7db0"),o("5319"),o("1ba4")),wt=o("b166"),gt=o("613a"),ft=o("7c5c"),kt={name:"talks",props:{talks:{type:Array,default:function(){return[]}},speakers:{type:Array,default:function(){return[]}},talksWithPictures:{type:Array,default:function(){return[]}},headerLink:{type:String,default:""}},data:function(){return{expandedTalks:[],expandedSpeakers:[]}},computed:{talksByDate:function(){var e=this,t=this.talks.map((function(e){var t=e.start;return new Date(t)})).filter((function(e,t,o){return o.findIndex((function(t){return Object(bt["a"])(e,t)}))===t}));return t.map((function(t){return{date:t,talks:e.talks.filter((function(e){var o=e.start;return Object(bt["a"])(t,new Date(o))}))}}))}},mounted:function(){var e=this,t=new URLSearchParams(window.location.search),o=t.get("talk");if(o){var n=this.talks.find((function(t){var n=t.title;return o===e.slugify(n.en||n)}));if(n){this.openTalk(n);var a=document.getElementById(o),r=a.getBoundingClientRect().top,i=r+window.pageYOffset-150;window.scrollTo({top:i})}}},methods:{format:wt["a"],slugify:function(e){return e.replace(/[ ]/g,"-").replace(/[^a-zA-Z0-9-]/g,"").toLowerCase()},parseMarkdown:function(e){return ft["marked"].parse(e)},getSpeaker:function(e){return this.speakers.find((function(t){return t.code===e}))},sendEvent:function(e,t){window.plausible(e,{props:{value:t}})},getWorkshopImg:function(e){var t=this.talksWithPictures.find((function(t){return t.name===e}));return t?t.avatar:null},openTalk:function(e){this.expandedTalks.push(e.code||e.id),this.sendEvent("Open Talk",e.title);var t="".concat(window.location.href.split("?")[0].split("#")[0],"?talk=").concat(this.slugify(e.title));history.replaceState(null,null,t)},ongoing:function(e){if(1193!==e.room)return!1;var t=new Date(e.start),o=new Date(e.end);return!isNaN(t)&&!isNaN(o)&&Object(gt["a"])(new Date,{start:t,end:o})}}};o("3a6d");const yt=h()(kt,[["render",pt],["__scopeId","data-v-78bf3cc9"]]);var vt=yt,Ot=(o("fb6a"),Object(a["withScopeId"])("data-v-61eb291e"));Object(a["pushScopeId"])("data-v-61eb291e");var Tt={class:"col-sm-12 row card p-xsmall"},jt={class:"col-sm-12 col-md-3 pr-3xsmall"},St={class:"list"},Rt={class:"yearTitle pb-small border-bottom-theme mb-small type-center"},It={class:"yearTitle bg-background pb-small border-bottom-theme mb-small type-center"},At={class:"theme ml-2xsmall mt-xsmall mb-medium"},Ft={key:0,class:"col-sm-9 pl-3xsmall"};Object(a["popScopeId"])();var Dt=Ot((function(e,t,o,n,r,i){return Object(a["openBlock"])(),Object(a["createBlock"])("div",Tt,[Object(a["createVNode"])("div",jt,[Object(a["createVNode"])("div",St,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.$tm("archive.previousTalks.talks"),(function(t){var o=t.year,n=t.list,r=t.playlistLink;return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:o,class:"mb-medium"},[e.$store.state.isMobile?(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],{key:0},[Object(a["createVNode"])("h3",Rt,Object(a["toDisplayString"])(o),1),(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.showAll[o]?n:n.slice(0,3),(function(t){var o=t.authors,n=t.title,r=t.url;return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:r,class:"color-white pt-small pb-small",onClick:function(t){return e.activeTalk=r}},[Object(a["createVNode"])("div",null,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(o,(function(e,t){return Object(a["openBlock"])(),Object(a["createBlock"])("span",{key:e,class:"type-small"},Object(a["toDisplayString"])(e)+Object(a["toDisplayString"])(t!==o.length-1?", ":""),1)})),128))]),Object(a["createVNode"])("a",{href:"https://www.youtube.com/watch?v=".concat(r.split("/embed/")[1]),class:"mt-3xsmall"},Object(a["toDisplayString"])(n),9,["href"])],8,["onClick"])})),128))],64)):(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],{key:1},[Object(a["createVNode"])("a",{href:r,target:"_blank"},[Object(a["createVNode"])("h3",It,Object(a["toDisplayString"])(o),1)],8,["href"]),(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(n,(function(t){var o=t.authors,n=t.title,r=t.url;return Object(a["openBlock"])(),Object(a["createBlock"])("button",{key:r,class:["color-white p-small pl-2xsmall pr-2xsmall rounded",e.activeTalk===r?"bg-background":""],onClick:function(t){return e.activeTalk=r}},[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(o,(function(e,t){return Object(a["openBlock"])(),Object(a["createBlock"])("span",{key:e,class:"type-small"},Object(a["toDisplayString"])(e)+Object(a["toDisplayString"])(t!==o.length-1?", ":""),1)})),128)),Object(a["createVNode"])("div",{class:["mt-3xsmall",e.activeTalk===r?"color-theme":""]},Object(a["toDisplayString"])(n),3)],10,["onClick"])})),128))],64)),e.$store.state.isMobile&&!e.showAll[o]?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:2,class:"flex center",onClick:function(t){return e.showAll[o]=!0}},[Object(a["createVNode"])("button",At," Show all ("+Object(a["toDisplayString"])(n.length)+") ",1)],8,["onClick"])):Object(a["createCommentVNode"])("",!0)])})),128))])]),e.$store.state.isMobile?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ft,[Object(a["createVNode"])("iframe",{class:"rounded",width:"100%",height:"100%",src:e.activeTalk,title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""},null,8,["src"])]))])})),Nt={name:"PreviousTalks",data:function(){return{activeTalk:null,showAll:{2021:!1,2020:!1,2019:!1,2018:!1}}},mounted:function(){this.activeTalk=this.$tm("archive.previousTalks.talks")[0].list[0].url}};o("3f88");const xt=h()(Nt,[["render",Dt],["__scopeId","data-v-61eb291e"]]);var Bt=xt;Object(a["pushScopeId"])("data-v-6b026847");Object(a["popScopeId"])();o("ab6b");var Ct=Object(a["withScopeId"])("data-v-5c31b8e4");Object(a["pushScopeId"])("data-v-5c31b8e4");var Lt={class:"col-sm-12"},Pt={class:"row between"},Vt={key:0,class:"rounded-small bg-grey-dark color-theme px-small pt-3xsmall pb-3xsmall mb-2xsmall",style:{width:"fit-content"}},Et=Object(a["createTextVNode"])(" 🔴 "),Mt={class:"type-small m-none"},Ht={key:0,class:"flex top"},Wt={key:0,class:"rounded-small bg-grey-dark color-theme px-xsmall py-3xsmall mr-xsmall",style:{height:"fit-content","margin-top":"-0.25rem"}},Gt={key:0,class:"col-sm-12 col-md-10 col-md-offset-1"},Ut={width:"100%",class:"video mt-medium mb-medium"},zt={key:1,class:"col-sm-12"},Kt={key:2},Zt={key:3,class:"col-sm-12"},qt={class:"col-sm-12 mb-xsmall"},_t={class:"type-large"},Jt={class:"col-sm-4"},Yt={key:0,class:"col-sm-8"},Qt={class:"col-sm-10 pl-small"};Object(a["popScopeId"])();var Xt=Ct((function(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("link-icon");return Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(o.items,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:t.code,class:["row p-small mt-large col-sm-12","Break"===t.submission_type?"rounded bg-grey-dark":"card"]},[Object(a["createVNode"])("div",Lt,[Object(a["createVNode"])("div",Pt,[Object(a["createVNode"])("div",null,["Keynote"===(t.submission_type.en||t.submission_type)&&e.$store.state.isMobile?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Vt," Keynote ")):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("h3",{class:"mb-3xsmall title",id:i.getSlug(t.title,t)},["Break"===t.submission_type?(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],{key:0},[Object(a["createTextVNode"])(Object(a["toDisplayString"])(t.description.en)+" ("+Object(a["toDisplayString"])(i.getBreakLength(t.slot.start,t.slot.end))+" min) ",1)],64)):"Misc"===t.submission_type?(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],{key:1},[Object(a["createTextVNode"])(Object(a["toDisplayString"])(t.description.en),1)],64)):(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],{key:2},[i.getIsNow(t.slot.start,t.slot.end)?(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],{key:0},[Et],64)):Object(a["createCommentVNode"])("",!0),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(t.title),1)],64))],8,["id"]),Object(a["createVNode"])("p",Mt,Object(a["toDisplayString"])(i.format(new Date(t.slot.start),"MMM dd"))+" "+Object(a["toDisplayString"])(i.getShownTime(t.slot.start))+" - "+Object(a["toDisplayString"])(i.getShownTime(t.slot.end))+" ("+Object(a["toDisplayString"])(Intl.DateTimeFormat().resolvedOptions().timeZone)+") ",1)]),"Misc"!==t.submission_type?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ht,["Keynote"!==(t.submission_type.en||t.submission_type)||e.$store.state.isMobile?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("div",Wt," Keynote ")),e.$store.state.isMobile||"Break"===t.submission_type||o.small?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("a",{key:1,title:"get link to talk",class:"Keynote"===t.submission_type&&"m-xsmall",href:"#".concat(i.getSlug(t.title,t))},[Object(a["createVNode"])(s,{style:{transform:"translateY(2px)"}})],10,["href"]))])):Object(a["createCommentVNode"])("",!0)])]),o.hash&&i.getVideoUrl(t.code)?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Gt,[Object(a["createVNode"])("div",Ut,[Object(a["createVNode"])("iframe",{width:"100%",height:"100%",class:"rounded",src:i.getVideoUrl(t.code),title:"Recording: ".concat(t.title),frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""},null,8,["src","title"])])])):Object(a["createCommentVNode"])("",!0),["Break","Misc"].includes(t.submission_type)?"Break"===t.submission_type?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Kt)):Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("div",zt,[Object(a["createVNode"])("p",{class:["relative",!t.expanded&&t["abstract"]&&t["abstract"].length>100&&"intro-gradient"],innerHTML:i.parseText(t["abstract"])},null,10,["innerHTML"]),t.expanded?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("button",{key:0,class:"theme small block mx-auto",onClick:function(e){return t.expanded=!0}}," Show more ",8,["onClick"])),t.expanded?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:1,innerHTML:i.parseText(t.description)},null,8,["innerHTML"])):Object(a["createCommentVNode"])("",!0)])),"Break"!==t.submission_type?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Zt,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(t.speakers,(function(n){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:n.code,class:["row bg-grey-dark mt-small rounded mt-small",e.$store.state.isMobile?"p-xsmall pt-2xsmall":"p-small"]},[e.$store.state.isMobile?(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],{key:0},[Object(a["createVNode"])("div",qt,[Object(a["createVNode"])("h4",_t,Object(a["toDisplayString"])(n.name),1)]),Object(a["createVNode"])("div",Jt,[Object(a["createVNode"])("img",{src:n.avatar||"".concat(e.publicPath,"/img/speaker_img_placeholder.jpg"),class:"rounded"},null,8,["src"])]),n.biography?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Yt,[Object(a["createVNode"])("p",{class:["type-small m-none pl-2xsmall relative",n.expanded?"":"bio-trunc pb-none bio-gradient"],style:{"line-height":"1.4"},innerHTML:i.parseText(n.biography)},null,10,["innerHTML"]),n.expanded?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("button",{key:0,onClick:function(e){return n.expanded=!0},class:"pl-2xsmall color-theme type-underline type-small"}," Show more ",8,["onClick"]))])):Object(a["createCommentVNode"])("",!0)],64)):(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],{key:1},[Object(a["createVNode"])("div",{class:o.small?"col-sm-1":"col-sm-2"},[Object(a["createVNode"])("img",{src:n.avatar||"".concat(e.publicPath,"/img/speaker_img_placeholder.jpg"),class:"rounded"},null,8,["src"])],2),Object(a["createVNode"])("div",Qt,[Object(a["createVNode"])("h4",null,Object(a["toDisplayString"])(n.name),1),Object(a["createVNode"])("div",{class:["type-small mb-none relative",n.expanded?"":"bio-trunc bio-gradient"]},[Object(a["createVNode"])("div",{innerHTML:i.parseText(n.biography),id:"".concat(t.code).concat(n.code)},null,8,["innerHTML","id"])],2),n.expanded?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("button",{key:0,onClick:function(e){return n.expanded=!0},class:"pl-2xsmall color-theme type-underline type-small",style:{transform:"translateY(0.25rem)"}}," Show more ",8,["onClick"]))])],64))],2)})),128))])):Object(a["createCommentVNode"])("",!0)],2)})),128)})),$t=(o("4160"),o("159b"),o("4795"),o("25f0"),o("c0c4")),eo=o("3452"),to=o.n(eo),oo=o("8c6f"),no=o("ade3"),ao=Object(a["withScopeId"])("data-v-36093906");Object(a["pushScopeId"])("data-v-36093906");var ro=Object(a["createVNode"])("path",{d:"M22.8,6.6C22.9,6.3,23,5.9,23,5.5c0-0.9-0.4-1.9-1.2-2.6l-0.7-0.7l0,0c-0.7-0.7-1.5-1.1-2.4-1.1\n c-0.9-0.1-1.7,0.2-2.2,0.8l-5,5c-0.6,0.6-0.8,1.4-0.8,2.2c0.1,0.6,0.3,1.2,0.6,1.8l0.1,0.1l0.1-0.1l1-1l0,0l0-0.1\n c-0.1-0.2-0.1-0.4-0.2-0.6c0-0.4,0.1-0.8,0.4-1l5-5c0.3-0.3,0.7-0.4,1.1-0.4c0.4,0,0.8,0.2,1.2,0.6L20.8,4\n c0.7,0.7,0.8,1.7,0.2,2.2l-5,5c-0.3,0.3-0.6,0.4-1,0.4c-0.2,0-0.4-0.1-0.6-0.2l-0.1,0l0,0l-1,1l-0.1,0.1l0.1,0.1\n c0.5,0.4,1.2,0.6,1.8,0.6c0.9,0.1,1.7-0.2,2.2-0.8l5-5C22.5,7.2,22.7,6.9,22.8,6.6z"},null,-1),io=Object(a["createVNode"])("path",{d:"M13.3,15c0-0.6-0.3-1.2-0.6-1.8l-0.1-0.1l-0.1,0.1l-1,1l0,0l0,0.1c0.1,0.2,0.1,0.4,0.2,0.6\n c0,0.4-0.1,0.8-0.4,1l-5,5c-0.3,0.3-0.7,0.4-1.1,0.4c-0.4,0-0.8-0.2-1.2-0.6L3.2,20c-0.7-0.7-0.8-1.7-0.2-2.2l5-5\n c0.3-0.3,0.6-0.4,1-0.4c0.2,0,0.4,0.1,0.6,0.2l0.1,0l0,0l1-1l0.1-0.1l-0.1-0.1C10.2,11,9.6,10.8,9,10.7c-0.9-0.1-1.7,0.2-2.2,0.8\n l-5,5c-0.3,0.3-0.5,0.6-0.6,0.9C1.1,17.7,1,18.1,1,18.5c0,0.9,0.4,1.9,1.2,2.6l0.7,0.7c0.7,0.7,1.5,1.1,2.4,1.1\n c0.9,0.1,1.7-0.2,2.2-0.8l5-5C13.1,16.6,13.4,15.9,13.3,15z"},null,-1),so=Object(a["createVNode"])("path",{d:"M8.2,15.8C8.3,15.9,8.5,16,8.7,16c0.2,0,0.3-0.1,0.5-0.2l6.7-6.7c0.2-0.2,0.3-0.6,0-0.9\n C15.7,8.1,15.5,8,15.3,8c-0.2,0-0.3,0.1-0.5,0.2l-6.7,6.7C8,15.1,7.9,15.5,8.2,15.8z"},null,-1);Object(a["popScopeId"])();var lo=ao((function(e,t,o,n,r,i){var s;return Object(a["openBlock"])(),Object(a["createBlock"])("svg",{xmlns:"http://www.w3.org/2000/svg",height:"20px",viewBox:"0 0 24 24",width:"20px",class:(s={},Object(no["a"])(s,"fill-white","white"===o.color),Object(no["a"])(s,"fill-theme","theme"===o.color),s)},[ro,io,so],2)})),co={name:"LinkIcon",props:{color:{type:String,default:"white"}}};o("5ce5");const uo=h()(co,[["render",lo],["__scopeId","data-v-36093906"]]);var ho=uo,mo={name:"Talks2023",components:{LinkIcon:ho},props:{items:{type:Array,required:!0},small:{type:Boolean,default:!1},hash:{type:String}},data:function(){return{publicPath:"dist/",token:{},error:!1,dataReady:!0,recordings:{CYPVMT:"U2FsdGVkX1/lIc0urbwV8+qSG4nLnpwBGGiKT5yG7tM=",DWKDNS:"U2FsdGVkX1843EDgruV0d70RFVSEazvu5l6aIYOZ66s=",DYRXQH:"U2FsdGVkX1/R8K6P1dT/IuT9o6ebsf9TWulodtILI5g=",U9UFXV:"U2FsdGVkX1+2t9MUVfwKbevDGwiPDYvw3bs87qVmHSE=",HYDNVM:"U2FsdGVkX18eO+f6AUuwlRwZHi1cJpfw5odT13AgX94=",HJ9B3R:"U2FsdGVkX19ngWzxSC+IXaInRFUbCev03NSasj/Y/AQ=",X9CQEZ:"U2FsdGVkX1+EYItX3WtoInuTldwjhcaQoUhAEIc29/Q=",N3QCPT:"U2FsdGVkX19dmKYJCwOvF1s2HC4pQQLa76IVW7R+BCM=",JAXTEX:"U2FsdGVkX1/z9ItKKBmHoQpca5+i1M44ubzbLejcteA=",DRXANT:"U2FsdGVkX1+M16KuXg2N9UvXgYzAGcRJOgxDRhNMOX0=",SAMETK:"U2FsdGVkX1+0mwbMa5tzAlgdg+e29D8XFi5agSq3iJo=",K3EA3U:"U2FsdGVkX1+THqyYgZ5y8qi/ZD2yp2QzvLcg9WmNCBs=",AW8NLK:"U2FsdGVkX18ZXnwXbh7X7Tt61E4tTbSRZeC0WbtwvJg=",XYAJN3:"U2FsdGVkX18pfOS84kYXSghqdK3gJSsX7az0NakFnRs=",BFWKHL:"U2FsdGVkX19FlLMd1+Po4OTDxY3yqzMn/Lw8E4mhcpQ=",T8KEQR:"U2FsdGVkX18Mx2k9ptU2+zbhdkEjSJahfyf06CEkniM=",HYQUWN:"U2FsdGVkX1/MHvTM+IfVJH7xtdDlh7BWvVYWUoVTDqI=",WSBCXF:"U2FsdGVkX1/bpDvejk5NWlzFVGRvFiODKG5D3G5XVkk=",HKSQYD:"U2FsdGVkX1/LZnM9gP6/i3nw9xikObHK/kmIOeyoXwk=",NLM3AS:"U2FsdGVkX19TQOQxgj9co2haJvuJjNqIxma7FFZx7Ms=",AXBYUP:"U2FsdGVkX197y9tVXFPhS0SL+XM4o365DfYdnJeVHk0=",XWZVHN:"U2FsdGVkX1/187Wksg7wNwE7SUSoszg3m63Oy/YooSM=",ASXKLW:"U2FsdGVkX195OYR9jfdAjdVoX/daiW6Slw+tVouNKJI=",MGCBMF:"U2FsdGVkX1+C35mtZtNFaN3omblmryCPSjXhMV2tlLg=",CKHB9J:"U2FsdGVkX18h15zwTAeNoZvgrHfwZGeW6/FEqahbn7s=",MTRCMK:"U2FsdGVkX185SyiprfNdsRjw98AyaF4Tp56eGGXs5YI=",AULYMA:"U2FsdGVkX1+UQEIBg+tndNgES6UM/2aaCyZzzoeH9+w=",ZSLPJF:"U2FsdGVkX1+OebszkRP3OcIGjCXhiZfzN9xYj31260c=",PDKBJK:""},dateNow:new Date}},mounted:function(){var e=this;this.items.forEach((function(e){e.speakers&&e.speakers.forEach((function(t){var o=document.getElementById("".concat(e.code).concat(t.code));o&&o.offsetHeight<100&&(t.expanded=!0)}))})),setInterval((function(){e.dateNow=new Date}),1e4)},methods:{format:wt["a"],getShownTime:function(e){var t=new Date(e),o=t.getHours(),n=t.getMinutes();return"".concat(o,":").concat(0===n?"00":n)},parseText:function(e){return $t["sanitize"](ft["marked"].parse(e||""))},getSlug:function(e,t){var o,n;if(!e)return"";var a="Gather Town"===(null===t||void 0===t||null===(o=t.slot)||void 0===o||null===(n=o.room)||void 0===n?void 0:n.en);return a?"online-".concat(e.replace(/[ ]/g,"-").replace(/[^a-zA-Z0-9-]/g,"").toLowerCase()):e.replace(/[ ]/g,"-").replace(/[^a-zA-Z0-9-]/g,"").toLowerCase()},getBreakLength:function(e,t){return Object(oo["a"])(new Date(t),new Date(e))},getVideoUrl:function(e){if("undefined"!==typeof e){var t=this.recordings[e];if(t)try{var o=to.a.AES.decrypt(t,this.hash).toString(to.a.enc.Utf8);return"https://www.youtube-nocookie.com/embed/".concat(o,"?rel=0&autoplay=0&mute=0&controls=1&origin=https%3A%2F%2Frobocon.io&playsinline=0&showinfo=0&modestbranding=1")}catch(n){return void console.error("Code ".concat(e," did not have a valid recording."))}else console.error("Code ".concat(e," did not have a recording."))}},getIsNow:function(e,t){return!(!e||!t)&&Object(gt["a"])(this.dateNow,{start:new Date(e),end:new Date(t)})}}};o("e645");const po=h()(mo,[["render",Xt],["__scopeId","data-v-5c31b8e4"]]);var bo=po,wo=Object(a["withScopeId"])("data-v-5c01f759");Object(a["pushScopeId"])("data-v-5c01f759");var go={class:"mt-small w-100"},fo={class:"flex between"},ko={class:"type-small m-none"},yo={key:2,class:"details"},vo=Object(a["createVNode"])("summary",null," Full description ",-1),Oo={key:3,class:"mt-xlarge"},To={class:"bio"},jo={class:"middle",style:{display:"inline-flex"}},So={class:"mr-small"},Ro={class:""},Io={class:"type-small type-underline"},Ao={class:"col-sm-12 p-medium pl-large pr-small"};Object(a["popScopeId"])();var Fo=wo((function(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("link-icon");return Object(a["openBlock"])(),Object(a["createBlock"])("div",go,[(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(["live","online"],(function(t){return Object(a["createVNode"])("button",{key:t,class:["theme mr-xsmall",e.selectedTrack===t&&"active"],onClick:function(o){return e.selectedTrack=t}},Object(a["toDisplayString"])(t),11,["onClick"])})),64)),(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(i.shownTalks,(function(t){var o,n,r;return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:t.id,class:["mt-large card p-small",t.isBreak&&"bg-secondary sharper"]},[t.isBreak?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("a",{key:0,class:"anchor",id:i.getSlug(t.title,e.selectedTrack)},null,8,["id"])),Object(a["createVNode"])("div",fo,[Object(a["createVNode"])("h3",null,Object(a["toDisplayString"])(t.isBreak?t.description.en:t.title),1),e.$store.state.isMobile||t.isBreak?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("a",{key:0,title:"get link to talk",href:"#".concat(i.getSlug(t.title,e.selectedTrack))},[Object(a["createVNode"])(s,{style:{transform:"translateY(2px)"}})],8,["href"]))]),Object(a["createVNode"])("p",ko,Object(a["toDisplayString"])(i.format(new Date((null===(o=t.slot)||void 0===o?void 0:o.start)||t.start),"MMM dd"))+" "+Object(a["toDisplayString"])(i.getShownTime((null===(n=t.slot)||void 0===n?void 0:n.start)||t.start))+" - "+Object(a["toDisplayString"])(i.getShownTime((null===(r=t.slot)||void 0===r?void 0:r.end)||t.end))+" ("+Object(a["toDisplayString"])(Intl.DateTimeFormat().resolvedOptions().timeZone)+") ",1),t["abstract"]?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:1,innerHTML:i.parseText(t["abstract"])},null,8,["innerHTML"])):Object(a["createCommentVNode"])("",!0),!t.isBreak&&t.description?(Object(a["openBlock"])(),Object(a["createBlock"])("details",yo,[vo,Object(a["createVNode"])("div",{innerHTML:i.parseText(t.description),class:"p-small"},null,8,["innerHTML"])])):Object(a["createCommentVNode"])("",!0),t.isBreak?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("h3",Oo,"Presenters")),(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(t.speakers,(function(t){var o,n;return Object(a["openBlock"])(),Object(a["createBlock"])("details",{key:t.code,class:"card sharper mb-medium mt-medium"},[Object(a["createVNode"])("summary",To,[Object(a["createVNode"])("div",jo,[Object(a["createVNode"])("div",So,[Object(a["createVNode"])("img",{src:t.avatar||"".concat(e.publicPath,"/img/speaker_img_placeholder.jpg"),class:"rounded-small block",style:{width:"5rem","aspect-ratio":"1","object-fit":"cover"}},null,8,["src"])]),Object(a["createVNode"])("div",Ro,[Object(a["createVNode"])("h4",Io,Object(a["toDisplayString"])((null===(o=i.getSpeaker(t.code))||void 0===o?void 0:o.name)||t.name),1)])])]),Object(a["createVNode"])("div",Ao,[Object(a["createVNode"])("p",{class:"type-small m-none pl-2xsmall",innerHTML:i.parseText(null===(n=i.getSpeaker(t.code))||void 0===n?void 0:n.biography)||"-"},null,8,["innerHTML"])])])})),128))],2)})),128))])})),Do=o("2909"),No=(o("4e82"),{name:"Talks24",props:{speakers:{type:Array,required:!0}},components:{LinkIcon:ho},computed:{shownTalks:function(){return"live"===this.selectedTrack?this.talksLive:"online"===this.selectedTrack?this.talksOnline:[]}},created:function(){var e=this;fetch("https://pretalx.com/api/events/robocon-2024/schedules/latest/").then((function(e){return e.json()})).then((function(t){var o,a,r,i;e.talksLive=[].concat(Object(Do["a"])(null===t||void 0===t||null===(o=t.slots)||void 0===o?void 0:o.filter((function(e){var t,o;return"RoboCon"===(null===e||void 0===e||null===(t=e.slot)||void 0===t||null===(o=t.room)||void 0===o?void 0:o.en)}))),Object(Do["a"])(null===t||void 0===t||null===(a=t.breaks)||void 0===a?void 0:a.filter((function(e){var t;return"RoboCon"===(null===e||void 0===e||null===(t=e.room)||void 0===t?void 0:t.en)})).map((function(e){return Object(n["a"])(Object(n["a"])({},e),{},{isBreak:!0})})))).sort((function(e,t){var o,n;return new Date((null===(o=e.slot)||void 0===o?void 0:o.start)||e.start)t["Proposal title"]?1:0}))}},methods:{format:wt["a"],getShownTime:function(e){var t=new Date(e),o=t.getHours(),n=t.getMinutes();return"".concat(o,":").concat(0===n?"00":n)},parseText:function(e){return ft["marked"].parse(e||"")},getSlug:function(e){return e?"".concat(e.replace(/[ ]/g,"-").replace(/[^a-zA-Z0-9-]/g,"").toLowerCase()):""},getSpeaker:function(e){return this.speakers.find((function(t){var o=t.code;return o===e}))}},mounted:function(){var e=this;setTimeout((function(){console.log(e.speakers)}),1e3)}};o("ab60");const tn=h()(en,[["render",Xo],["__scopeId","data-v-1cf01132"]]);var on=tn,nn=Object(a["withScopeId"])("data-v-732da9b4");Object(a["pushScopeId"])("data-v-732da9b4");var an={class:"mt-small w-100"},rn={class:"flex between"},sn={class:"type-small m-none"},ln={class:"details"},cn=Object(a["createVNode"])("summary",null," Full description ",-1),dn=Object(a["createVNode"])("h3",{class:"pl-small"}," Lessons learned ",-1),un=Object(a["createVNode"])("h3",{class:"pl-small"}," Intended audience ",-1),hn=Object(a["createVNode"])("h3",{class:"pl-small"}," Suitable for ",-1),mn=Object(a["createVNode"])("h3",{class:"mt-xlarge"},"Presenters",-1),pn={class:"bio"},bn={class:"middle",style:{display:"inline-flex"}},wn={class:"mr-small"},gn={class:""},fn={class:"type-small type-underline"},kn={class:"col-sm-12 p-medium pl-large pr-small"};Object(a["popScopeId"])();var yn=nn((function(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("link-icon");return Object(a["openBlock"])(),Object(a["createBlock"])("div",an,[(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(["live","online"],(function(t){return Object(a["createVNode"])("button",{key:t,class:["theme mr-xsmall",e.shownTutorials===t&&"active"],onClick:function(o){return e.shownTutorials=t}},Object(a["toDisplayString"])(t),11,["onClick"])})),64)),(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])("live"===e.shownTutorials?e.tutorials:e.tutorialsOnline,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:t.id,class:" mt-large card p-small"},[Object(a["createVNode"])("a",{class:"anchor",id:i.getSlug(t["Proposal title"],e.shownTutorials)},null,8,["id"]),Object(a["createVNode"])("div",rn,[Object(a["createVNode"])("h3",null,Object(a["toDisplayString"])(t["Proposal title"]),1),e.$store.state.isMobile?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("a",{key:0,title:"get link to tutorial",href:"#".concat(i.getSlug(t["Proposal title"],e.shownTutorials))},[Object(a["createVNode"])(s,{style:{transform:"translateY(2px)"}})],8,["href"]))]),Object(a["createVNode"])("p",sn,Object(a["toDisplayString"])(i.format(new Date(t.Start),"MMM dd"))+" "+Object(a["toDisplayString"])(i.getShownTime(t.Start))+" - "+Object(a["toDisplayString"])(i.getShownTime(t.End))+" ("+Object(a["toDisplayString"])(Intl.DateTimeFormat().resolvedOptions().timeZone)+") ",1),Object(a["createVNode"])("div",{innerHTML:i.parseText(t.Abstract)},null,8,["innerHTML"]),Object(a["createVNode"])("details",ln,[cn,Object(a["createVNode"])("div",{innerHTML:i.parseText(t.Description),class:"p-small"},null,8,["innerHTML"]),dn,Object(a["createVNode"])("div",{innerHTML:i.parseText(t["Lessons Learned"]),class:"p-small"},null,8,["innerHTML"]),un,Object(a["createVNode"])("div",{innerHTML:i.parseText(t["Describe your intended audience"]),class:"p-small"},null,8,["innerHTML"]),hn,Object(a["createVNode"])("div",{innerHTML:i.parseText(t["Is this suitable for ..?"]),class:"p-small"},null,8,["innerHTML"])]),mn,(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(t["Speaker IDs"],(function(t,o){var n,r,s,l;return Object(a["openBlock"])(),Object(a["createBlock"])("details",{key:t,class:"card sharper mb-medium mt-medium"},[Object(a["createVNode"])("summary",pn,[Object(a["createVNode"])("div",bn,[Object(a["createVNode"])("div",wn,[Object(a["createVNode"])("img",{src:(null===(n=i.getSpeaker(t))||void 0===n?void 0:n.avatar)||"".concat(e.publicPath,"/img/speaker_img_placeholder.jpg"),class:"rounded-small block",style:{width:"5rem","aspect-ratio":"1","object-fit":"cover"}},null,8,["src"])]),Object(a["createVNode"])("div",gn,[Object(a["createVNode"])("h4",fn,Object(a["toDisplayString"])((null===(r=i.getSpeaker(t))||void 0===r?void 0:r.name)||(null===(s=e.workshop["Speaker names"])||void 0===s?void 0:s[o])||"-"),1)])])]),Object(a["createVNode"])("div",kn,[Object(a["createVNode"])("p",{class:"type-small m-none pl-2xsmall",innerHTML:i.parseText(null===(l=i.getSpeaker(t))||void 0===l?void 0:l.biography)||"-"},null,8,["innerHTML"])])])})),128))])})),128))])})),vn={name:"Tutorials24",components:{LinkIcon:ho},props:{speakers:{type:Array,required:!0}},computed:{workshops:function(){return $o.filter((function(e){return e["Session type"].en.includes("Workshop")}))}},created:function(){var e=this;fetch("https://pretalx.com/api/events/robocon-2024/schedules/latest/").then((function(e){return e.json()})).then((function(t){e.tutorials=$o.filter((function(e){var t,o;return"Tutorial"===(null===(t=e["Session type"])||void 0===t?void 0:t.en)&&"Eficode"===(null===(o=e.Room)||void 0===o?void 0:o.en)})).sort((function(e,t){return new Date(e.Start)1280),window.addEventListener("resize",(function(){e.$store.commit("SET_IS_MOBILE",window.innerWidth<768),e.$store.commit("SET_IS_DESKTOP",window.innerWidth>1280)})),window.addEventListener("click",(function(){return document.body.classList.remove("accessible")})),window.addEventListener("keydown",(function(e){var t=e.key;"Tab"===t&&document.body.classList.add("accessible")}));var t=new URLSearchParams(window.location.search),o=Object.fromEntries(t.entries()).attendee;"gather"===o&&(this.fullScreen=!0)},watch:{"$i18n.locale":function(){document.documentElement.lang=this.$i18n.locale}},methods:{scrollTo:function(e){var t=document.getElementById(e);t&&t.scrollIntoView({behavior:"smooth"})}}};o("b88e");const Nn=h()(Dn,[["render",i]]);var xn=Nn,Bn=o("6c02"),Cn=Object(a["withScopeId"])("data-v-dfea1370");Object(a["pushScopeId"])("data-v-dfea1370");var Ln={class:"container narrow row middle p-small pt-medium pb-medium"},Pn={class:"col-sm-12 center start-lg col-lg-9 col-lg-offset-3 flex"},Vn=Object(a["createVNode"])("h1",{class:"color-white"},[Object(a["createTextVNode"])("RBCN"),Object(a["createVNode"])("span",{class:"color-theme"},"24")],-1),En={class:"container narrow border-top-theme"},Mn=Object(a["createVNode"])("p",null,[Object(a["createTextVNode"])(" RoboCon is the crown jewel of the "),Object(a["createVNode"])("span",{class:"color-theme"},"Robot Framework community"),Object(a["createTextVNode"])(". Once again we are gathering together as a community to learn, exchange knowledge and have a great time with one another. ")],-1),Hn=Object(a["createVNode"])("p",{class:"mb-medium"},[Object(a["createTextVNode"])(" For "),Object(a["createVNode"])("span",{class:"color-theme"},"RoboCon 2024"),Object(a["createTextVNode"])(" we will have a familiar fully in-person conference and then a few weeks later a full online conference like the year before. ")],-1),Wn={class:"col-sm-12 row center between-md"},Gn=Object(a["createTextVNode"])(" Main Conference"),Un=Object(a["createVNode"])("br",null,null,-1),zn=Object(a["createTextVNode"])("In-person"),Kn=Object(a["createVNode"])("br",null,null,-1),Zn=Object(a["createTextVNode"])(" 1200 €"),qn=Object(a["createVNode"])("span",{class:"type-xsmall"}," + VAT",-1),_n=Object(a["createTextVNode"])(" FEB 08-09 "),Jn=Object(a["createTextVNode"])(" 2024 "),Yn=Object(a["createTextVNode"])(" Main Conference"),Qn=Object(a["createVNode"])("br",null,null,-1),Xn=Object(a["createTextVNode"])("Online "),$n=Object(a["createTextVNode"])(" 300 €"),ea=Object(a["createVNode"])("span",{class:"type-xsmall"}," + VAT",-1),ta=Object(a["createTextVNode"])(" FEB 28-29 "),oa=Object(a["createTextVNode"])(" 2024 "),na=Object(a["createVNode"])("p",{class:"mt-large"},[Object(a["createVNode"])("span",{class:"color-theme"},"The in-person conference"),Object(a["createTextVNode"])(" will be held in Helsinki 8-9 February, 2024. ")],-1),aa=Object(a["createVNode"])("p",null," Please also reserve the 6th and 7th of February for learning in the workshops and for the Community Day. The Community Day is an open space for the community to learn, discuss and advance topics related to Robot Framework. This might include workshop participants practicing what they learned with the help of the workshop facilitators. ",-1),ra=Object(a["createVNode"])("p",null," Moreover, on the 10th of February there will be a walking tours and other optional activities in Helsinki. ",-1),ia=Object(a["createVNode"])("details",{class:"pl-small"},[Object(a["createVNode"])("summary",null," Plans for tour day (10th Feb) "),Object(a["createVNode"])("h3",{class:"mt-small"}," Helsinki Walk with Pekka Klärck "),Object(a["createVNode"])("p",null," Take a walk through some neighborhoods with Pekka Klärck. Starting in central Helsinki, Pekka will lead you up through the neighborhoods of Kallio, Vallila, and over towards Pasila. Along the way you will be visiting a famous food market hall, seeing beautiful parts of the city outside of the city central, stop for some Coffee break at Sävy or Helsingin Kahvipaahtimo. Later there will be an option for a brewery tour at Vallilan Panimo and possible sauna at a local community sauna. "),Object(a["createVNode"])("h3",null," Suomenlinna tour with Jenna, Eeva and Ed "),Object(a["createVNode"])("p",null," This group will visit Suomenlinna, an island within the city harbor just south of Market Square, and viewable from this year’s conference venue. Taking a short 15 minute, 3€ ferry/public transportation will travel from Market Square. Jenna and Eeva, both Robot Framework community members and Helsinki locals will travel with us and share from their experiences. On the island there are opportunities for exploring the islands, enjoying some food. There is also a 13€ per person Guided tour which we could take advantage of. This tour will end mid afternoon. "),Object(a["createVNode"])("p",null," Both options will start late morning. If weather is really bad we will have backup plans probably to the local museums of which there are about half a dozen in the immediate area. More information will be published as we get closer to the conference dates. ")],-1),sa=Object(a["createVNode"])("p",null," In-person ticket includes a complimentary online conference ticket. ",-1),la=Object(a["createVNode"])("p",null,[Object(a["createVNode"])("span",{class:"color-theme"},"The online conference"),Object(a["createTextVNode"])(" will take place 28-29 February, 2024 followed by the community day on the 1st of March. ")],-1),ca=Object(a["createVNode"])("div",{class:"row col-sm-12"},[Object(a["createVNode"])("div",{class:"col-sm-12 col-md-6 px-small"},[Object(a["createVNode"])("div",{class:"bg-secondary p-medium pt-large pb-large rounded mb-small"},[Object(a["createVNode"])("h2",null,"In-person"),Object(a["createVNode"])("div",null,"Helsinki, Finland"),Object(a["createVNode"])("a",{href:"https://www.scandichotels.com/hotels/finland/helsinki/scandic-grand-marina/meetings-conferences-events/scandic-marina-congress-center"},"Marina Congress Center"),Object(a["createVNode"])("span",{class:"line-height-1"},[Object(a["createVNode"])("div",{class:"mt-small color-theme font-title type-body"},"Feb 6th"),Object(a["createTextVNode"])(" Workshops - "),Object(a["createVNode"])("a",{href:"https://tickets.robotframework.org/robocon-2024/3997180/"},"tickets"),Object(a["createVNode"])("div",{class:"mt-small color-theme font-title type-body"},"7th"),Object(a["createTextVNode"])(" Community Day (9am) @ "),Object(a["createVNode"])("a",{href:"https://maps.app.goo.gl/6QFBjcWk8iCaHQCG6",target:"_blank"},"Eficode"),Object(a["createVNode"])("div",{class:"mt-small color-theme font-title type-body"},"8th"),Object(a["createTextVNode"])(" Main Conference "),Object(a["createVNode"])("div",null,"+ Community Dinner"),Object(a["createVNode"])("div",{class:"mt-small color-theme font-title type-body"},"9th"),Object(a["createTextVNode"])(" Main Conference "),Object(a["createVNode"])("div",null,"+ After Party"),Object(a["createVNode"])("div",{class:"mt-small color-theme font-title type-body"},"10th"),Object(a["createTextVNode"])(" Fun activity ")])])]),Object(a["createVNode"])("div",{class:"col-sm-12 col-md-6 px-small"},[Object(a["createVNode"])("div",{class:"bg-secondary p-medium pt-large pb-2xlarge rounded mb-small"},[Object(a["createVNode"])("h2",null,"Online"),Object(a["createVNode"])("a",{href:"https://www.gather.town/"},"Gather.town"),Object(a["createVNode"])("span",{class:"line-height-1"},[Object(a["createVNode"])("div",{class:"mt-small color-theme font-title type-body"},"Feb 28th"),Object(a["createTextVNode"])(" Main Conference "),Object(a["createVNode"])("div",{class:"mt-small color-theme font-title type-body"},"29th"),Object(a["createTextVNode"])(" Main Conference "),Object(a["createVNode"])("div",{class:"mt-small color-theme font-title type-body"},"Mar 1st"),Object(a["createTextVNode"])(" Community Day ")])])])],-1),da=Object(a["createVNode"])("p",null,[Object(a["createTextVNode"])(" Tutorials offer you a sneak peek into specific topics, each uniquely designed for different levels of expertise. This year, we're excited to provide "),Object(a["createVNode"])("span",{class:"weight-bold"},"free beginner-level tutorials during the Community Day of our in-person conference."),Object(a["createTextVNode"])(),Object(a["createVNode"])("a",{href:"https://tickets.robotframework.org/robocon-2024/3997179/"},"Enroll here, please!")],-1),ua=Object(a["createVNode"])("p",null,[Object(a["createTextVNode"])(" Moreover, a wide array of exceptional online tutorials will be spread across the days before and after the online conference, "),Object(a["createVNode"])("span",{class:"type-underline-theme weight-bold"},"accessible exclusively to ticket holders."),Object(a["createTextVNode"])(" Don't miss this opportunity to enhance your skills and knowledge in a tailored, engaging environment. ")],-1),ha=Object(a["createVNode"])("p",null," The in-person conference week kicks off with our exceptional hands-on workshops. These serve as your gateway to a deep dive into specific topics, allowing you to learn practically in a small group setting. ",-1),ma=Object(a["createVNode"])("p",null," We offer a diverse range of workshops covering various topics and skill levels. Be sure to choose one that's just right for you! ",-1),pa=Object(a["createVNode"])("p",null,[Object(a["createTextVNode"])(" If you are looking for "),Object(a["createVNode"])("span",{class:"color-theme"},"accommodation"),Object(a["createTextVNode"])(", you may reserve a hotel at a discounted rate via the following links: ")],-1),ba=Object(a["createVNode"])("div",{class:"row"},[Object(a["createVNode"])("div",{class:"col-sm-6 pr-medium pl-small"},[Object(a["createVNode"])("img",{style:{width:"100%"},class:"rounded",src:"https://cache.marriott.com/content/dam/marriott-renditions/HELAK/helak-corner-suite-6602-hor-clsc.jpg?output-quality=70&interpolation=progressive-bilinear&downsize=*:423px"}),Object(a["createVNode"])("a",{class:"block type-center",href:"https://bit.ly/HotelU14"},"Hotel U14")]),Object(a["createVNode"])("div",{class:"col-sm-6 pl-medium pr-small"},[Object(a["createVNode"])("img",{style:{width:"100%"},class:"rounded",src:"https://be.synxis.com/shs-ngbe-image-resizer/images/hotel/69715/images/room/170222_f6_huonexxx_001.jpg"}),Object(a["createVNode"])("a",{class:"block type-center",href:"https://bit.ly/HotelF6"},"Hotel F6")])],-1);Object(a["popScopeId"])();var wa=Cn((function(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("globe-rbcn"),l=Object(a["resolveComponent"])("news-banner"),c=Object(a["resolveComponent"])("Ticket"),d=Object(a["resolveComponent"])("sponsors"),u=Object(a["resolveComponent"])("page-section"),h=Object(a["resolveComponent"])("tutorials24"),m=Object(a["resolveComponent"])("workshops24"),p=Object(a["resolveComponent"])("talks24");return Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,[Object(a["createVNode"])("div",Ln,[Object(a["createVNode"])("div",Pn,[Vn,Object(a["createVNode"])("div",{class:["hidden-sm",e.isFirefox?"":"pt-medium"]},[Object(a["createVNode"])(s)],2)])]),""!==e.$t("newsBanner")?(Object(a["openBlock"])(),Object(a["createBlock"])(l,{key:0},{default:Cn((function(){return[Object(a["createVNode"])("div",{innerHTML:e.$t("newsBanner")},null,8,["innerHTML"])]})),_:1})):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("div",En,[Object(a["createVNode"])(u,{"title-id":"intro",title:e.$t("home.intro.title")},{default:Cn((function(){return[Mn,Hn,Object(a["createVNode"])("div",Wn,[Object(a["createVNode"])(c,{link:"https://tickets.robotframework.org/robocon-2024/3913179/",class:"mb-small"},{title:Cn((function(){return[Gn,Un,zn,Kn]})),price:Cn((function(){return[Zn,qn]})),left:Cn((function(){return[_n]})),right:Cn((function(){return[Jn]})),_:1}),Object(a["createVNode"])(c,{link:"https://tickets.robotframework.org/robocon-2024/3913180/"},{title:Cn((function(){return[Yn,Qn,Xn]})),price:Cn((function(){return[$n,ea]})),left:Cn((function(){return[ta]})),right:Cn((function(){return[oa]})),_:1})]),Object(a["createVNode"])(d,{sponsors:e.$tm("home.sponsors")},null,8,["sponsors"]),na,aa,ra,ia,sa,la,ca]})),_:1},8,["title"]),Object(a["createVNode"])(u,{"title-id":"tutorials",title:"Tutorials"},{default:Cn((function(){return[da,ua,Object(a["createVNode"])(h,{speakers:e.speakers},null,8,["speakers"])]})),_:1}),Object(a["createVNode"])(u,{"title-id":"workshops",title:"Workshops"},{default:Cn((function(){return[ha,ma,Object(a["createVNode"])(m,{speakers:e.speakers},null,8,["speakers"])]})),_:1}),Object(a["createVNode"])(u,{"title-id":"talks",title:"Talks"},{default:Cn((function(){return[Object(a["createVNode"])(p,{speakers:e.speakers},null,8,["speakers"])]})),_:1}),Object(a["createVNode"])(u,{"title-id":"hotels",title:"Hotels"},{default:Cn((function(){return[pa,ba]})),_:1})])],64)})),ga=o("3835"),fa=o("1da1"),ka=(o("96cf"),o("466d"),o("5db7"),o("73d9"),{name:"App",components:{PageSection:Ne,NewsBanner:b,Ticket:ot,Talks24:Bo,Workshops24:on,Tutorials24:Tn,Sponsors:ze,GlobeRbcn:Fn},data:function(){return{isFirefox:!1,speakers:[]}},created:function(){var e=this;navigator.userAgent&&navigator.userAgent.match(/firefox|fxios/i)&&(this.isFirefox=!0);var t=new URLSearchParams(window.location.search),o=Object.fromEntries(t.entries());o.auth&&this.$router.replace({name:"Robocon2023",query:o}),Promise.all([fetch("https://cfp.robocon.io/api/events/robocon-2024/submissions/"),fetch("https://cfp.robocon.io/api/events/robocon-2024/submissions/?offset=25"),fetch("https://cfp.robocon.io/api/events/robocon-2024/submissions/?offset=50")]).then(function(){var t=Object(fa["a"])(regeneratorRuntime.mark((function t(o){var n,a,r,i,s,l,c,d;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return n=Object(ga["a"])(o,3),a=n[0],r=n[1],i=n[2],t.next=3,a.json();case 3:return s=t.sent,t.next=6,r.json();case 6:return l=t.sent,t.next=9,i.json();case 9:c=t.sent,d=[].concat(Object(Do["a"])(s.results),Object(Do["a"])(l.results),Object(Do["a"])(c.results)),e.speakers=d.flatMap((function(e){var t=e.speakers;return t}));case 12:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}())},methods:{goTo:function(e){var t=document.getElementById(e);t&&t.scrollIntoView({behavior:"smooth"})}}});o("d25c");const ya=h()(ka,[["render",wa],["__scopeId","data-v-dfea1370"]]);var va=ya,Oa=Object(a["withScopeId"])("data-v-ee805ac6");Object(a["pushScopeId"])("data-v-ee805ac6");var Ta=Object(a["createVNode"])("div",null,[Object(a["createVNode"])("h1",{class:"color-white type-center"},[Object(a["createVNode"])("span",{class:""},"RBCN"),Object(a["createVNode"])("span",{class:"color-theme"},"23")])],-1),ja=Object(a["createVNode"])("div",{class:"border-top-theme border-thin theme-2023"},null,-1),Sa={class:"container theme-2023"},Ra={class:"row center col-lg-8"},Ia={key:0},Aa={key:1};Object(a["popScopeId"])();var Fa=Oa((function(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("banner"),l=Object(a["resolveComponent"])("page-section"),c=Object(a["resolveComponent"])("talks-2023");return Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,[Object(a["createVNode"])(s,{class:"theme-2023"},{default:Oa((function(){return[Ta]})),_:1}),ja,Object(a["createVNode"])("div",Sa,[Object(a["withDirectives"])(Object(a["createVNode"])(l,{"title-id":"intro",title:e.$t("page2023.intro.title")},{default:Oa((function(){return[Object(a["createVNode"])("div",Ra,[Object(a["createVNode"])("div",{innerHTML:e.$t("page2023.intro.body"),class:"mb-large"},null,8,["innerHTML"])])]})),_:1},8,["title"]),[[a["vShow"],"gather"!==e.token.name]]),e.talks.length?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ia,[Object(a["createVNode"])(l,{"title-id":"talks",title:"Talks",subtitle:"live"===e.shownTalks?"Day 1 - Helsinki":"Day 1 - Online"},{default:Oa((function(){return[Object(a["withDirectives"])(Object(a["createVNode"])("button",{class:["theme mb-large mt-small mr-small","live"===e.shownTalks&&"active"],onClick:t[1]||(t[1]=function(t){return e.shownTalks="live"})}," Live ",2),[[a["vShow"],"gather"!==e.token.name]]),Object(a["withDirectives"])(Object(a["createVNode"])("button",{class:["theme mb-large mt-small","online"===e.shownTalks&&"active"],onClick:t[2]||(t[2]=function(t){return e.shownTalks="online"})}," Online ",2),[[a["vShow"],"gather"!==e.token.name]]),"live"===e.shownTalks?(Object(a["openBlock"])(),Object(a["createBlock"])(c,{key:0,items:e.talks.filter((function(e){var t,o=e.slot;return null===o||void 0===o||null===(t=o.start)||void 0===t?void 0:t.includes("2023-01-19")})),hash:e.token.hashKey},null,8,["items","hash"])):(Object(a["openBlock"])(),Object(a["createBlock"])(c,{key:1,items:e.talks.filter((function(e){var t,o=e.slot;return null===o||void 0===o||null===(t=o.start)||void 0===t?void 0:t.includes("2023-03-01")})),hash:e.token.hashKey},null,8,["items","hash"]))]})),_:1},8,["subtitle"]),Object(a["createVNode"])(l,{"title-id":"talks2",title:"Talks",subtitle:"live"===e.shownTalks?"Day 2 - Helsinki":"Day 2 - Online"},{default:Oa((function(){return["live"===e.shownTalks?(Object(a["openBlock"])(),Object(a["createBlock"])(c,{key:0,items:e.talks.filter((function(e){var t,o=e.slot;return null===o||void 0===o||null===(t=o.start)||void 0===t?void 0:t.includes("2023-01-20")})),hash:e.token.hashKey},null,8,["items","hash"])):(Object(a["openBlock"])(),Object(a["createBlock"])(c,{key:1,items:e.talks.filter((function(e){var t,o=e.slot;return null===o||void 0===o||null===(t=o.start)||void 0===t?void 0:t.includes("2023-03-02")})),hash:e.token.hashKey},null,8,["items","hash"]))]})),_:1},8,["subtitle"]),Object(a["createVNode"])(l,{"title-id":"talks3",title:"Open-Space",subtitle:"live"===e.shownTalks?"Day 3 - Helsinki":"Day 3 - Online"},{default:Oa((function(){return["live"===e.shownTalks?(Object(a["openBlock"])(),Object(a["createBlock"])(c,{key:0,items:e.talks.filter((function(e){var t,o=e.slot;return null===o||void 0===o||null===(t=o.start)||void 0===t?void 0:t.includes("2023-01-20")}))},null,8,["items"])):(Object(a["openBlock"])(),Object(a["createBlock"])(c,{key:1,items:e.talks.filter((function(e){var t,o=e.slot;return null===o||void 0===o||null===(t=o.start)||void 0===t?void 0:t.includes("2023-03-03")}))},null,8,["items"]))]})),_:1},8,["subtitle"])])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",Aa," Loading talks... "))])],64)})),Da=o("f421"),Na={name:"App",components:{Banner:O,PageSection:Ne,Sponsors:ze,Talks2023:bo},data:function(){return{talks:[],workshops:[],shownTalks:"live",token:{},public:"-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1RHu1qgXJ81+2tlBy4UF\nB8OdRsBjWhswMQaS/NhA2yWBaQiQ1YG4Tzen2aNmlTIkTBhSR3hqOnkzPQq77nMs\nKP9HD1WHz/UNici/a/2UwXFy9bOyX+GKnPCtdcvZrIougvW5K7EBeUWcgY68xNQk\nV9vFq4GSczOud7juk62eqqV26esV5tE2c4/J714SYwUl6NqLc7XeQNZMrsRHabIL\nBzg+A+2kw1jiJpJsJliPCT9T/NiAMrbZk1KR/NQ7uHARclAk13LwLwm5JfOhyKSs\nQkdfr8rVYuj3DDQCitea269Xy5RsFW/Cqyh3gHzt7bB9auU3UFaAXWPvnPURhTO4\nYf3c7YrizmpTfDGPIG/7zkegx9nPiBPNIGPq/LpmCC9iawNH7ixOH8ZC5Ijrti0b\n8rMnuJBKysZxIowJAFvd7Zh+soekUei90qQnYwhFO49h7fwXXSq2sGeRfpg99Nu/\nRdqqxM2zCMPpVMWHjxAVIubgNW5ZA33PW1wS075npC3oK+YUh2xt/9A6Ll4AcAOt\noaCmENEyeZEnHlaEWeXhNPQv1/nZN5Z3Fq3uKWCQRry1HMoOGKrdATfUUIXc6vvk\nnRPuT57RDafiyxjektPLx0z2LvRZZb7lU5G9/+rO2yJ1f65Sd5k0drIb48YZ+OBj\n6IrJDlqg3BaMV5Hr8LdQtY8CAwEAAQ==\n-----END PUBLIC KEY-----",dataReady:!1,error:!1,showStreamLink:!1}},created:function(){var e=this;return Object(fa["a"])(regeneratorRuntime.mark((function t(){var o,a,r,i,s;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(o=new URLSearchParams(window.location.search),a=Object.fromEntries(o.entries()).auth||window.localStorage.getItem("auth"),r=Object.fromEntries(o.entries()).attendee||window.localStorage.getItem("attendee"),"undefined"===typeof a||"undefined"===typeof r){t.next=25;break}return window.history.replaceState({},document.title,"/2023"+window.location.hash),"gather"!==r&&(window.localStorage.setItem("auth",a),window.localStorage.setItem("attendee",r)),t.prev=6,t.t0=Da,t.t1=a,t.next=11,Da["importSPKI"](e["public"],"RS256");case 11:return t.t2=t.sent,t.t3={issuer:"pretix"},t.next=15,t.t0.jwtVerify.call(t.t0,t.t1,t.t2,t.t3);case 15:i=t.sent,s=i.payload,e.token=s,s.name!==r?(console.log("invalid Attendee"),e.error=!0):e.showStreamLink=!0,t.next=25;break;case 21:t.prev=21,t.t4=t["catch"](6),e.error=!0,console.error(t.t4);case 25:e.dataReady=!0,Promise.all([fetch("https://cfp.robocon.io/api/events/robocon-2023/submissions/"),fetch("https://cfp.robocon.io/api/events/robocon-2023-online/submissions/"),fetch("https://pretalx.com/api/events/robocon-2023/schedules/latest/"),fetch("https://pretalx.com/api/events/robocon-2023-online/schedules/latest/")]).then(function(){var e=Object(fa["a"])(regeneratorRuntime.mark((function e(t){var o,n,a,r,i,s,l,c,d,u,h;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return o=Object(ga["a"])(t,4),n=o[0],a=o[1],r=o[2],i=o[3],e.next=3,n.json();case 3:return s=e.sent,e.next=6,a.json();case 6:return l=e.sent,e.next=9,r.json();case 9:return c=e.sent,d=c.breaks,e.next=13,i.json();case 13:return u=e.sent,h=u.breaks,e.abrupt("return",[[].concat(Object(Do["a"])(s.results),Object(Do["a"])(l.results)),[].concat(Object(Do["a"])(d),Object(Do["a"])(h))]);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).then((function(t){var o=Object(ga["a"])(t,2),a=o[0],r=o[1],i=a.filter((function(e){var t=e.submission_type;return t.en&&["Talk","Keynote","Pre-Recorded Full Talk","OpenSpace"].includes(t.en)})),s=a.filter((function(e){var t=e.submission_type;return t.en&&t.en.includes("Workshop")})),l=r.map((function(e){return Object(n["a"])(Object(n["a"])({},e),{},{submission_type:e.description.en.toLowerCase().includes("talk")?"Misc":"Break"})}));e.talks=[].concat(Object(Do["a"])(i),Object(Do["a"])(l)).map((function(e){return Object(n["a"])(Object(n["a"])({},e),{},{slot:e.slot||{start:e.start,end:e.end},type:e.submission_type.en||e.submission_type})})).sort((function(e,t){return new Date(e.slot.start)'},Qa=function(){return''},Xa={name:"Germany",components:{Banner:O,BaseIcon:se,PageSection:Ne,Sponsors:ze,Ticket:ot,Talks:vt},data:function(){return{talks:[],speakers:[],mapSvg:"",logoSvg:"",logoSvgMobile:"",ticket:null}},mounted:function(){this.talks=this.$tm("germany.talks.talks"),this.speakers=this.$tm("germany.talks.speakers"),this.mapSvg=Ya(),this.logoSvg=Qa(),this.logoSvgMobile=Qa().replace("15vh","10vh"),this.ticket=this.$tm("home.tickets").find((function(e){var t=e.side;return"05-10-22"===t}))},created:function(){var e=window.location.hash;"#talks"===e&&document.getElementById("talks").scrollIntoView()}};o("33f7");const $a=h()(Xa,[["render",Ja],["__scopeId","data-v-395c721f"]]);var er=$a,tr=Object(a["withScopeId"])("data-v-592a9cbd");Object(a["pushScopeId"])("data-v-592a9cbd");var or={class:"container narrow row"},nr={class:"container mb-large"},ar={class:"row center mb-small mt-large"},rr={class:"type-center mb-2xsmall"},ir={class:"type-large type-center"},sr={class:"my-small"},lr={key:0,class:"relative inline-block tooltip-container"},cr=Object(a["createVNode"])("button",{class:"perk-tooltip-button rounded border border-white border-thin color-white"}," ? ",-1),dr={class:"theme block mx-auto mt-auto"};Object(a["popScopeId"])();var ur=tr((function(e,t,o,n,r,i){return Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,[Object(a["createVNode"])("div",or,[Object(a["createVNode"])("p",{class:"col-md-8 col-md-offset-3 mt-large",innerHTML:i.parseMarkdown(e.$t("sponsor.subTitle"))},null,8,["innerHTML"])]),Object(a["createVNode"])("div",nr,[Object(a["createVNode"])("div",ar,[(Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(["Full Sponsorship","Online Sponsorship"],(function(t,o){return Object(a["createVNode"])("button",{key:t,class:["type-uppercase theme type-small mx-2xsmall",e.activeTabIndex===o&&"active"],onClick:function(t){return e.activeTabIndex=o}},Object(a["toDisplayString"])(t),11,["onClick"])})),64))]),Object(a["createVNode"])(a["Transition"],{class:"sponsor-container",name:"opacity",mode:"out-in"},{default:tr((function(){return[(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:e.activeTabIndex,class:"row center"},[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(0===e.activeTabIndex?e.$tm("sponsor.tiers.irl"):e.$tm("sponsor.tiers.online"),(function(t,o){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:t.name,class:"col-sm-12 col-md-6 col-lg-4 p-xsmall"},[Object(a["createVNode"])("div",{class:["card pt-medium pb-large flex flex-col h-100",e.$store.state.isMobile?"p-xsmall":"p-small"]},[Object(a["createVNode"])("h2",rr,Object(a["toDisplayString"])(t.name),1),Object(a["createVNode"])("div",ir,Object(a["toDisplayString"])(t.price),1),Object(a["createVNode"])("ul",sr,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(t.perks,(function(e){return Object(a["openBlock"])(),Object(a["createBlock"])("li",{key:e.name},[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.name)+" ",1),e.description?(Object(a["openBlock"])(),Object(a["createBlock"])("div",lr,[cr,Object(a["createVNode"])("div",{class:["perk-tooltip rounded-small bg-black p-small border-theme border-thin type-left line-height-small",[i.tooltipAlignClass(o)]],innerHTML:i.parseMarkdown(e.description)},null,10,["innerHTML"])])):Object(a["createCommentVNode"])("",!0)])})),128))]),Object(a["createVNode"])("a",{href:"".concat(e.$t("sponsor.event_url"),"?voucher=").concat(t.voucher,"&subevent=").concat(0===e.activeTabIndex?"3913179":"3913180"),class:"type-no-underline"},[Object(a["createVNode"])("button",dr,Object(a["toDisplayString"])(e.$t("sponsor.joinButton")),1)],8,["href"])],2)])})),128))]))]})),_:1})])],64)})),hr={name:"Germany",components:{Banner:O},methods:{parseMarkdown:function(e){return ft["marked"].parse(e)},tooltipAlignClass:function(e){if(0===e)return"tooltip-right";if(this.$store.state.isDesktop){if(2===e)return"tooltip-left"}else if(1===e)return"tooltip-left";return""},getPretixLink:function(e,t,o){return"".concat(e,"redeem?voucher=").concat(t,"&subevent=").concat(o)}},data:function(){return{activeTabIndex:0}}};o("1e8c"),o("d8f0");const mr=h()(hr,[["render",ur],["__scopeId","data-v-592a9cbd"]]);var pr=mr,br={class:"container"};function wr(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("previous-talks");return Object(a["openBlock"])(),Object(a["createBlock"])("div",br,[Object(a["createVNode"])(s,{class:"mt-xlarge mb-xlarge"})])}var gr={name:"Archive",components:{PreviousTalks:Bt}};const fr=h()(gr,[["render",wr]]);var kr=fr,yr=Object(a["withScopeId"])("data-v-7d86b763");Object(a["pushScopeId"])("data-v-7d86b763");var vr={key:0},Or={class:"px-small py-xsmall bg-black row between"},Tr={key:1,class:"color-white mt-2xlarge type-center type-xlarge"},jr=Object(a["createVNode"])("span",{class:"color-theme"},"IN",-1),Sr=Object(a["createVNode"])("span",null,"VALID",-1),Rr=Object(a["createVNode"])("span",{class:"color-theme"},"AUTH",-1),Ir={key:2},Ar={key:0,class:"container mt-large mb-xlarge px-small"},Fr=Object(a["createVNode"])("h2",null," Wednesday ",-1),Dr=Object(a["createVNode"])("h2",{class:"mt-xlarge"}," Thursday ",-1),Nr=Object(a["createVNode"])("h2",{class:"mt-xlarge"}," Friday ",-1),xr={key:1};Object(a["popScopeId"])();var Br=yr((function(e,t,o,n,r,i){var s=Object(a["resolveComponent"])("talks-2023");return Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,[e.dataReady&&!e.error?(Object(a["openBlock"])(),Object(a["createBlock"])("div",vr,[Object(a["createVNode"])("div",Or,[Object(a["createVNode"])("div",null,[Object(a["createVNode"])("button",{class:["theme small type-small mr-small",1===e.selectedDay&&"active"],onClick:t[1]||(t[1]=function(t){return e.selectedDay=1})},"Day 1",2),Object(a["createVNode"])("button",{class:["theme small type-small",2===e.selectedDay&&"active"],onClick:t[2]||(t[2]=function(t){return e.selectedDay=2})},"Day 2",2)]),Object(a["createVNode"])("button",{onClick:t[3]||(t[3]=function(t){return e.chatShown=!e.chatShown}),class:"theme small type-small"},Object(a["toDisplayString"])(e.chatShown?"Hide Q&A":"Show Q&A"),1)]),Object(a["createVNode"])("div",{class:["stream-container",i.isFullScreen&&"fullscreen"]},[Object(a["createVNode"])("iframe",{class:["stream col-sm-12",e.chatShown&&"col-md-9"],src:i.streamUrl,title:"Robocon stream",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""},null,10,["src"]),Object(a["withDirectives"])(Object(a["createVNode"])("iframe",{class:"chat col-sm-12 col-md-3",src:i.chatUrl,frameBorder:"0",title:"Stream chat"},null,8,["src"]),[[a["vShow"],e.chatShown]])],2)])):Object(a["createCommentVNode"])("",!0),e.dataReady&&e.error?(Object(a["openBlock"])(),Object(a["createBlock"])("h1",Tr,[jr,Sr,Rr])):Object(a["createCommentVNode"])("",!0),i.isFullScreen?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ir,[e.talks.length?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ar,[Fr,Object(a["createVNode"])(s,{items:e.talks.filter((function(e){var t,o=e.slot;return null===o||void 0===o||null===(t=o.start)||void 0===t?void 0:t.includes("2023-03-01")})),small:!0,hash:e.token.hashKey},null,8,["items","hash"]),Dr,Object(a["createVNode"])(s,{items:e.talks.filter((function(e){var t,o=e.slot;return null===o||void 0===o||null===(t=o.start)||void 0===t?void 0:t.includes("2023-03-02")})),small:!0,hash:e.token.hashKey},null,8,["items","hash"]),Nr,Object(a["createVNode"])(s,{items:e.talks.filter((function(e){var t,o=e.slot;return null===o||void 0===o||null===(t=o.start)||void 0===t?void 0:t.includes("2023-03-03")})),small:!0,hash:e.token.hashKey},null,8,["items","hash"])])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",xr," Loading talks... "))]))],64)})),Cr={components:{Talks2023:bo},data:function(){return{selectedDay:1,day1:"U2FsdGVkX1/0aHHp+Cys2bR/e8tq3sVnQiterKrTxTM=",day2:"U2FsdGVkX19omJf3PXfUUePA8Lo2nWXgHg8e3/Ax/d4=",chat:"U2FsdGVkX19Id2P5u0Hc1xSiLbqraODnTHvKjpo4p5yVgp4jY5Oj8/odAjctICBGwX8ptykisw2uFsCKXlGgYA==",token:{},public:"-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1RHu1qgXJ81+2tlBy4UF\nB8OdRsBjWhswMQaS/NhA2yWBaQiQ1YG4Tzen2aNmlTIkTBhSR3hqOnkzPQq77nMs\nKP9HD1WHz/UNici/a/2UwXFy9bOyX+GKnPCtdcvZrIougvW5K7EBeUWcgY68xNQk\nV9vFq4GSczOud7juk62eqqV26esV5tE2c4/J714SYwUl6NqLc7XeQNZMrsRHabIL\nBzg+A+2kw1jiJpJsJliPCT9T/NiAMrbZk1KR/NQ7uHARclAk13LwLwm5JfOhyKSs\nQkdfr8rVYuj3DDQCitea269Xy5RsFW/Cqyh3gHzt7bB9auU3UFaAXWPvnPURhTO4\nYf3c7YrizmpTfDGPIG/7zkegx9nPiBPNIGPq/LpmCC9iawNH7ixOH8ZC5Ijrti0b\n8rMnuJBKysZxIowJAFvd7Zh+soekUei90qQnYwhFO49h7fwXXSq2sGeRfpg99Nu/\nRdqqxM2zCMPpVMWHjxAVIubgNW5ZA33PW1wS075npC3oK+YUh2xt/9A6Ll4AcAOt\noaCmENEyeZEnHlaEWeXhNPQv1/nZN5Z3Fq3uKWCQRry1HMoOGKrdATfUUIXc6vvk\nnRPuT57RDafiyxjektPLx0z2LvRZZb7lU5G9/+rO2yJ1f65Sd5k0drIb48YZ+OBj\n6IrJDlqg3BaMV5Hr8LdQtY8CAwEAAQ==\n-----END PUBLIC KEY-----",dataReady:!1,error:!1,talks:[],chatShown:!0}},computed:{streamUrl:function(){var e=1===this.selectedDay?this.day1:this.day2,t=to.a.AES.decrypt(e,this.token.liveHash).toString(to.a.enc.Utf8);return"https://www.youtube.com/embed/".concat(t,"?rel=0&autoplay=1&mute=0&controls=1&origin=https%3A%2F%2Frobocon.io&playsinline=0&showinfo=0&modestbranding=1")},chatUrl:function(){return to.a.AES.decrypt(this.chat,this.token.liveHash).toString(to.a.enc.Utf8)},isFullScreen:function(){return"gather"===this.token.name}},created:function(){var e=this;return Object(fa["a"])(regeneratorRuntime.mark((function t(){var o,a,r,i,s,l;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(o=new Date,2===o.getDate()&&2===o.getMonth()&&(e.selectedDay=2),a=new URLSearchParams(window.location.search),r=Object.fromEntries(a.entries()).auth||window.localStorage.getItem("auth"),i=Object.fromEntries(a.entries()).attendee||window.localStorage.getItem("attendee"),console.log(r),"undefined"===typeof r||"undefined"===typeof i){t.next=28;break}return window.history.replaceState({},document.title,"/stream"+window.location.hash),"gather"!==i&&(window.localStorage.setItem("auth",r),window.localStorage.setItem("attendee",i)),t.prev=9,t.t0=Da,t.t1=r,t.next=14,Da["importSPKI"](e["public"],"RS256");case 14:return t.t2=t.sent,t.t3={issuer:"pretix"},t.next=18,t.t0.jwtVerify.call(t.t0,t.t1,t.t2,t.t3);case 18:s=t.sent,l=s.payload,e.token=l,l.name!==i&&(console.log("invalid Attendee"),e.error=!0),t.next=28;break;case 24:t.prev=24,t.t4=t["catch"](9),e.error=!0,console.error(t.t4);case 28:e.dataReady=!0,Promise.all([fetch("https://cfp.robocon.io/api/events/robocon-2023-online/submissions/"),fetch("https://pretalx.com/api/events/robocon-2023-online/schedules/latest/")]).then(function(){var e=Object(fa["a"])(regeneratorRuntime.mark((function e(t){var o,n,a,r,i,s;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return o=Object(ga["a"])(t,2),n=o[0],a=o[1],e.next=3,n.json();case 3:return r=e.sent,e.next=6,a.json();case 6:return i=e.sent,s=i.breaks,e.abrupt("return",[r.results,s]);case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).then((function(t){var o=Object(ga["a"])(t,2),a=o[0],r=o[1],i=a.filter((function(e){var t=e.submission_type;return t.en&&["Talk","Keynote","Pre-Recorded Full Talk","OpenSpace"].includes(t.en)})),s=r.map((function(e){return Object(n["a"])(Object(n["a"])({},e),{},{submission_type:e.description.en.toLowerCase().includes("talk")?"Misc":"Break"})}));e.talks=[].concat(Object(Do["a"])(i),Object(Do["a"])(s)).map((function(e){return Object(n["a"])(Object(n["a"])({},e),{},{slot:e.slot||{start:e.start,end:e.end},type:e.submission_type.en||e.submission_type})})).sort((function(e,t){return new Date(e.slot.start) Game Rules

This year, we want you to engage with others and get from the conference as much as possible. We want you to have fun. And we will reward everyone who takes an active part in the gamification.

The rules are simple:

  • There are 18 tasks described at the back of your badge.
  • Complete the tasks to get robo-stickers. The order doesn't matter.
  • Collect 8 stickers to get a prize from the Merch Desk. Finishing on the 1st day gets you into a Special Raffle, where you can win top stuff like shirt, hoodie, mug and other cool swag. The raffle will be at the end of the 1st day (Feb 8th).
  • Collect 13 stickers to take part in a Free Ticket Lottery for the next RoboCon 2025! The lottery takes place at the end of the 2nd day (Feb 9th). There is one ticket to be drawn.
  • The rewards for 8 and 13 stickers are not mutually exclusive.

More details about each task:

1-7. SPONSOR TASKS:
Check out our Sponsors' booths, ask them for a game, and they will give you more details. They have their own exciting tasks and will give you the stickers for completing them.

8. # JOKER TASK:
A task, which can be described as “be nice and proactive and you might get one”. There are plenty of ways you can receive this sticker, but they are solely given out by the organizers. Examples of tasks: propose a lightning talk, participate in the “Mystery Challenge” on Day 1, attend a workshop, be a speaker, and more…?

Stickers for completed tasks 9-18 can only be acquired at the Merch Desk:

9. RATE A TALK IN OUR GRIDALY MOBILE APP:
Rate a talk in our Gridaly Event App - go to the agenda and give a 1-5 score for the talk that already happened. You might also add a comment there. Show the rated talk at the Merch Desk.

10. TAKE A PIC AT THE PHOTO WALL:
Take a picture at our Photo Wall (near the Speakers Corner and Discussion Area). Show the photo at the Merch Desk.

11. DECODE A SECRET MESSAGE FROM THE VIDEO ADS:
Decode a secret message from the video adverts that are played between the talks or after the breaks in the main conference hall. Tell the secret message at the Merch Desk, but don't share it with others. Let them have some fun :)

12. POST WITH #ROBOCON HASHTAG ON SOCIAL MEDIA: Post something with a #robocon hashtag on social media (e.g. Facebook, X/Twitter, LinkedIn, Instagram). Show the post at the Merch Desk.

13. FILL OUT THE COMMUNITY SURVEY AT ROBOCON.io/cs OR IN THE APP:
Fill out the Community Survey that can be found at robocon.io/cs or in the mobile app under Community Survey from side-menu. At the end of the survey, there is a password you need to share at the Merch Desk. The survey takes around 10-15 min.

14. PASS A QUIZ AT ROBOCON.io/quiz OR IN THE APP WITH 70%:
Do the quiz available at robocon.io/quiz or in the mobile app under Quiz from side-menu. Finish with at least 70% success rate. There are 10 questions and each has only 1 correct answer.

15. GIVE A STAR TO ANY RF PROJECT ON GITHUB:
Give a star on GitHub to a Robot Framework project of your choice. The projects that take part in the game can be found under Resources section on the official robotframework.org page (be aware there are 3 different tabs there). Show the starred project at the Merch Desk.

16. DISCUSS A TOPIC IN A DISCUSSION AREA:
You can find the tables with different topics in the Discussion Area (near the Speakers Corner). Engage in a discussion on a current topic or you are welcome to start a new discussion - just write a topic on a blank card and place it on the table. After the discussion, go to the Merch Desk to get a sticker.

17. TAKE A SELFIE WITH 3 PEOPLE THAT YOU NEVER MET BEFORE:
Take a selfie with 3 people (including you) that you never met before. Show the picture at the Merch Desk.

18. FIND YOUR ROBO-FRIEND (matching face):
Find your robo-friend (a person that has the same robo-face on the back of the badge) and come with him/her together to the Merch Desk. Each of you gets a sticker! Beware: some faces are similar.

Make sure to download our
Gridaly Event App
to extend your experience!

',19),_r=Object(a["createVNode"])("table",{width:"100%",cellpadding:"0",cellspacing:"0",role:"presentation",style:{"box-sizing":"border-box",position:"relative",border:"0"}},[Object(a["createVNode"])("tbody",null,[Object(a["createVNode"])("tr",null,[Object(a["createVNode"])("td",{width:"50%",align:"center",style:{"box-sizing":"border-box",position:"relative"}},[Object(a["createVNode"])("table",{cellpadding:"0",cellspacing:"0",role:"presentation",style:{"box-sizing":"border-box",position:"relative",border:"0"}},[Object(a["createVNode"])("tbody",null,[Object(a["createVNode"])("tr",null,[Object(a["createVNode"])("td",{style:{"box-sizing":"border-box",position:"relative","vertical-align":"top"}},[Object(a["createVNode"])("a",{href:"https://apps.apple.com/la/app/gridaly-event-app/id6449914204",target:"_blank",rel:"noopener",style:{"box-sizing":"border-box",position:"relative"}},[Object(a["createVNode"])("img",{src:"https://d118v7n7fels6u.cloudfront.net/d480f986-a0a3-4eb2-8cb5-17130b7272c0/img/mail/en/app-store-badge.png",style:{"box-sizing":"border-box",position:"relative",border:"none",width:"100%","max-width":"240px"}})])])])])])]),Object(a["createVNode"])("td",{width:"50%",align:"center",style:{"box-sizing":"border-box",position:"relative"}},[Object(a["createVNode"])("table",{cellpadding:"0",cellspacing:"0",role:"presentation",style:{"box-sizing":"border-box",position:"relative",border:"0"}},[Object(a["createVNode"])("tbody",null,[Object(a["createVNode"])("tr",null,[Object(a["createVNode"])("td",{style:{"box-sizing":"border-box",position:"relative"}},[Object(a["createVNode"])("a",{href:"https://play.google.com/store/apps/details?id=com.gridaly.event",target:"_blank",rel:"noopener",style:{"box-sizing":"border-box",position:"relative"}},[Object(a["createVNode"])("img",{src:"https://d118v7n7fels6u.cloudfront.net/d480f986-a0a3-4eb2-8cb5-17130b7272c0/img/mail/en/google-play-badge.png",style:{"box-sizing":"border-box",position:"relative",border:"none",width:"100%","max-width":"280px"}})])])])])])])])])],-1);function Jr(e,t,o,n,r,i){return Object(a["openBlock"])(),Object(a["createBlock"])("div",Zr,[qr,_r])}var Yr={name:"Game"};const Qr=h()(Yr,[["render",Jr]]);var Xr=Qr,$r=[{path:"/",name:"Home",component:va},{path:"/2023",name:"Robocon2023",component:Ba},{path:"/germany",name:"Germany",component:er},{path:"/archive",name:"Archive",component:kr},{path:"/sponsor",name:"Sponsor",component:pr},{path:"/stream",name:"Stream",component:Pr},{path:"/quiz",beforeEnter:function(){window.location.replace("https://docs.google.com/forms/d/e/1FAIpQLSfsxaOkNju6m7Tp3D3QcdVel8Ikp1U0GUdNZF1LQYtKltp0aw/viewform?usp=sf_link")}},{path:"/game",name:"Game",component:Xr},{path:"/cs",beforeEnter:function(){window.location.replace("https://docs.google.com/forms/d/e/1FAIpQLSc8PQLJdrNdrNVV-eBJ7DxqxLCbHZqSSV0zsshCrUK1BlMT6g/viewform")}},{path:"/:pathMatch(.*)*",name:"NotFound",component:Kr}],ei=Object(Bn["a"])({history:Object(Bn["b"])(),routes:$r,scrollBehavior:function(e,t,o){return o||{top:0}}}),ti=ei,oi=o("5502"),ni=Object(oi["a"])({state:{isMobile:null,isDesktop:null},mutations:{SET_IS_MOBILE:function(e,t){e.isMobile=t},SET_IS_DESKTOP:function(e,t){e.isDesktop=t}},actions:{},modules:{}}),ai=(o("a2f0"),o("0251")),ri={intro:{title:"👋",body:'\n

Ticket sales for RoboCon 2024 has begun. Discounted early tickets available until November 12nd!\n

\n Talks and workshops\n

\n For those who wish to experience the event to it\'s fullest,\n there are also package deals\n that include hotel accomodations.\n

\n '},cfp:{title:"CFP",body:'\n

We are waiting for you!

\n

Come and speak at the biggest Robot Framework conference! Share your knowledge, tools and experiences with the experts from around the world. Submit a proposal and take a chance to make an influential impact on the most amazing open-source community.

\n

Submit proposal

\n

Submission deadline: 22nd October 2023 at 11:59 PM.

\n '},sponsors:{link:"sponsor",boxTitle:"RoboCon wouldn't be possible without our sponsors:",tiers:{small:"",medium:"",large:""},large:[],medium:[{img:"continero.png",href:"https://www.continero.com/en/"},{img:"eficode.png",href:"https://www.eficode.com/"},{img:"gofore.png",href:"https://gofore.com/en/"},{img:"imbus.png",href:"https://www.imbus.de/en/"},{img:"knowit.png",href:"https://www.knowit.eu/"},{img:"qfactory.png",href:"https://q-factory.fi/en/"},{img:"vala.png",href:"https://www.valagroup.com/"}],small:[{img:"enqore.png",href:"https://www.enqore.tech/"},{img:"qubilea.png",href:"https://qubilea.fi/en/"},{img:"viadee.png",href:"https://www.viadee.de/en/"}]}},ii={intro:{title:"Hello",body:'

This fall, RoboCon will be a guest at the Software QS-Tag in Frankfurt.

\n

For the first time, we will have the opportunity to host a one-day RoboCon at the heart of Europe.\n RoboCon will share a conference building with the Software QS-Tag and the exchange with the visitors of\n the QS-Tag will hopefully lead to interesting discussions.

\n

If you need a hotel room for the nights around RoboCon at the conference hotel,\n please contact qs-tag(at)imbus.de.\n We still have a few rooms available.

\n

As a visitor with a RoboCon ticket, only the RoboCon track is available.\n If you would like to attend RoboCon and the QS-Tag on both days (5 & 6 October),\n including an overnight stay in the conference hotel, please book a ticket for the Software QS-Tag at\n qs-tag.de

\n

We look forward to seeing you!

'},talks:{title:"Talks",talks:[{code:"T1",title:"[EN] Welcome RoboCon",abstract:"Welcome talk and expert discussion with audience.\n\nIn this talk René Rohner will give us an insight view of Robot Framework Foundation and tell us about upcoming features of Robot Framework.\n\nAfterwards we have time for other topics that will be defined by the audience and discussed on stage, where all Speakers are present.\nWe are also highly interested in new feature requests/ideas and will discuss them on stage.",speakers:[{code:"T7BUER",name:"Many Kasiriha",avatar:"https://pretalx.com/media/avatars/portrait_small_m9VY1nS.jpg",expanded:!1},{code:"BBBB",avatar:"https://www.qs-tag.de/fileadmin/_processed_/a/0/csm_Nele_Uhlemann_fb892cdfd3.png",name:"Nele Lea Uhlemann",expanded:!1},{code:"HTDUSJ",avatar:"https://pretalx.com/media/avatars/Rene_kgG6bhD.png",name:"René Rohner",expanded:!1},{code:"CCCC",avatar:"dist/img/mkorpela.jpg",name:"Mikko Korpela",expanded:!1},{code:"FUKYZV",avatar:"https://pretalx.com/media/avatars/profielfoto_5Rk8Soh.jpg",name:"Elout van Leeuwen",expanded:!1},{code:"AWCN8B",avatar:"https://pretalx.com/media/avatars/Screenshot_2022-03-15_at_16.42.36_VoSJgBl.png",name:"Timo Stordell",expanded:!1}],track:null,start:"2022-10-05T09:00:00+02:00",end:"2022-10-05T10:15:00+02:00",room:1193,expanded:!1,yt_link:null,description:""},{title:{en:"Coffee Break / Community Time"},start:"2022-10-05T10:15:00+02:00",end:"2022-10-05T10:45:00+02:00",room:1193,expanded:!1,yt_link:null,speakers:[]},{code:"T2",title:"[EN] Using Robot Framework to ensure quality in the New Space industry",abstract:"How Robot Framework has been used at ICEYE to ensure quality in the New Space industry.",speakers:[{code:"CCCC",avatar:"dist/img/mkorpela.jpg",name:"Mikko Korpela",expanded:!1}],track:null,start:"2022-10-05T10:45:00+02:00",end:"2022-10-05T11:30:00+02:00",room:1193,expanded:!1,yt_link:null,description:"🇬🇧 ICEYE is building a product and running a service at the same time.\nPart of the system is also flying 400 to 500 km over us.\n\nWelcome to see a sneak peek into how testing of this kind of systems is really done and\nhow Robot Framework fits into the picture.\n\nThis talk will cover also some aspects of other tools than Robot Framework.\n"},{code:"T3",title:"[EN] How to solve unsolvable non-linear testing pipelines fully open source",abstract:"Unconventional requirement to CI systems need some thinking out of the box. How workflow management Camunda can help to solve complex demands.",speakers:[{code:"BBBB",avatar:"https://www.qs-tag.de/fileadmin/_processed_/a/0/csm_Nele_Uhlemann_fb892cdfd3.png",name:"Nele Lea Uhlemann",expanded:!1},{code:"HTDUSJ",avatar:"https://pretalx.com/media/avatars/Rene_kgG6bhD.png",name:"René Rohner",expanded:!1}],track:null,start:"2022-10-05T11:40:00+02:00",end:"2022-10-05T12:25:00+02:00",room:1193,expanded:!1,yt_link:null,description:"🇬🇧 When testing complex and global systems, more and more demands are placed on a CI pipeline.\n\nConventional solutions like Jenkins or Gitlab reach their limits where it became exciting for us.\n\nThe challenge was tests that ran over several days, as the reactions of the system under test could sometimes only be checked the next day or days later. During the execution, different process steps had to be executed repeatedly. Nevertheless, a continuous process flow should be visible and tester should be able to see the state of the pipeline at any time without deeper knowledge of CI systems.\n\nIn this talk, Nele Uhlemann and René Rohner will present how complex workflows can be realised unconventionally with open source solutions and how asynchronous tests can be realised with Robot Framework and its APIs in combination with Camunda."},{code:"T4",title:"[DE] Papierlos, aber nicht ohne Dokumente! Simple Automated Visual Document Testing.",abstract:"Denn papierlos heißt nicht dokumentenlos. Lassen Sie mich Ihnen zeigen, wie wir unsere Dokumente und Druckdateien visuell und inhaltlich prüfe - mit Robot Framework und unserer eigenen Visual Document Testing Library.",speakers:[{code:"T7BUER",name:"Many Kasiriha",avatar:"https://pretalx.com/media/avatars/portrait_small_m9VY1nS.jpg",expanded:!1}],track:null,start:"2022-10-05T12:35:00+02:00",end:"2022-10-05T13:20:00+02:00",room:1193,expanded:!1,yt_link:null,description:"Unternehmen sind auf korrekte Dokumente angewiesen. Für uns als globaler Spediteur sind korrekte Dokumente unerlässlich. Ein dummer Fehler in einem Dokument kann peinlich sein - aber auch rechtliche Konsequenzen haben. Dokumente in der Spedition können das Eigentum an Waren von Partei A auf Partei B übertragen. Sie bestätigen, dass die Fracht zu Sicherheitszwecken ordnungsgemäß geröntgt wurde. Sie können Barcode-Etiketten sein, um ein Paket zu identifizieren.\n\nAls ein größeres Upgrade unseres Output- und Dokumentenmanagementsystems geplant war, mussten wir sicherstellen, dass unsere Dokumente genauso aussehen wie vor dem Upgrade. Angesichts der großen Anzahl von Dokumententypen, -formaten, -varianten und -regeln pro Dokument wurde uns schnell klar, dass wir das nicht manuell machen können.\n\nDie Frage war also: Kaufen oder selbst erstellen? Aufgrund der hohen Kosten und des Funktions-Overkills kommerzieller Lösungen und unserer guten Erfahrungen mit Robot Framework entschieden wir uns, eine Bibliothek für visuelle Dokumententests zu erstellen. Visuelle Tests bedeuten: Das Testdokument wird gerendert und pixelweise mit einem Referenzdokument verglichen. Wir haben jedoch festgestellt, dass dies nicht ausreicht.\n\nWir wollten Berichte mit Screenshots haben, die die verschiedenen Bereiche hervorheben. Wir wollten Bereiche aus dem Vergleich ausschließen, die auf Koordinaten oder Textmustern basieren. Wir wollten Strichcodes lesen können. Wir wollten akzeptable Bereiche für verschobene Textblöcke definieren. Wir wollten Textinhalte aus einer PDF-Datei oder über OCR vergleichen. Wir wollten zusätzliche Daten wie digitale Signaturen prüfen. Wir wollten Druckerdateien wie Postscript und Pcl interpretieren und vergleichen. Wir wollten eine einfache GUI zur Auswertung der Prüfergebnisse haben. Das Ergebnis war eine Robot Framework Library, die rein auf Open-Source-Komponenten basiert und Funktionen bietet, die nur in teuren kommerziellen Lösungen zu finden sind."},{title:{en:"Lunch Break / Community Time"},start:"2022-10-05T13:20:00+02:00",end:"2022-10-05T14:40:00+02:00",room:1193,expanded:!1,yt_link:null,speakers:[]},{code:"T5",title:"[EN] Robot Framework and Browser Library. Open Source Keyword-Driven Testing at its best.",abstract:"In this tutorial René will take you to a journey from the very start with Robot Framework to web automation with Browser library.",speakers:[{code:"HTDUSJ",avatar:"https://pretalx.com/media/avatars/Rene_kgG6bhD.png",name:"René Rohner",expanded:!1}],track:null,start:"2022-10-05T14:40:00+02:00",end:"2022-10-05T16:00:00+02:00",room:1193,expanded:!1,yt_link:null,description:"This Talk should be valuable for beginners of Robot Framework as well as experienced users.\n\nEvery example in this tutorial can be easily followed or also tried after RoboCon. The only requirement is a Notebook with web browser and a github.com account.\n\n### About Robot Framework:\n\nRobot Framework is a generic open source automation framework. It can be used for test automation and robotic process automation (RPA).\n\nRobot Framework is supported by Robot Framework Foundation. Many industry-leading companies use the tool in their software development.\nRobot Framework is open and extensible. Robot Framework can be integrated with virtually any other tool to create powerful and flexible automation solutions. Robot Framework is free to use without licensing costs.\n\nRobot Framework has an easy syntax, utilizing human-readable keywords. Its capabilities can be extended by libraries implemented with Python, Java or many other programming languages. Robot Framework has a rich ecosystem around it, consisting of libraries and tools that are developed as separate projects.\n\n### About Browser library:\n\nRobot Framework deserves a browser automation solution that's designed for the 2020s.\n\nBrowser library powered by Playwright provides.\n\n🚀 Speed, ✅ reliability and 🔬 visibility.\n\n- Conscise assertions.\n\n- Precise and fast browser window and tab control.\n\n- Chainable selector strategies.\n\n- Good shadow DOM support.\n\n- Easy mobile device descriptors.\n\n- Sending HTTP requests.\n\n- many more"},{title:{en:"Coffee Break / Community Time"},start:"2022-10-05T16:00:00+02:00",end:"2022-10-05T16:30:00+02:00",room:1193,expanded:!1,yt_link:null,speakers:[]},{code:"T6",title:"[EN] My Ultimate Robot Framework Toolbox... These arrows should be in every quiver!",abstract:"Elout gives a demonstration of the most important and helpful tools needed in almost every Robot Framework project.",speakers:[{code:"FUKYZV",avatar:"https://pretalx.com/media/avatars/profielfoto_5Rk8Soh.jpg",name:"Elout van Leeuwen",expanded:!1}],track:null,start:"2022-10-05T16:30:00+02:00",end:"2022-10-05T17:15:00+02:00",room:1193,expanded:!1,yt_link:null,description:"If you have ever thought how to start and what you need, you will find a good starting point here.\n\nMore details coming soon..."},{code:"T7",title:"[EN] What makes Robot Framework to stand out?",abstract:"I have used Robot Framework a lot in the past, but recently the framework chosen to my project has been different.\n\nOn the way, I've started to realise what makes Robot Framework excellent, more than before.",speakers:[{code:"AWCN8B",avatar:"https://pretalx.com/media/avatars/Screenshot_2022-03-15_at_16.42.36_VoSJgBl.png",name:"Timo Stordell",expanded:!1}],track:null,start:"2022-10-05T17:25:00+02:00",end:"2022-10-05T18:10:00+02:00",room:1193,expanded:!1,yt_link:null,description:"In this presentation, I will highlight the things that makes it stand out from the competition.\nThe purpose is not to do any boastful ranting (even though I'm tempted) but to go through some facts behind the success."},{title:{en:"Evening Event / Community Time"},start:"2022-10-05T19:00:00+02:00",end:"2022-10-06T00:00:00+02:00",room:1193,expanded:!1,yt_link:null,speakers:[]}],speakers:[{id:15344,code:"HTDUSJ",public_name:"René Rohner",biography:"René Rohner is a Senior Consultant for Testing Systems, Product Owner of the Value Stream Test Automation at imbus in Germany and Chairman of the board of Robot Framework Foundation.\n\nHe is member of the Core Team of Robot Framework Browser and developer of Robot Framework DataDriver. He is trainer and coach for Keyword-Driven Testing in multiple small and huge projects in Germany.",answers:[]},{id:13265,code:"AAAA",public_name:"Prof. Dr. Ayelt Komus",biography:"Prof. Dr. Ayelt Komus ist Professor an der Hochschule Koblenz, Vordenker für Management unter Unsicherheit, 80+ Fachpublikationen, 200+ Keynotes/Vorträge, Vielzahl an Studien wie „Status Quo (Scaled) Agile“ seit 2012 mit Scrum.org, IPMA, GPM, VOICE, bitkom, SwissICT u.a.\n\nWeitere Informationen unter\nwww.komus.de\nund\nwww.process-and-project.net",answers:[]},{id:17004,code:"BBBB",public_name:"Nele Lea Uhlemann",biography:"Nele Uhlemann is a Developer Advocate at Camunda. Her passion is helping the open source community use and understand Camunda’s technologies and build a bridge between business and technical users to leverage the full potential of Process Automation. Nele works as a consultant at Camunda, leading workshops with developers and business users. Therefore, she understands the need to find a common language to enable agility in both domains.",answers:[]},{id:14436,code:"FUKYZV",public_name:"Elout van Leeuwen",biography:"Elout is a test automation consultant with Capgemini Netherlands. He is the companies representative with the Robot Framework Foundation and has over 7 years of experience with Robot Framework.",answers:[]},{id:15357,code:"T7BUER",public_name:"Many Kasiriha",biography:"I'm a Test Manager at DB Schenker and a regular Robot Framework User since 2020.\r\n\r\nI like to help other people getting started with Robot Framework (and Test Automation in general) and I know that it can be overwhelming sometimes.\r\nIn my daily work, I support projects in the setup of their test automation solution - for Web Applications, Desktop Applications, APIs or even Document Tests.\r\n\r\nI'm a believer in *test automation* - but convinced that *testing itself cannot be automated*.",answers:[]},{id:15357,code:"CCCC",public_name:"Mikko Korpela",biography:"Mikko is a developer and consultant that works with client organisations in various industries and Vice-Chairman of the board of Robot Framework Foundation.\n\nHe is also active in Robot Framework community and has participated in development of tools such as Robot Framework, Robot Framework Browser and Pabot.",answers:[]},{id:15420,code:"AWCN8B",public_name:"Timo Stordell",biography:"Timo is Lead Consultant, DevOps at Eficode.\n\nBuilding the future of software development. Passionate about making pipelines fluent.",answers:[]}]},sponsors:{title:"Sponsors",boxTitle:"RoboCon 2022 Germany talks are sponsored by these companies",tiers:{small:"",medium:"",large:""},large:[],medium:[],small:[{img:"camunda.png",href:"https://camunda.com/"},{img:"capgemini.png",href:"https://www.capgemini.com/nl-nl/"},{img:"dbschenker.png",href:"https://www.dbschenker.com/"},{img:"eficode.png",href:"https://www.eficode.com/"},{img:"imbus.png",href:"https://www.imbus.de/"},{img:"reaktor.png",href:"https://reaktor.com/"}]}},si={title:"Sponsorship",subTitle:"### Become a sponsor of RoboCon 2024!\n\nDo you want to give something back to Robot Framework? Want to present your company as a supporter of RoboCon and Robot Framework?\n\nJoin our sponsors and help us create an awesome event yet again.\nIf you have any questions about sponsorship please contact the [RoboCon team](mailto:info{at}{'@'}{at}robocon.io).",joinButton:"Join",event_url:"https://tickets.robotframework.org/robocon-2024/redeem",tiers:{irl:[{name:"Silver",price:"1000 €",perks:[{name:"Company logo (small)",description:"Your company logo will be visible on robocon.io, our photo wall on site at Helsinki and at our online venue. **Small** company logo on screen between presentations."},{name:"Social media",description:"We will mention your company on social media channels like Twitter, LinkedIn and Facebook."},{name:"Free online ticket (1)",description:"One free ticket for the online part of RoboCon"}],voucher:"SPONSORSILVER"},{name:"Gold",price:"6000 €",perks:[{name:"Company logo",description:"Your company logo will be visible on robocon.io, our photo wall on site at Helsinki and at our online venue. Company logo on screen between presentations."},{name:"Social media",description:"We will mention your company on social media channels like Twitter, LinkedIn and Facebook."},{name:"Free tickets (2+2)",description:"You will get:\n\n- 2 free tickets for the online part of RoboCon\n\nAND\n\n- 2 free Helsinki tickets, which includes access to online part as well."},{name:"Dedicated spotlight",description:"Dedicated time to showcase your company or product between talks. This is a chance for the people to engage with you. There will be one dedicated spot to meet the sponsor. This way people know when to meet the sponsor and you can have a presentation etc. there during your break."},{name:"Video during breaks (30 sec)",description:"Sponsor videos (with audio) will be played in randomized order between talks and during some of the breaks."},{name:"Booth on-site",description:"You will get a booth at Bio Rex Helsinki.\n\nYour booth includes:\n- a TV-screen for demonstration\n- company logo on booth\n- bar table with chair"},{name:"Booth online",description:"You will get an online booth at Gather.town, where you can have up to four items such as:\n- PDF documents\n- hyperlinks\n- iFrames\n- YouTube videos"},{name:"Be part in a game",description:"Participants will be engaged in a game and your sponsor booth will be one of the ways for them to collect a prize. It's up to you what activity you prepare for them!"},{name:"Lead scanning",description:"You'll have the opportunity to use our lead scanning to get in contact with our on-site visitors in Helsinki. More information: https://pretix.eu/about/en/lead"},{name:"Publish job offers",description:"We give you the opportunity to post job offers on our noticeboard in Helsinki and online."},{name:"Max. 10 sponsors",description:"Due to the size of Bio Rex at RoboCon Helsinki we do have limited availability of 10 booths.\n\nRobot Framework Foundation members do have a preferred access.\nTherefore, if you are not member of Foundation, we will reserve a spot when you book, but invoice it after September, if the spots are not all required by Foundation members. "}],voucher:"SPONSORGOLD"},{name:"Platinum",price:"12000 €",perks:[{name:"Company logo (large)",description:"Your company logo will be visible on robocon.io, our photo wall on site at Helsinki and at our online venue. **Large** company logo on screen between presentations."},{name:"Social media",description:"We will mention your company on social media channels like Twitter, LinkedIn and Facebook."},{name:"Free tickets (4+4)",description:"You will get:\n\n- 4 free tickets for the online part of RoboCon\n\nAND\n\n- 4 free Helsinki tickets, which include access to online part as well."},{name:"Dedicated spotlight",description:"Dedicated time to showcase your company or product between talks. This is a chance for the people to engage with you. There will be one dedicated spot to meet the sponsor. This way people know when to meet the sponsor and you can have a presentation etc. there during your break."},{name:"Video during breaks (30 sec)",description:"Sponsor videos (with audio) will be played in randomized order for full audience and during some of the breaks."},{name:"Booth on-site (premium)",description:"You will get a platinum booth for one day at Bio Rex Helsinki.\n\nYour booth includes:\n- a horizontal TV-screen for demonstration\n- company logo on booth\n- bar table with chair\n- lounge table with lounge chairs\n\n**On the other day you will get a normal Gold sponsor booth.**"},{name:"Booth online (premium)",description:"You will get a platinum online booth at Gather.town, where you can have up to ten items like:\n- PDF documents\n- hyperlinks\n- iFrames\n- Youtube videos\n\nOn the one day where you are the Platinum sponsor your booth will be at the center of the conferece."},{name:"Be part in a game",description:"Participants will be engaged in a game and your sponsor booth will be one of the ways for them to collect a prize. It's up to you what activity you prepare for them!"},{name:"Lead scanning",description:"You will have the oportunity to use our lead scanning to get in contact with our on-site visitors in Helsinki.\n\nSee here for more information: https://pretix.eu/about/en/lead"},{name:"Publish job offers",description:"We give you the opportunity to post job offers on our noticeboard in Helsinki and online."},{name:"Featured sponsor for 1 day",description:"Your company will be the platinum sponsor for one day of RoboCon.\n\nYou will be mentioned as the sponsor of this day once on-site and twice online.\n\nYou may want to book a second day of Platinum sponsoring in Helsinki for 8.000€, which gives you the platinum booth on both days."},{name:"Sponsor talk (~20 min)",description:"You will get a talk spot for a full talk (20 minutes) directly after keynote in Helsinki on-stage.\n\nYour talk will be recorded and streamed later in the online part of RoboCon."},{name:"Max. 2 sponsors",description:"Due to the 2 days duration of RoboCon Helsinki and one Platinum Sponsor per day, there are only 2 sponsoring spots available.\n\nRobot Framework Foundation members do have a preferred access.\nMembers who book Online + Helsinki Sponsorship are also preferred and have higher priority compared to Online Only.\nTherefore, if you are not member of Foundation, we will reserve a spot when you book, but invoice it after September, if the spots are not all required by Foundation members. "}],voucher:"SPONSORPLATINUM"}],online:[{name:"Silver",price:"1000 €",perks:[{name:"Company logo (small)",description:"Your company logo will be visible on robocon.io, our photo wall on site at Helsinki and at our online venue. **Small** company logo on screen between presentations."},{name:"Social media",description:"We will mention your company on social media channels like Twitter, LinkedIn and Facebook."},{name:"Free online ticket (1)",description:"One free ticket for the online part of RoboCon"}],voucher:"SPONSORSILVERONLINE"},{name:"Online Gold",price:"3000 €",perks:[{name:"Company logo",description:"Your company logo will be visible on robocon.io, our photo wall on site at Helsinki and at our online venue. Company logo on screen between presentations."},{name:"Social media",description:"We will mention your company on social media channels like Twitter, LinkedIn and Facebook."},{name:"Free tickets (4 online)",description:"You will get:\n\n- 4 free online tickets for the online part of RoboCon."},{name:"Dedicated spotlight",description:"Dedicated time to showcase your company or product between talks. This is a chance for the people to engage with you. There will be one dedicated spot to meet the sponsor. This way people know when to meet the sponsor and you can have a presentation etc. there during your break."},{name:"Video during breaks (30 sec)",description:"Sponsor videos (with audio) will be played in randomized order for full audience and during some of the breaks."},{name:"Booth online",description:"You will get an online booth at Gather.town, where you can have up to four items like:\n- PDF documents\n- hyperlinks\n- iFrames\n- Youtube videos"},{name:"Publish job offers",description:"We give you the opportunity to post job offers on our noticeboard online."},{name:"Max. 10 sponsors",description:"There is a limited availability of 10 booths.\n\nRobot Framework Foundation members do have a preferred access.\nTherefore, if you are not member of Foundation, we will reserve a spot when you book, but invoice it after September, if the spots are not all required by Foundation members. "}],voucher:"SPONSORGOLDONLINE"},{name:"Online Platinum",price:"6000 €",perks:[{name:"Company logo (large)",description:"Your company logo will be visible on robocon.io, our photo wall on site at Helsinki and at our online venue. **Premium size** company logo on screen between presentations."},{name:"Social media",description:"We will mention your company on social media channels like Twitter, LinkedIn and Facebook."},{name:"Free tickets (6 online)",description:"You will get:\n\n- 8 free online tickets for the online part of RoboCon 2024"},{name:"Dedicated spotlight",description:"Dedicated time to showcase your company or product between talks. This is a chance for the people to engage with you. There will be one dedicated spot to meet the sponsor. This way people know when to meet the sponsor and you can have a presentation etc. there during your break."},{name:"Video during breaks (30 sec)",description:"Sponsor videos (with audio) will be played in randomized order for full audience and during some of the breaks."},{name:"Booth online (premium)",description:"You will get a premium online booth at Gather.town, where you can have up to ten items like:\n- PDF documents\n- hyperlinks\n- iFrames\n- Youtube videos\n\nOn the one day where you are the Platinum sponsor your booth will be at the center of the conferece."},{name:"Publish job offers",description:"We give you the opportunity to post job offers on our noticeboard online."},{name:"Featured sponsor for 1 day",description:"Your company will be the Platinum sponsor for one day of RoboCon.\n\nYou will be mentioned twice as the sponsor of this day and your logo will be shown."},{name:"Video after Keynote (~5 min)",description:"You will get a spot for a video (5 minutes) directly after the online keynote.\n\nYour talk shall be pre-recorded and will be streamed before people are sent to the first break."},{name:"Max. 2 sponsors",description:"Due to the duration of RoboCon and one Platinum Sponsor per day, there are only 2 sponsoring spots available.\n\nRobot Framework Foundation members do have a preferred access.\nMembers who book Online + Helsinki Sponsorship are also preferred and have higher priority.\nTherefore, if you are not member of Foundation, we will reserve a spot when you book, but invoice it after September, if the spots are not all required by Foundation members. "}],voucher:"SPONSORPLATINUMONLINE"}]}},li={previousTalks:{title:"Previous Talks",body:'

All RoboCon talks over the years have been recorded. Feel free to watch them here or directly in YouTube.

',talks:[{year:2022,playlistLink:"https://www.youtube.com/watch?v=jlhgitypC5Q&list=PLSK6YK5OGX1AN9PSVHz1vsoSqbz3tFS_C",list:[{title:"Keynote: Robot Framework",url:"https://www.youtube.com/embed/jlhgitypC5Q",authors:["René Rohner","Ed Manlove","Pekka Klärck"]},{title:"Robocorp == RPA for Developers",url:"https://www.youtube.com/embed/MuD7yhIIdCU",authors:["Antti Karjalainen"]},{title:"Test Intelligence for and with the Robot Framework",url:"https://www.youtube.com/embed/i8cSTAoe_hw",authors:["Elmar Juergens"]},{title:"Our Robot Framework Automation Journey : Medidata Solutions",url:"https://www.youtube.com/embed/PFqmZ5GwXgg",authors:["Karthik Selvarajan","Allen Lee"]},{title:"Tests are talking, are you ready to listen?",url:"https://www.youtube.com/embed/sm2XQ-kM2GA",authors:["Tatu Aalto"]},{title:"How Robocop evolved to 2.0?",url:"https://www.youtube.com/embed/t_R36N_4UBk",authors:["Mateusz Nojek"]},{title:"Tidy your code with Robotidy",url:"https://www.youtube.com/embed/8ELCaSKR6Ns",authors:["Bartłomiej Hirsz"]},{title:"Project and package management: Poetry for robots",url:"https://www.youtube.com/embed/UjzXCDcnTs0",authors:["Robin Mackaij"]},{title:"CamundaLibrary - Updates and Roadmap",url:"https://www.youtube.com/embed/5mjjZ4KmPJ0",authors:["Markus Stahl"]},{title:"Accessibility checking with Browser Extensions",url:"https://www.youtube.com/embed/sQ6lekIq1mE",authors:["Elout van Leeuwen"]},{title:"Web-scale Robot Framework with JupyterLite",url:"https://www.youtube.com/embed/VII2OL8O4hA",authors:["Asko Soukka","Nicholas Bollweg"]},{title:"Robots In Space",url:"https://www.youtube.com/embed/8Nz5LXsXmAU",authors:["Jeff King"]},{title:"Using implicit context to create rich behavior driven keywords",url:"https://www.youtube.com/embed/8AKBwK_UJwo",authors:["Samuel Montgomery-Blinn"]},{title:"Robot Framework Is Not ...",url:"https://www.youtube.com/embed/Mpt_4MItha0",authors:["Kelby Stine"]},{title:"Combining all test reports to one",url:"https://www.youtube.com/embed/m5zkIRQs8ZM",authors:["Timo Stordell"]},{title:"Analyze your code like true detective",url:"https://www.youtube.com/embed/PNHl_mz66ZI",authors:["Bartłomiej Hirsz"]},{title:"Yet another API talk, but this one is different...",url:"https://www.youtube.com/embed/owkk5B1kEhM",authors:["Mateusz Nojek"]},{title:"Output Robot Framework report using Github Actions",url:"https://www.youtube.com/embed/HQObgYC3D3s",authors:["Joonas Venäläinen"]},{title:"Reactive Robot - Fastest way to turn Robot Framework projects into event-driven services",url:"https://www.youtube.com/embed/UTwDfGYj3lw",authors:["Yusuf Can Bayrak"]},{title:"\\u201cFor the very first time\\u201d - Start to Code, Test, Package & Publish your first Library",url:"https://www.youtube.com/embed/BblpFESySiI",authors:["Many Kasiriha"]},{title:"Robot Framework for silicon validation",url:"https://www.youtube.com/embed/GcQgx6NZQa0",authors:["Franz Haas","Sebastian Herz"]},{title:"HybridApp - hybrid testing",url:"https://www.youtube.com/embed/yD5e1r-8aw0",authors:["Jacek Kohut"]},{title:"Introducing OpenApiDriver...and OpenApiLibCore!",url:"https://www.youtube.com/embed/7YWZEHxk9Ps",authors:["Robin Mackaij"]},{title:"Robot Framework and commercial testing tools integration - based on regression project for SWT app",url:"https://www.youtube.com/embed/Q68PeIs0Ig0",authors:["Krzysztof Trybus","Gregor Schmid"]},{title:"Eggplant Library - connecting Robot Framework to advanced image based automation",url:"https://www.youtube.com/embed/wOGVdWEzs_A",authors:["Andre Mochinin","Rico Feist"]},{title:"Year with Browser library",url:"https://www.youtube.com/embed/rSkNT7jFr_c",authors:["Tatu Aalto","René Rohner","Kerkko Pelttari"]},{title:"Robots in the Clouds: Experiences with Using Robotframework with Cloud Providers",url:"https://www.youtube.com/embed/MNL59uHnwN8",authors:["Josh Grant"]},{title:"The neuroscience of learning, creativity and collaboration",url:"https://www.youtube.com/embed/FiJw77tzLHU",authors:["Katri Saarikivi"]}]},{year:2021,playlistLink:"https://www.youtube.com/playlist?list=PLSK6YK5OGX1ALlSRlwr9dWJu3mFHMlVq8",list:[{authors:["Pekka Klärck","Ismo Aro"],title:"KEYNOTE: WHERE'S ROBOT FRAMEWORK IN 2021",url:"https://www.youtube.com/embed/3NF8Or6LWq8"},{authors:["Mateusz Nojek","Bartłomiej Hirsz"],title:"HOW TO AVOID JAIL FOR NASTY CODE?",url:"https://www.youtube.com/embed/vZoyi2ObM8E"},{authors:["Many Kasiriha"],title:"PRINT IS NOT DEAD - VISUAL DOCUMENT TESTING WITH ROBOT FRAMEWORK",url:"https://www.youtube.com/embed/qmpwlQoJ-nE"},{authors:["Mikko Korpela","Tatu Aalto","Kerkko Pelttari","René Rohner"],title:"BROWSER LIBRARY - INTRODUCTION",url:"https://www.youtube.com/embed/3BNVS6uiFeo"},{authors:["Diogo Rede"],title:"E-COMMERCE WEB AUTOMATION AT SCALE",url:"https://www.youtube.com/embed/b-FO7GXY2Oo"},{authors:["Maciej Wiczk"],title:"RFHUB2 - NEW TAKE ON ROBOTFRAMEWORK ASSET DOCUMENTATION",url:"https://www.youtube.com/embed/WTupl3gtM-g"},{authors:["Luca Giovenzana"],title:"WHAT'S NEW IN REQUESTSLIBRARY 0.9",url:"https://www.youtube.com/embed/6fc2Cn_Sch0"},{authors:["Patrik Zakovič","Marián Macek"],title:"THE JOURNEY OF BUILDING TEST AUTOMATION PLATFORM IN THE BANK",url:"https://www.youtube.com/embed/Wnu9KVpylnM"},{authors:["Simon Meggle"],title:"ROBOTMK: TESTING MEETS MONITORING",url:"https://www.youtube.com/embed/Asjh7E1xoFI"},{authors:["Tuomas Pitkänen"],title:"ROBOT MAKES MUSIC",url:"https://www.youtube.com/embed/o31z0NmruSo"},{authors:["Pekka Klärck"],title:"CREATING ROBOT FRAMEWORK LIBRARIES: WHY AND HOW?",url:"https://www.youtube.com/embed/DxqCP_EJJXc"},{authors:["Deepak Chourasia"],title:"ROBOT FRAMEWORK AND JOURNEY FROM CATHEDRAL TO BAZAR",url:"https://www.youtube.com/embed/r3GF6hjqRjQ"},{authors:["Antti Karjalainen"],title:"OPEN-SOURCE STACK FOR RPA",url:"https://www.youtube.com/embed/MIaOIbiuYXs"},{authors:["Tuukka Virtanen"],title:"HOW TO FIND THE BEST ROBOT FRAMEWORK LIBRARIES?",url:"https://www.youtube.com/embed/8jX8fivBNg0"},{authors:["Fabio Zadrozny"],title:"ROBOTFRAMEWORK LANGUAGE SERVER",url:"https://www.youtube.com/embed/aZN5_rvGohg"},{authors:["Markus Stahl"],title:"HOW TO START WITH OPEN SOURCE RPA",url:"https://www.youtube.com/embed/yggxvDl0Ozc"},{authors:["Cindy Huffman"],title:"AUTOMATING CUSTOMER JOURNEYS AS UI ACCEPTANCE SCENARIOS",url:"https://www.youtube.com/embed/D3lMuzRnvlU"},{authors:["Esko Hannula"],title:"HYPERAUTOMATION OR HYPE-AUTOMATION: AUTOMATION LANDSCAPE OF THE FUTURE",url:"https://www.youtube.com/embed/iEPiDX8YnB8"},{authors:["Dave Martin"],title:"ZERO TO HERO IN 2 WEEKS",url:"https://www.youtube.com/embed/y2OIqOPYklM"},{authors:["Elisabeth Hendrickson"],title:"KEYNOTE: ROBOT FRAMEWORK THROUGH THE LENS OF HISTORY",url:"https://www.youtube.com/embed/U5FzPgpMiqk"},{authors:["Gojko Adžić"],title:"KEYNOTE: YOU'RE TESTING WHAT?",url:"https://www.youtube.com/embed/Ju90-ewW_gM"},{authors:["Juho Saarinen"],title:"ROBOT FRAMEWORK AFTER JYTHON",url:"https://www.youtube.com/embed/6F4659Ibf7o"},{authors:["Bartłomiej Hirsz"],title:"NEW PARSING API FOR ROBOT FRAMEWORK - HOW TO CREATE OWN TOOLS",url:"https://www.youtube.com/embed/FO7rWa2-s70"},{authors:["Tatu Aalto"],title:"PYTHONLIBCORE THE SECRET BEHIND SELENIUMLIBRARY",url:"https://www.youtube.com/embed/_19SBMEObX8"},{authors:["Mikko Korpela","Tatu Aalto","Kerkko Pelttari","René Rohner"],title:"ROBOTFRAMEWORK BROWSER LIBRARY - A DEEP DIVE",url:"https://www.youtube.com/embed/OiRm9Zv3edE"},{authors:["Nils Balkow-Tychsen","Michał Wcisło"],title:"HOW KUBERNETES BRINGS QA AND DEVOPS CLOSER TOGETHER",url:"https://www.youtube.com/embed/0vtj9Hg-LWU"},{authors:["Samuel Montgomery-Blinn"],title:"(AB)USING ROBOTFRAMEWORK-DATADRIVER FOR FUN AND PROFIT",url:"https://www.youtube.com/embed/uPv0DMMksuM"},{authors:["Raphael Roems"],title:"BACKEND TESTING USING ROBOT FRAMEWORK AND SOAPUI",url:"https://www.youtube.com/embed/mSR-HPCBeEQ"},{authors:["Markus Stahl"],title:"ROBOTFRAMEWORK-CAMUNDA LIBRARY: ORCHESTRATING ROBOTIC TASKS",url:"https://www.youtube.com/embed/ZPH4AMD5XZQ"},{authors:["Tommi Oinonen"],title:"WHAT IS TAKING SO LONG?! - AN ATTEMPT TO ANSWER THIS QUESTION",url:"https://www.youtube.com/embed/nfoJXYNr3UA"}]},{year:2020,playlistLink:"https://www.youtube.com/playlist?list=PLSK6YK5OGX1AZMAffD8EiTDq0lfzshRNg",list:[{authors:["Jeff King"],title:"ROBOT FRAMEWORK AND THE ONE MAN ROBOT BAND",url:"https://www.youtube.com/embed/0yEnJt6Sf50"},{authors:["Anaïs van Asselt"],title:"IMPLEMENTING A TEST AUTOMATION ARCHITECTURE IN A GOVERNMENT ORGANIZATION",url:"https://www.youtube.com/embed/Asy5xHl0uRA"},{authors:["Antti Karjalainen"],title:"THE OPEN RPA ECOSYSTEM",url:"https://www.youtube.com/embed/cO6FxG-RAtQ"},{authors:["Petteri Mannersalo"],title:"ROBOT FRAMEWORK AS AN ENABLER FOR INTELLIGENT PROCESS AUTOMATION",url:"https://www.youtube.com/embed/ViSKJiuT6xo"},{authors:["Tuomas Lempiäinen"],title:"QA DRIVEN RPA AT VEIKKAUS",url:"https://www.youtube.com/embed/3Drlg1q4fkM"},{authors:["Virpi Luostarinen","Mikael Siirtola"],title:"RPA ON RAILS: AUTOMATING MANUAL PROCESSES AT VR",url:"https://www.youtube.com/embed/R7bNgxPjDJ4"},{authors:["Kristina Sabotic"],title:"END-TO-END TESTING FOR END-USERS",url:"https://www.youtube.com/embed/qkQpzGA51go"},{authors:["Luca Giovenzana","Angelo Caovilla"],title:"BEWARE THE BRITTLE DRAGON",url:"https://www.youtube.com/embed/rgpqyPblo28"},{title:"Lightning Talks I",url:"https://www.youtube.com/embed/0sKyczF0SDE"},{title:"Lightning Talks II",url:"https://www.youtube.com/embed/Xb9npqzJkFY"},{title:"Lightning Talks III",url:"https://www.youtube.com/embed/5axgakabN_0"},{title:"Lightning Talks IV",url:"https://www.youtube.com/embed/AZOZIW1BJJs"},{title:"Lightning Talks V",url:"https://www.youtube.com/embed/G24aU0unvVE"},{title:"Lightning Talks VI",url:"https://www.youtube.com/embed/oo11OlAaWWA"},{title:"Lightning Talks VII",url:"https://www.youtube.com/embed/7Ks8XSM2Uoc"},{title:"Lightning Talks VIII",url:"https://www.youtube.com/embed/jS-HZqLwmIY"},{title:"Lightning Talks IX",url:"https://www.youtube.com/embed/HTZ-R3HgByg"},{authors:["Ismo Aro"],title:"Day II",url:"https://www.youtube.com/embed/m1KA3PVukhg"},{authors:["KEYNOTE: Pekka Klärck"],title:"WHAT'S NEW? WHAT'S NEXT? WHO ARE WE?",url:"https://www.youtube.com/embed/DRAu1du3UFU"},{authors:["Akseli Lukkarila"],title:"ACCEPTANCE TESTING A REAL-TIME MUSIC EDUCATION APPLICATION WITH AUDIO",url:"https://www.youtube.com/embed/Fkh-EQ5O7zo"},{authors:["Maria Prokhorova"],title:"NEW IMAGE LIBRARY FOR ADVANCED IMAGE PROCESSING",url:"https://www.youtube.com/embed/AWuh-r-T6Yo"},{authors:["Tatu Aalto"],title:"SELENIUMLIBRARY 4.0: PLUGIN API AND EVENT FIRING WEBDRIVER SUPPORT",url:"https://www.youtube.com/embed/zyNZRTR821Q"},{authors:["René Rohner"],title:"DATADRIVER OR: HOW I LEARNED TO STOP WORRYING AND LOVE OPEN SOURCE",url:"https://www.youtube.com/embed/RtEUr1i4x3s"},{authors:["Tommi Oinonen"],title:"SELF MANAGING TESTING PIPELINES",url:"https://www.youtube.com/embed/W3JUzeV8lp4"},{authors:["Juho Saarinen"],title:"ROBOT FRAMEWORK REMOTE LIBRARY IN PRACTICE (WITH DEMOS)",url:"https://www.youtube.com/embed/B-67yPvMh8Q"},{authors:["Maciej Brzozowski"],title:"MICROSERVICES TESTING USING ARGO: CONTAINER-NATIVE WORKFLOWS FOR KUBERNETES",url:"https://www.youtube.com/embed/xBBTvv4mz0U"},{authors:["Joonas Köppä","Riku Halonen"],title:"ORCHESTRATING ROBOT FRAMEWORK TEST CONTAINERS AND REMOTE LIBRARIES IN KUBERNETES",url:"https://www.youtube.com/embed/SypNjILTRl0"},{title:"Day II - Lightning Talks I",url:"https://www.youtube.com/embed/Yjlsl3eHGMI"},{title:"Day II - Lightning Talks II",url:"https://www.youtube.com/embed/jDQWBrYD-w8"},{title:"Day II - Lightning Talks III",url:"https://www.youtube.com/embed/_T_PCx-tVFk"},{title:"Day II - Lightning Talks IV",url:"https://www.youtube.com/embed/-dBWW_77QG4"},{title:"Day II - Lightning Talks V",url:"https://www.youtube.com/embed/TZiJLT1fShk"},{title:"Day II - Lightning Talks VI",url:"https://www.youtube.com/embed/_XkgOcvKgtc"}]},{year:2019,playlistLink:"https://www.youtube.com/playlist?list=PLSK6YK5OGX1D-QpVap5C7NlfurQ1dsGbt",list:[{authors:["Ismo Aro","Pekka Klärck"],title:"Welcome back! What's new since RoboCon 2018?",url:"https://www.youtube.com/embed/wBhY5Z2RoqQ"},{authors:["Antti Karjalainen"],title:"The start of the open source RPA movement",url:"https://www.youtube.com/embed/uv6dvcoxdvU"},{authors:["Juho Saarinen"],title:"Evolution of Robot Framework user",url:"https://www.youtube.com/embed/ynUmfWvZxpw"},{authors:["Tatu Aalto"],title:"Decade with SeleniumLibrary and browsers' UI automation",url:"https://www.youtube.com/embed/HVAnWH8t4rU"},{authors:["Brady Hill"],title:"RobotFramework for Embedded Software Testing",url:"https://www.youtube.com/embed/0q4-AjqpO9M"},{authors:["Nguyen Huu Bach"],title:"RENAT - a network testing plugin based on Robot Framework",url:"https://www.youtube.com/embed/FSjmJLq4S4A"},{authors:["Mikael Siirtola"],title:"Robot Framework with Patient Monitors: Test Automation at GE Healthcare Finland",url:"https://www.youtube.com/embed/gxbz5QJWdq4"},{authors:["Päivi Raulamo-Jurvanen"],title:"Practical Experiences on Evaluating Software Testing Tools",url:"https://www.youtube.com/embed/2qKa3GEqcvY"},{authors:["Nicholas Bollweg","Asko Soukka"],title:"Robots from Jupyter The Future of Authoring Tests and Tasks",url:"https://www.youtube.com/embed/rbYF_RmiAR8"},{authors:["Joonas Lehtimäki"],title:"Dynamically scalable test environment on top of Kubernetes",url:"https://www.youtube.com/embed/ivLsjU77Q6c"},{authors:["Oleksandr Kravchenko"],title:"Dynamic Generation of Model Based Testcases Using Listener Interface Version 3",url:"https://www.youtube.com/embed/qtEYZ5Om1Qk"},{title:"Lightning Talks I",url:"https://www.youtube.com/embed/ck_zvTq4zz8"},{title:"Lightning Talks II",url:"https://www.youtube.com/embed/a-27Ot_suEU"},{title:"Lightning Talks III",url:"https://www.youtube.com/embed/hA99dYnlb-s"},{title:"Lightning Talks IV",url:"https://www.youtube.com/embed/g98m3XpE8gw"},{title:"Lightning Talks V",url:"https://www.youtube.com/embed/YJ4FTjxVG3o"},{title:"Lightning Talks VI",url:"https://www.youtube.com/embed/9HHgrLb41go"},{title:"Lightning Talks VII",url:"https://www.youtube.com/embed/fb42449bdz0"}]},{year:2018,playlistLink:"https://www.youtube.com/playlist?list=PLSK6YK5OGX1AUdykW4DYwNeSN_6qDE_-z",list:[{authors:["Ismo Aro"],title:"Robot Framework Foundation: Welcome to RoboCon",url:"https://www.youtube.com/embed/eAG18mS8UXA"},{authors:["Pekka Klärck"],title:"How Did We Get Here? Where Do We Go Next?",url:"https://www.youtube.com/embed/6Kb1M3NECic"},{authors:["Régis Déau"],title:"The Naked Truth About Successful Test Automation Journey",url:"https://www.youtube.com/embed/Z-9XIGZBf9U"},{authors:["Aldina Codesso-Lipponen"],title:"Mega Robot Projects - What To Expect",url:"https://www.youtube.com/embed/KsRP9TsZwEQ"},{authors:["Asko Soukka"],title:"Robot Framework in Plone CMS Project",url:"https://www.youtube.com/embed/iJEWobuwPeI"},{authors:["Ed Manlove"],title:"The Importance of Open Source Communities",url:"https://www.youtube.com/embed/2GDrtvz_1Ds"},{authors:["Anssi Syrjäsalo"],title:"Towards Contract - Based API Testing with a New Rest Json Test Library",url:"https://www.youtube.com/embed/TMU4WCIq3NA"},{authors:["Tatu Aalto"],title:"Extending SeleniumLibrary 3.0",url:"https://www.youtube.com/embed/ZPqQ-RozkYQ"},{authors:["Martin Taylor"],title:"Design Patterns for Efficient Multi-Platform",url:"https://www.youtube.com/embed/QDaXTkiviT0"},{authors:["Mikko Korpela"],title:"Parallel test execution with Pabot",url:"https://www.youtube.com/embed/i0RV6SJSIn8"},{title:"Lightning Talks",url:"https://www.youtube.com/embed/xb1Udosom6o"}]}]}},ci={intro:{title:"Hello",body:'\n

RoboCon 2023 was a hybrid conference in two parts.\n First conference part was fully in-person in Helsinki,\n where all the talks and other content were live at Bio Rex on January 19th & 20th 2023.

\n

The online conference took place from March 1st to March 3rd\n with three amazing days full of online content.

\n

All talks were recorded and they will be released for everyone before RoboCon 2024.

\n

A big thank you for all who participated!

\n '},cfp:{title:"CFP",body:'\n

"Call For Proposal" is open now. Please submit your talk proposal in a timely manner.

\n\n

CFP RoboCon Helsinki

\n

CFP for talks in Helsinki is open until September 25th - here

\n

For onsite speakers, we will compensate travel costs up-to 500€ on top of the free conference ticket with a backstage pass.

\n

Within the CFP for onsite talks, you can agree on the duplication of your proposal to the online part of RoboCon 23 at the end of February.

\n\n

CFP RoboCon Online

\n

CFP for online talks is open until October 16th - here

\n

Also online speakers will get the free online conference tickets and if needed we will compensate for proper audio equipment for the speakers.

\n '},sponsors:{link:"sponsor",tiers:{small:"",medium:"",large:""},large:[],medium:[{img:"continero.png",href:"https://www.continero.com/en/"},{img:"eficode.png",href:"https://www.eficode.com/"},{img:"fsecure.png",href:"https://www.f-secure.com/"},{img:"gofore.png",href:"https://gofore.com/en/"},{img:"imbus.png",href:"https://www.imbus.de/en/"},{img:"knowit.png",href:"https://www.knowit.fi/"},{img:"northcode.png",href:"https://www.northcode.fi/"},{img:"qfactory.png",href:"https://q-factory.fi/en/"},{img:"robocorp.png",href:"https://robocorp.com/"},{img:"vala.png",href:"https://www.valagroup.com/"}],small:[]}},di={langName:"English",newsBanner:"",navbar:{links:[{text:"Sponsor",name:"Sponsor"},{text:"Archive",name:"Archive"}]},home:ri,germany:ii,sponsor:si,archive:li,page2023:ci},ui={intro:{title:"Hallo",body:'

Diesen Herbst ist die RoboCon zu Gast auf dem Software QS-Tag in Frankfurt.

\n

Erstmalig werden wir die Möglichkeit haben im Zentrums der EU eine eintägige RoboCon zu veranstalten.\n Die RoboCon wird sich mit dem Software QS-Tag ein Konferenzgebäude teilen und der Austausch mit den Besuchern des\n QS-Tages wird zu interessanten Gesprächen führen.

\n

Wenn Sie ein Hotelzimmer für die Nächte rund um die RoboCon im Konferenzhotel benötigen,\n wenden Sie sich bitte an qs-tag(at)imbus.de.\n Wir haben noch wenige Zimmer zur Verfügung.

\n

Als Besucher mit einem RoboCon Ticket, steht ausschließlich der RoboCon Track zur Verfügung.\n Wünscht Ihr die RoboCon und den QS-Tag auf beiden Tagen (5. & 6. Oktober) besuchen zu können, inkl. Übernachtung im Konferenzhotel, so bucht ein Ticket zum Software QS-Tag auf\n qs-tag.de

\n

Wir freuen uns dich auf der RoboCon zu sehen!

'}},hi={langName:"German",germany:ui},mi=Object(ai["createI18n"])({locale:"en-US",messages:{"en-US":Object(n["a"])({},di),"de-DE":Object(n["a"])({},hi)},warnHtmlInMessage:"off"});Object(a["createApp"])(xn).use(ni).use(ti).use(mi).mount("#app")},"5ce5":function(e,t,o){"use strict";o("399d")},"618e":function(e,t,o){"use strict";o("f752")},6413:function(e,t,o){},"653f":function(e,t,o){},7689:function(e,t,o){"use strict";o("f580")},7780:function(e,t,o){},7841:function(e,t,o){},"7cbe":function(e,t,o){"use strict";o("c08e")},"7f26":function(e,t,o){"use strict";o("aaee")},"8bb0":function(e,t,o){"use strict";o("7780")},"905d":function(e,t,o){},9843:function(e,t,o){"use strict";o("4efe")},a2f0:function(e,t,o){},a908:function(e,t,o){},aaee:function(e,t,o){},ab60:function(e,t,o){"use strict";o("653f")},ab6b:function(e,t,o){"use strict";o("7841")},b208:function(e,t,o){"use strict";o("336b")},b3f0:function(e,t,o){},b81e:function(e,t,o){},b88e:function(e,t,o){"use strict";o("b3f0")},bde3:function(e,t,o){"use strict";o("a908")},c08e:function(e,t,o){},c75b:function(e,t,o){},c8de:function(e,t,o){"use strict";o("c75b")},d25c:function(e,t,o){"use strict";o("905d")},d5e9:function(e,t,o){},d784d:function(e,t,o){},d8f0:function(e,t,o){"use strict";o("d5e9")},e645:function(e,t,o){"use strict";o("3513")},e649:function(e,t,o){"use strict";o("f33a")},ea05:function(e,t,o){"use strict";o("2c04")},f33a:function(e,t,o){},f3b7:function(e,t,o){},f580:function(e,t,o){},f752:function(e,t,o){},f8cc:function(e,t,o){"use strict";o("6413")},ff87:function(e,t,o){},ffdd:function(e,t,o){}}); \ No newline at end of file diff --git a/dist/precache-manifest.e9d5260fb4b4c2ad594697d0fb4f72fb.js b/dist/precache-manifest.7921c0c9c50f9dd94ba459a9f2a184f3.js similarity index 96% rename from dist/precache-manifest.e9d5260fb4b4c2ad594697d0fb4f72fb.js rename to dist/precache-manifest.7921c0c9c50f9dd94ba459a9f2a184f3.js index 893064b..69290d8 100644 --- a/dist/precache-manifest.e9d5260fb4b4c2ad594697d0fb4f72fb.js +++ b/dist/precache-manifest.7921c0c9c50f9dd94ba459a9f2a184f3.js @@ -4,7 +4,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "dist/404.html" }, { - "revision": "9215dafaf96b7396321e", + "revision": "9068c08a1051c580eac6", "url": "dist/css/app.8978c0ba.css" }, { @@ -188,12 +188,12 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "dist/img/ticket-depth.jpg" }, { - "revision": "d1e3c569f0e255ca634601f7ebc47f02", + "revision": "7072476fdbdd446ae4d881bd6801b01d", "url": "dist/index.html" }, { - "revision": "9215dafaf96b7396321e", - "url": "dist/js/app.2f2f633b.js" + "revision": "9068c08a1051c580eac6", + "url": "dist/js/app.a1093419.js" }, { "revision": "93488b24d25139a6649c", diff --git a/dist/service-worker.js b/dist/service-worker.js index 273811c..06cb812 100644 --- a/dist/service-worker.js +++ b/dist/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); importScripts( - "dist/precache-manifest.e9d5260fb4b4c2ad594697d0fb4f72fb.js" + "dist/precache-manifest.7921c0c9c50f9dd94ba459a9f2a184f3.js" ); workbox.core.setCacheNameDetails({prefix: "robot-framework"}); diff --git a/index.html b/index.html index 333213a..264bbd5 100644 --- a/index.html +++ b/index.html @@ -17,4 +17,4 @@ l.pathname.slice(0, -1) + decoded + l.hash ); } - }(window.location))
\ No newline at end of file + }(window.location))
\ No newline at end of file diff --git a/src/router/index.js b/src/router/index.js index 53910d9..85a14c8 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -41,7 +41,7 @@ const routes = [ { path: '/quiz', beforeEnter: () => { - window.location.replace('https://8pasfjg2p1x.typeform.com/to/wfO1kE0k') + window.location.replace('https://docs.google.com/forms/d/e/1FAIpQLSfsxaOkNju6m7Tp3D3QcdVel8Ikp1U0GUdNZF1LQYtKltp0aw/viewform?usp=sf_link') } }, {