search
HomeOperation and MaintenanceSafetyWhat are the 9 commonly used automated testing frameworks for Android?

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!

Statement
This article is reproduced at:亿速云. If there is any infringement, please contact admin@php.cn delete

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.