eCommerce
Oct 10, 2025
Introduction
During the project, the need for automated testing of the CMS system arose. Most testers lacked a strong development background, so most Squads primarily used Robot Framework with Browser or Selenium add-ons. However, several issues emerged with using Robot Framework, which were either unsolvable or could only be addressed at a high cost within the given framework. Additionally, debugging and maintaining Robot Framework code for more complex tasks became significantly more expensive.
The problem escalated when RoboCorp decided to cease supporting Robot Framework and transitioned to a Python-based system. This decision deprived users of RoboCorp's plugins and other extensions, significantly impacting the users with the most utilized Language Server's disappearance. Despite RobotFramework being open-source and continuing to develop, this loss could reduce the pool of potential candidates willing to work with this technology. In contrast, Python is currently a market leader, and finding personnel proficient in Python is much easier.
Given these factors, the target was to build a solid foundation for our Test Automation Framework (TAF). As the first step, we created a comparative documentation of the old (Robot) and the new (Python) solutions' advantages and disadvantages and the additional resources required to reimplement the existing tests.
The Challenge
During the transition, we encountered several challenges:
Training Team Members:
Training team members in Python basics.
Conducting internal training sessions and recommending online courses.
Assigning small tasks to team members and reviewing the code together in case of issues, promoting a faster learning curve.
Establishing a New Mindset:
Introducing and applying the PageObject programming pattern.
Holding regular workshops to discuss advantages, set coding standards, and develop an automatic code style formatter for uniform formatting upon saving.
Building Sanity Test Suites:
Utilizing Python's advantages to efficiently build reusable Sanity test suites.
Highlighting the ease of use on the development side due to short execution times, ensuring UI and basic logic integrity before merging new features or refactors.
Tools and Integrations:
Selecting and implementing necessary tools and integrations such as pytest, TeamCity integration, and Allure for reporting, aiding automated testing and process smoothness.
The Conclusion
The team successfully progressed with creating Python-based tests. Everyone uniformly recognized the new solution's advantages. During the TAF development, the focus was on pre-implementing complex solutions, so team members only need to call the necessary methods with appropriate parameters. All TAF-related methods were detailed with docstrings, greatly aiding proper use and understanding the existence of specific functions.
Our mid-term goal was to establish and assure company-wide testers that learning Python-based testing is easy and offers many advantages over Robot. This breakthrough was expected to enhance inter-team mobility, ease assistance during bottlenecks, and eliminate the need for integrating solutions in different languages (JavaScript, Python, Java) into RobotFramework for specific task.