What are the 9 commonly used automated testing frameworks for Android?

WBOY
Release: 2023-05-24 14:41:31
forward
1500 people have browsed it

Difficulties in automated testing of mobile APP

Automated UI testing of mobile APP has been a difficulty for a long time. The difficulty lies in the "change" of the UI, which causes Extensive maintenance of automated use cases. From the perspective of layered testing, automated testing should be performed layer by layer. The largest amount of automated testing should be unit testing, which is the easiest to implement and the easiest to detect problems at an early stage; followed by interface-level testing, which is automated for the purpose of verifying logic. Due to the relative stability of the interface, automated testing The cost is relatively acceptable; the largest automation cost is UI-level automated testing. However, the UI interface is a direct feedback to the user's effect display. Moderate, especially BVT-level automated testing is also very necessary.

In order to get rid of these, we need to introduce some automated tests to assist us. Now that I have time, I will summarize the similarities and differences of several automated testing frameworks commonly used in Android, so that testers can have a reference when choosing an automation framework!

AndroidSeveral commonly used Automated testing frameworksComparison

1. Monkey is Android SDK The built-in testing tool will send a pseudo-random user event stream to the system during the testing process, such as key input, touch screen input, gesture input, etc.) to implement stress testing of the application under development and also have log output. This tool can actually only perform some stress testing on the program. Since the events and data tested are random and cannot be customized, it has great limitations.

Another testing tool provided by the Android SDK is MonkeyRunner. Strictly speaking, MonkeyRunner is actually an API toolkit, which is more powerful than Monkey and can write test scripts to customize data and events. The script is written in Python, which requires testers to have a high skill level, so the learning cost is relatively high, which is its disadvantage.

3. Robotium is also a testing framework based on Instrumentation. It mainly conducts automated testing for a certain APK. The APK can have source code or no source code and is powerful. The disadvantage is that testers must have certain Java knowledge. Basics, understand the basic components of Android and cannot cross Apps.

4. Instrumentation is an early Android automated testing tool class provided by Google. Although JUnit could also test Android at that time, Instrumentation allows you to do more complex tests on applications, even at the framework level. , which is the basis of many other testing frameworks, can load the component under test in the same process. It has many rich high-level packages, and users can use other frameworks based on instrumentation to avoid excessive secondary development. However, Instrumentation does not support cross-application, causing frameworks based on Instrumentation to inherit this shortcoming.

5. UIAutomator is a testing framework provided by Google. It provides advanced UI testing of native Android apps and games. Basically supports all Android event operations. Compared with Instrumentation, it does not require testers to understand the code implementation details (you can use UiAutomatorviewer to capture the control properties on the App page without looking at the source code).

Based on Java, the test code structure is simple, easy to write, and low-cost to learn. Once compiled, all devices or simulators can run the test, and can run across apps (for example: many apps have the ability to select albums and open the camera to take pictures. This That’s cross-App testing).

The disadvantage of this tool is that it only supports SDK 16 (Android 4.1) and above, and is not compatible with hybrid applications and web applications.

6. Espresso is Google’s open source automated testing framework. Compared with Robotium and UIAutomator, it is characterized by smaller scale, simpler, more precise API, simple writing of test code, and easy to get started quickly. Since it is Instrumentation-based, it cannot be used between different applications.

7. Selendroid: It is a framework based on Instrumentation. It is fully compatible with the Webdriver protocol. Selendroid supports running on emulators and real devices and can be integrated as a grid node for scaling and parallel testing.

Athrun is a mobile testing framework/platform produced by Taobao, which supports both iOS and Android. The Android part is also based on Instrumentation, extending based on Android's original ActivityInstrumentationTestCase2 class to provide a complete set of object-oriented APIs.

Appium is a cross-platform open source automated testing tool and is considered one of the most powerful frameworks. In the following content, I will introduce its features and uses in detail.

AppiumAdvantages and Disadvantages

Its advantages:

①Open source;

②Support Native App, Hybird App, Web App;

③Support Android, ios, Firefox OS;

④Server is also cross-platform, you can use Mac OS X, Windows or Linux;

Its philosophy is:

Automated testing with Appium does not require recompiling the App;

supports many languages ​​​​to write test scripts, such as Java, JavaScript, PHP, python, C#, Ruby and other mainstream language;

Because WebDriver has been extended, there is no need to reinvent the wheel for automated testing. (WebDriver is a simple and fast automated testing framework for testing WebApps, so testers with experience in Web automated testing can get started directly);

Automated mobile testing should be open source;

The above is the detailed content of What are the 9 commonly used automated testing frameworks for Android?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!