Over the last couple of years we’ve built a test automation platform that has tested over 150 applications, across all possible frameworks, deploying computer vision, smart locators and auto-maintenance to overcome many edge cases. We reduced execution time by 90% and tested over half a dozen mobile device labs supporting real devices and emulators. Our team had to rewrite parts of how Appium works. We shared what we learned with the community last week in a webinar.
Mobile applications can be developed in a wide range of frameworks: Flutter, React Native, Xamarin, hybrid, Cordova, native and more. Different frameworks render differently on mobile devices. This has significant implications on how test automation works on one application vs another. We discussed some of the challenges around testing React and Flutter applications. Many frameworks don’t expose unique IDs or expose objects in the object tree which are different than what’s rendered in the view so we discussed how to develop locators for cross-platform applications and why we decided to use computer vision.
Test automation requires a robust execution environment of devices. One of the most common question we get asked frequently is when to test on virtual devices and when to use real devices. We decided to address that once and for all. Since we probably did one of the most extensive hands-on research on mobile device labs and worked with quite a few, we also addressed the question of which mobile lab works best.
Many organizations set up automated tests for their mobile applications but shifted back to manual testing due to maintenance overhead. To that end we offers some tips on how to makes your tests easy to maintain (including a hint to the future).