New feature: SofySense – Manual test case & test results AI generator to help you speed up your testing process. Try it today.  

Sofy launches product feature suite to deliver effortless test maintenance and ensure continuous precision – learn more.

sofy logo

Announcing Test Maintainability Feature Release Suite 

Sofy proudly unveils its latest suite of maintainability features designed to reduce the effort and time required for testing scenarios.

In a leap forward for mobile app testing efficiency, Sofy is proud to unveil its latest suite of maintainability features designed to drastically reduce the effort, time and decrease flakiness required for testing scenarios. Sofy’s commitment to innovation aims to empower testers, providing them with robust tools that streamline the testing process and eliminate the need for extensive code maintenance. 

1. Visual Match 

Accurately identifying UI elements for interaction is challenging especially in scenarios where XML paths are difficult to detect, like when elements are hidden under popups or, during rapid screen transitions.  

With our new Visual Match feature, you can manually adjust the click target in any of the automated steps, ensuring more accurate element selection when other element identifiers can’t be used. To do this, you can edit a test case, enable Visual Match on any step, and draw a new bounding box around the UI element you want Sofy to interact with during test playback.  

To learn how to use Visual Match in your automated tests, visit Adding a Visual Match to a Test Step in the Sofy Help Center.  

2. Swipe Until Element Found 

The Swipe Until feature in Sofy is a solution tailored to address a common challenge faced during automated testing of mobile applications across different devices. Swipe Until lets users define scroll limits to ensure an element is visible before selecting or interacting with the element. Instead of hardcoding a specific number of swipes (which can vary between devices and screen sizes), this feature allows the system to continue swiping until the desired element is located. 

Swipe Until reduces the chances of flaky tests, especially on devices with varying screen sizes, and enhances the precision of your automated tests.  

To use the Swipe Until feature, edit an automated test step, and specify the element you want the system to find while swiping through a page. Visit Adding a Swipe Until Action to a Test Case to learn more.  

3. Manual Override 

The Manual Override feature is a powerful and flexible tool designed to enhance the control and adaptability of automated test scripts during test execution. This feature addresses a common challenge in automated testing: the need to adjust test scripts in response to changes in the application’s user interface (UI). 

With Manual Override you can modify any existing test step’s component selection and specify a range of element properties, such as Text, Resource ID, XPath, Content Description, and others. This feature is crucial for maintaining tests with ease, allowing quick adjustments to test scripts based on UI updates or changes. 

Visit Manually Overriding Element Selection to learn more.  

4. Asserts 

An assert is a boolean expression used to help debug and test a condition as part of the code execution. If the condition is met (true), the program continues to run as normal. However, if the condition is not met (false), an assertion failure is triggered, and the test will halt or an error message will be displayed.  

Asserts are critical for identifying issues early in the development phase, enhancing the robustness and reliability of your tests.  

Sofy provides two assert types: component asserts and visual asserts. Component asserts are used for validating text, content, numeric values, component existence, or element properties. Visual asserts are used to validate images or elements that are not well-defined, or to ensure that your visuals are consistent. You can implement asserts during test recording or by editing a test case once it’s created.  

Visit Adding Asserts During and After Test Recording to learn more.  

5. Conditions 

Conditions enable you to define If…Else statements in your test cases. You can set up conditions to perform or skip steps based on specific criteria, such as different OS versions. For example, iOS and Android devices surface different dialog boxes asking the user to Allow or Don’t Allow certain permissions. Using conditions, you can specify how you want the system to handle these dialog boxes depending on the OS version.  

This feature allows for more dynamic and intelligent test flows, accommodating varying app behaviors and ensuring the intended execution of test cases. Conditions are set by editing an existing automated test case. Check out Adding Conditions to Test Cases to learn more.  

6. App Packages 

When you upload an app package into the Sofy app, you can immediately run the same tests on any different staging, production, and development environments, without having to duplicate tests for Android and iOS devices. This saves time and effort, making your testing process more streamlined and efficient. 

Visit Uploading Your App to learn how to get started uploading your app in the Sofy platform. 

7. Test Case Templates 

App testing is notorious for being tedious. However, with Sofy’s test case templates, you can save time by skipping the need to re-record the same common steps for multiple test cases. Instead, you can record the steps once and save them as a template, then use that template in as many automated tests as you need. This significantly reduces the effort in creating and maintaining repetitive test cases, allowing you to focus on more complex testing scenarios. 

Check out Creating a Template for Automated Tests and Inserting a Template into a Test Case to learn how to create and implement templates.  


At, we are committed to providing solutions that not only meet but exceed the needs of mobile app developers and QA testers. Our platform’s features are designed to streamline the testing process, ensuring that maintaining automated tests is no longer a daunting task, but a seamless, efficient part of your development cycle. Embrace the power of, and transform the way you approach automated testing.