A complete collection of APP automated testing tools

1. UI automation testing tools

1. uiautomator2

openatx is an open source UI automation tool that supports Android and iOS. The main programming language is Python. The API design is simple and easy to use, and it is also very popular in the open source community.

Install:

pip install --upgrade --pre uiautomator2# Or you can install directly from github sourcegit clone https://github.com/openatx/uiautomator2pip install -e uiautomator2

2. Appius

A very mature APP UI automation tool based on Node.js, which supports multiple language development and is very popular in the testing circle. It can be said to be a benchmark product in the field of APP UI automation. If you don't know Appium, you are embarrassed to say that you are in the testing field.

3. ATX-Test

A UI automation testing framework based on uiautomator2 and unittest packages. The project author has already completed the framework design, configurability, underlying device connection, log module, and reporting module. Users only need to write PageObject and script logic, which greatly improves the usability of uiautomator2. Not only that, the project now supports Monkey operation.

4. Airtest

A UI automated testing tool open sourced by NetEase uses image recognition and UI control retrieval technology to make game testing simple and fast. It supports Android, iOS, Windows, Unity, Cocos2dx, Egret Engine, and WeChat applet. It is easy to get started and friends who are game testers can experience it.

5. ATXServer2

Mobile device management platform supporting Android and iOS. You can check the status of the test phone through the web interface, and remotely control the phone, which is very helpful for testing compatibility. Easy to deploy and supports docker-compose deployment.

6. STF

The remote mobile device management platform supports Android and iOS real device management and is very powerful.

7. Appetizer

Very easy to use. It can perform APP UI automated testing, and can also support APP stability testing, providing GUI interface operations, which is extremely easy to use and meets daily UI automation needs. Unfortunately, only some components are open source.

2. APP stability testing tool

8. UICrawler

App UI traversal & Monkey tool based on Appium, supports iOS and Android

9. Maxim

It is known as a smart monkey, and everyone who has used it finds it really delicious. It supports native monkey, traversal control, black and white lists and other functions, and also encapsulates log files that are easier to parse. With it, you no longer need to use the native monkey.

10. AppCrawler

An app crawler tool based on automatic traversal. It supports android and iOS, and supports real machines and simulators. The biggest feature is flexibility. The traversal rules can be set through configuration.

3. APP performance testing tools

11. SoloPi

SoloPi is a wireless, non-intrusive Android automation tool. The public beta version has three main functions: recording and playback, performance testing, and multiple controls on one machine, which can save valuable time for test developers (official introduction). Generally used for APP performance testing.

12. GT

Tencent's open source APP portable debugging platform can quickly perform performance tests on APPs (CPU, memory, traffic, battery, frame rate/fluency, etc.), view development logs, view crash logs, and capture network data packets. , debugging of APP internal parameters, real machine code time consumption statistics, etc.

Using GT, you can quickly perform performance tests on APP (CPU, memory, traffic, power, frame rate/fluency, etc.), view development logs, view crash logs, and network using just a mobile phone without connecting to a computer. Capture of data packets, debugging of APP internal parameters, real machine code time consumption statistics, etc. If you feel that the functions provided by GT are not enough to meet your needs, you can also use the basic API provided by GT to develop your own GT plug-in with special functions to help you solve more complex APP debugging problems.

GT supports two mobile platforms, iOS and Android, including:

The iOS version is a Framework package, which must be embedded in the APP project and compiled into an APP with GT before it can be used; both iPhone and iPad applications can support it. The Android version consists of a directly installable GT Console APP and GT SDK. The GT Console can be installed and used independently. The SDK needs to be embedded in the application being debugged and use the GT Console for information display and parameter modification.

4. Packet capture tool

13. AnyProxy

Alibaba's open source packet capture tool can be developed based on Node.js. Usage scenarios: app crawler, interface data analysis, etc.

14. mitmproxy

The packet capture tool based on Python is more friendly to pythoners. Its main function is to collect packet capture data for subsequent analysis.

1. Common application modes

    Native

    Hybird

    H5

    React Native

2. Commonly used debugging tools

    Android platform

     adb

    ddms

    aapt

    monkey

    monkeyrunner

    emulator

    hierarchyviewer

    monitor

    UIAutomatorviewer


    iOS platform

    acts

    xcode

    instruments

    codesign

    iExplorer

    xcrun

3. Common UI automation frameworks

    Android platform

    Instrumentation

    Appius

    A robot

    Instrumentation

    Athrun

    Monkey

    MonkeyRunner

    UIautomator

    Selendroid

    Calabash-Android

    Espresso

    cafe

    Macaca


    iOS platform

    UIautomation

    Frank

    Appius

    Monkeytalk

    Calabash-iOS

    iOS-driver

    XCUITesting

    TuneupJs

    YNM3K

4. Common unit testing frameworks

    Android platform

    Robolectric

    Mockito

    RxJava

    Instrumentation

    AndroidJUnitRunner

    Espresso


    iOS platform

    XCTest

    GHUnit

    OCUnit

    OCMock

    OCMockito

    Wait

    OCHamcrest

5. Commonly used packet capture tools

    Fiddler

    Charles

    Tcpdump

    Wireshark

    BurpSuites

    Third-party proxy server (such as: Anyproxy, mitmproxy, browsermob-proxy)

6. Weak network simulation

    Fiddler

    Charles

    ACT(Augmented Traffic Control by facebook)

    iOS developer mode

    Other speed-limiting software, such as various portable WIFI, routers, network cards, etc.

7. Commonly used special testing tools

    Android platform

    Integrated tools

    GT (Tencent open source)

    Easy to test (Taobao is not open source)

    emmagee (NetEase open source)

    iTest (iFlytek is not open source)


    CPU

    DDMS

    Monitor

    TraceView

    ADB Shell

        /proc/stat && /proc/%pid%/stat

        Top

        dumpsys cpuinfo

     Android API


    Memory

    ALONG WITH

    DDMS(or Monitor)

    Android Studio Monitor

    Allocation Tracker

    LeakCanary

    ADB shell

      dumpsysmeminfo %package_name% && dumpsys     

       meminfo %pid%

       top

    procrank

    Android API

    Memory Leaks(iOS)


    Traffic

    Tcpdump

    ADB shell

        /proc/uid_stat/uid/tcp_send (upload traffic)

        /proc/uid_stat/uid/tcp_rcv (download traffic)

    Wireshark

    Fiddler

    Charles

    Android API (version restrictions)


    FPS

    ADB shell

       ​ ​ service call SurfaceFlinger 1013 (demand root)

        dumpsys SurfaceFlinger

       Dumpsys gfxinfo %packagename% (version restriction)

    Android developer mode-GPU rendering mode analysis

    High speed camera


    Start Time

    Cold start definition (starting the APP for the first time without data)

    Hot start definition (start APP after BACK exits APP)

    Logcat(Android 4.4+)

    am start -W [packageName]/[packageName.MainActivity]


    Power consumption (electricity)

    Android platform

    dumpsys batterystats (version limit)

    Decompile and view power_profile.xml

    Battery Historian Tool (version restrictions)

    Android API


    iOS platform

    Developer options ->logging ->start recording + Instrument


    Power consumption tester, such as Agilent

8. Static scanning

    Android platform

    FireWire

    Findbugs

    Infer

    Sonar

    Lint

    P3C (developed by Alibaba based on PMD)

    PMD

    CheckStyle

    360 Code Guard (Business)

    Fortify (Business)

    Coverity (Business)


    iOS platform

    OClint

    infer

    scan-build

    Clang Static Analyzer

9. Code Coverage

    JaCoCo

    Roof

    Emma

    Code Coverage in Xcode(iOS)

10. Commonly used cloud testing platforms

    Free and open source

    STF


    Business (free for a limited time)

    The test

    Baidu MTC

    Ali MQC

    Tencent UTest

    Neusoft Easy Test Cloud

    Tencent WeTest

    TestBird

    Huawei Cloud

    Perfect

    LessPainful

    TestDroid

11.Continuous integration

    Jenkins

    Travis CI

    Buildbot

    Strider

    Integrity

    GO

12. Monitoring SDK

    Probe

    BlockCanary

    LeakCanary

    Steamy

    crashlytics

    ​ Friendship

    NetEase Cloud Capture


              [Below is the most complete software test engineer learning knowledge architecture system of 2023 I compiled]


1. Python programming from entry to proficiency

2. Practical implementation of interface automation projects  

3. Web automation project actual combat


4. Practical implementation of App automation project  

5. Resumes of first-tier manufacturers


6. Test and develop DevOps system  

7. Commonly used automated testing tools

8. JMeter performance test  

9. Summary (little surprise at the end of the article)

life is long so add oil. Every effort will not be disappointed, as long as you persevere, you will eventually be rewarded. Cherish your time and pursue your dreams. Don’t forget your original intention and forge ahead. Your future is in your control!

Life is short and time is precious. We cannot predict what will happen in the future, but we can control the present. Cherish every day, work hard, and make yourself stronger and better. With firm belief and persistent pursuit, success will eventually belong to you!

Only by constantly challenging yourself can you constantly surpass yourself. Keep pursuing your dreams and move forward bravely, and you will find that the process of struggle is so beautiful and worthwhile. Believe in yourself, you can do it!​ 

Finally, I would like to thank everyone who reads my article carefully. Reciprocity is always necessary. Although it is not a very valuable thing, if you can use it, you can take it directly:

This information should be the most comprehensive and complete preparation warehouse for [software testing] friends. This warehouse has also accompanied tens of thousands of test engineers through the most difficult journey. I hope it can also help you!​ 

Guess you like

Origin blog.csdn.net/qq_48811377/article/details/134928185
Recommended