Cross-platform app development has achieved meaningful results in practice with frameworks like React Native, Xamarin, and Apache Cordova. Unlike native apps, such frameworks support the development of a mobile app that can run in different platforms. Nevertheless, the literature lacks techniques to test cross-platform apps since most of the existing works focus on native Android apps. A promising strategy for native apps is to amplify test suites so that the specific characteristics of mobile apps can be tested. This paper aims to investigate the test amplification of cross-platform apps. To do so, we apply four test patterns that verify well-known characteristics of mobile computing and amplify existing test suites. The proposed approach has been implemented in a tool capable of generating Appium test scripts and was evaluated with nine cross-platform apps. The amplified test suites exercise new scenarios, uncovering 23 unique bugs in eight out of nine apps.
Cross-platform apps stand out by their ability to run in various operating systems (OSs), such as Android, iOS, and Windows. Such apps are developed using popular frameworks for cross-platform app development such as Apache Cordova, Xamarin, and React Native. However, the mechanisms to automate their tests are not cross-platform and do not support multiple configurations. Hence, different test scripts have to be coded for each platform, yet there is no guarantee they will work in different configurations varying, e.g. platform, OS version, and hardware available. This study proposes mechanisms to produce automated tests for cross-platform mobile apps. In order to set up the tests to execute in multiple configurations, the authors' approach adopts two reference devices: one running Android and other iOS. As both platforms have their own user interface (UI) XML representation, they also investigated six individual expression types and two combined strategies to locate UI elements. They have developed a prototype tool called cross-platform app test script recorder (x-PATeSCO) to support the proposed approach, as well as the eight locating strategies considered. They evaluated the approach with nine cross-platform mobile apps, comparing the locating strategies in six real devices.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.