Bobcat, our test automation framework - it's been a long road since it was created and released as an open-source project. Now the time has come to send our fierce cat for a well-deserved retirement.
A little bit of history
Before we created Bobcat, we had worked for many years with similar tools. As the platforms we built were centered around reusable components, we found ourselves in need of easier ways to compose page objects and, ultimately, represent key user journeys. Finally, we decided to merge our knowledge and experience to create one tool to help us with our automated testing.
Our goal was to create a maintainable, stable, and scalable framework. We wanted to help not only to test our pages but also to test AEM authoring.
We decided to use Selenium which was the most advanced tool for such goals in those days. We also used Guice for dependency injection and the Page Object pattern. It was not an easy task, but finally, Bobcat was born.
Since then, it has undergone many changes and a lot of development:
- going open-source
- keeping up with new AEM versions
- moving to Selenium 3 and JUnit 5
- incorporating new ideas to make the creation of automated tests easier
It was a great adventure and learning experience, but all good things come to an end.
So... Why the retirement?
The world of test automation has changed since the first version of Bobcat was released. New ideas and approaches (like Cypress) have become more and more popular with more functionality and larger communities behind them. Even in the Selenium environment, more mature and powerful frameworks were developed (Selenide, Serenity, webdriver.io, to name only a few).
Bobcat core code has aged and keeping up with new requirements and new Selenium versions (incoming 4.0) would require a lot of effort. It wouldn't be a simple refactor but many core features would have to be written from scratch.
The last reason is quite simple. We, the maintainers, have chosen to concentrate on new challenges ahead.
What next?
Bobcat is still here, the code, documentation, but there won't be any future updates or releases. Version 2.3.0 is the last one. The framework should work as long as browsers support Selenium 3.
At the time of writing of this post, Selenium 4 is still in beta. Although there's no clear road map yet, at some point, it will become widely adopted and support for Selenium 3 by major browsers may be dropped. If you're using Bobcat, you can use this time to adjust. One option would be to fork Bobcat (the beauty of open-source projects) and maintain it. Alternatively, you could plan a migration to another framework.
As mentioned earlier, it was a great adventure but for our incarnation of Bobcat, it is the end of the road.
Hero image by ForestWander, opens in a new window