Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Desktop applications supporting line-of-business, enterprise functions live on as massive, complex beasts. Without an easy route into its internals and modernization falling by the wayside, it's up to you to make sure any small change doesn't break — well — everything. In this talk, we'll discuss the journey of bringing up a Windows VM to poke at an app using screenshots, image recognition, and Minitest to create our own Robotic Process Automation (RPA) framework.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In this RubyConf 2021 presentation, Chris Cha discusses the automation of legacy desktop applications using JRuby and Sikuli. He begins by providing an overview of the complex landscape of legacy desktop applications, which often pose significant challenges for automation and modernization. The talk primarily details the journey of setting up a Windows virtual machine (VM) to automate testing of a Windows-only application through a series of practical steps and technical methods. Key points discussed include: - **Development Environment Setup**: Chris shares his development environment setup involving Vim, Sikuli IDE, and VirtualBox, alongside a Windows 10 Pro image to facilitate remote access and testing. - **Utilizing Vagrant**: He explains how Vagrant is used for provisioning the Windows VM environment and managing its configuration files efficiently, ensuring isolated changes reduce complexity. - **Java Environment Configuration**: Chris details the procedure for installing and verifying the Java Development Kit (JDK) within the VM, which is crucial for running JRuby and Sikuli. - **Network Drive Mapping**: The speaker explains the importance of mapping network drives and the steps taken to automate this mapping using PowerShell and scheduled tasks, facilitating the retrieval of the legacy application. - **Headless Automation Strategy**: He elaborates on the approach towards headless automation with a focus on the configuration and scripting needed to not only launch the application but also execute tests effectively. - **Testing with Sikuli**: The integration of Sikuli for UI testing is discussed, where Cha showcases screenshots being captured and tests being executed using JRuby. - **Modular Testing Setup**: The focus shifts towards refactoring the proof of concept into modular components, creating a maintainable structure for tests using Minitest, which mimics behavior-driven development (BDD) principles. - **Conclusion and Takeaways**: By successfully demonstrating the setup and testing of a Java Swing application on a Windows VM with integrated JRuby and Sikuli, Chris emphasizes the value of open-source tools in modernizing legacy systems while improving automation workflow. Overall, the talk conveys the significant technical challenges and strategies involved in automating legacy applications, showcasing real methodologies that can be replicated in similar scenarios.
Suggest modifications
Cancel