To Run or Not to Run? - We are super excited to say that the long anticipated If-Else logic is finally here. We have continuous conversations with the community and this feature is a direct result of this great relationship. Many users have asked for it and we are delivering! In addition to the already robust functionality of our AI powered test recorder, there is now the option to add one or more conditions to any of your test steps.
What this essentially means is that you can setup your test to decide in runtime which steps should run and which not. This is simply achieved by adding one or more conditions to any of the steps. These conditions are being evaluated before the step should be executed and based on the result, our Agent decides if it should run or not.
Consider the following example: Let's say you have an app that behaves differently on a Sunday than on any other day (there is some extra message that is displayed on a Sunday). In this case, you want to validate the extra message only when it's relevant. However, you have the test running after each CI build, and you cannot know for sure when it will happen. So what can you do? One of the options is to use the Date-Time Operations Addon to extract the current weekday, save it to a test parameter and then define a condition for the message validation based on that parameter. This way, the validation step will only run on a Sunday. You can easily have a test that will execute one sub-test if a certain condition is met and another sub-test in case the condition is not met.
Now for the details - Each step (a simple one or an entire sub-test) now has a conditions section. Select a step --> Locate the conditions section --> Add you conditions --> Done! After saving the step you will see an indicator on the relevant step. This indicator will also be shown in the reports on the conditioned steps. When one of the conditions is not met, the step will be skipped and the report will display the actual evaluation result of each of the defined conditions in order to allow easy troubleshooting.
Some extras - Besides the recorder and the generated reports, if you choose to generate code, each conditioned step will be wrapped in an if block to provide full correlation between the recorded and the coded test. The conditions are also presented in generated test documents.
Sharing is Caring - We've created a dedicated Share Center menu (you can find it in the top right corner) to allow even easier sharing and collaboration. From now on, besides adding teammates to your TestProject account, you can share your great tests across multiple accounts. Have a useful SAP test that might help a friend? Easy, just click on the Share Test icon of the test you want to share, and write your friend's email. Once your friend gets the share message, the test will be visible in the new Shared With Me section in his own account. If you make it a habit, you can easily manage all your shared tests in the Shared By Me section. When a user accepts a test, a copy is being created in one of his projects. If you update your shared tests in the future, your friend will get an indication of the update (unless he chooses to decline your share).
Here is the share center menu (1) with the new sharing options (2):
And here is the share wizard that is displayed when you share your tests:
Another option is to use the share link without specifying any particular emails. For this, open the context menu of the desired test and click on the Get Direct Link icon . Copy the link, send it to friends or post it on the internet if you want to share it with everyone.
In case you want full collaboration (recommended for teams), you can always invite your friends and colleagues to join your account from the users management screen or simply from the brand new share center menu.
iOS Performance - As a constant effort to improve user experience and help our community to create great tests in minimum effort and time, in this version we've added two new element location strategies for iOS tests: iOS Predicates and Class Chain Queries to provide great flexibility and improved performance when dealing with iOS application elements.
Keep it Simple - When working with any application for a long time it is very important for it to be as efficient as possible. TestProject is no exception and therefore we are working tirelessly to improve the platform in that department as well. In this version, we've reorganized some of the modules and made navigation quicker by skipping unnecessary steps. We got rid of the previous Home screen and now the main screen is your Project screen as it is the most used one. Switching and managing projects is now easily achievable from the project menu on the left-hand side.
So to sum this up - Instead of Home menu, it is now called Project and it will bring you directly into the last project you were working on. If you click on the Reports menu, you will instantly get the reports of the same project. While in reports, you'll see the same projects menu on the left-hand side and you can switch to other projects without leaving the reports section at all. In case you want to see the Reports Dashboard with all the projects you can find it in the reports menu.
Your Health is Always a Priority - In the previous version we've introduced some cool Selenium powered AI capabilities to our web recorder and execution flows. Broken elements became self-healed in most cases, which means your automation will continue to run even if some element properties were changed. Our AI will use alternative strategies to locate the missing element and in case of success will adjust your tests so they would run faster the next time. We are excited to say that exactly the same AI self-healing features are now available for mobile as well, both for iOS and Android tests.
Where Are All The Elements? - After introducing self-healing and the enhanced multi locator elements, we are making sure all these advanced cool features would be as easy to use as possible. In this case, we've added a small but very useful shortcut to easily locate all the elements related to a specific application. When browsing through the defined apps of your projects, click on the icon to instantly navigate to the associated folder that will contain all the elements of the app. Please note that in case an application doesn't have any elements that were created in a recording session, this icon will not be visible.
You Can Do Both - We've eliminated the restriction that prevented you from using the platform while you have a web recording session in progress. Instead, you will see a message at the bottom of the screen indicating that a web recording session is in progress, but other than that, feel free to continue using TestProject. This joins the already existing option to keep a device monitor screen open while using the platform (open the device from the local agent menu and it will be kept open until you close it).
In some rare cases iOS apps failed installing on devices.
Some iOS devices were not detected by the agent.
After the computer returns from "sleep" state, there were some cases that the agent got stuck in "connecting to server ..." mode.
Starting a new recording session while another one is open was causing the agent to restart.
In some cases when custom capabilities were provided, the agent was unable to start execution.
Improved stability of large data-driven executions.
Nested tests with inverted result steps (with recovery test behavior defined) were aborting execution.
In some cases steps were skipped even when the recovery test was set to continue.
Text was shown as typed although nothing was actually typed on the device.
In some rare cases an "InvalidElementStateException" occurred when trying to swipe on Android devices.
Fixed mirroring issues with some Samsung devices.
Recorder will no longer close unexpectedly while executing tests.
Some iOS clicks were failing although elements were found correctly.
Parameters editor was freezing when pressing CTRL+A in some fields.
Local execution was unable to start due to socket port unavailability issues.
Generated C# code was sometimes failing with a "NullReferenceException" in case the test used Addons.
Internet Explorer 11
Internet Explorer 11
Android: 5.0 (Lollipop) - 11.0
iOS: 10 - 14
Windows 7, 8, 8.1, 10
macOS 10.14, 10.15
Ubuntu 16.04, 18.04