Mobile UI Automation Practices and Tools: WalmartLabs, Taobao Performance Testing, and More
The article presents a comprehensive overview of mobile UI automation and performance testing practices, covering WalmartLabs' Appium-based framework, Taobao's SDK timing and frame‑drop analysis, quality assurance systems, crash analysis, static code scanning, AppCrawler, Macaca, MockServer usage, and Docker‑based test environments.
Mobile UI automation remains a hot topic, with many companies deeply exploring areas such as Mock, Docker, security, static code analysis, performance, and crash analysis.
WalmartLabs Mobile Automation Testing
Key points:
Only SDETs are involved.
Automation is built with Appium.
Team includes Robotium founder Renas Reda.
UI automation code resides in the app source; developers use it for functional testing while SDETs use it for integration testing.
Robotium is used for Performance Requirement verification, main‑flow validation, and device compatibility testing.
Concurrent execution of test cases.
Ensuring robustness and maintainability of mobile UI automation by using mocking techniques and a self‑developed tool shifu that intercepts requests and returns stubbed data.
Automation scripts run on a cloud service that records execution videos.
Permission to modify development code for easier element location.
WD.js
https://github.com/admc/wd A Node.js implementation of a WebDriver/Selenium 2 client.
Kunlun
https://github.com/ywang24/kunlun A second‑level wrapper of WD.js with many custom APIs.
Admiral
https://github.com/TestArmada/admiral A visually appealing system for tracking cross‑browser end‑to‑end test results.
Taobao Mobile Performance Testing Practice
Key points:
Page response time is measured using a unified SDK timing method.
Smoothness is evaluated by a frame‑drop algorithm that distinguishes user‑initiated operations, measuring at the View level via Choreographer.FrameCallback to calculate skipped frames.
Performance testing is introduced in three stages: offline testing, gray‑release testing, and full‑release testing.
Performance issue analysis includes automatic collection of abnormal samples, preventive measures, and a trace analysis system.
Application Quality Assurance System Design Practice
Key points:
Multi‑branch concurrent development requires a quality assurance system that can handle frequent integrations.
Testers must confirm the scope of code changes, understand code logic, and maintain a knowledge base of code functionality.
BUGLY Crash Analysis
Key points:
Top‑5 crash types:
java.lang.NullPointerException
java.lang.ClassNotFoundException
java.lang.IllegalArgumentException
android.view.WindowManager$BadTokenException
java.lang.IllegalStateException
A mature crash monitoring product supporting both Android and iOS has been built.
Alibaba Game Static Code Scanning
Key points:
Incremental mode without function or severity concepts.
Uses findbugs + lint.
AppCrawler Tool by Si Han
Key points:
Solves automatic generation of mobile UI automation test cases, supporting both Android and iOS.
Based on Appium.
Implemented in Scala.
Automated execution using a crawler approach.
Macaca Cross‑Platform Automation Framework
Key points:
Provides an integrated solution for both Web UI and mobile UI automation.
Developed by Alibaba front‑end engineers using Node.js.
MockServer Application in Mobile Testing
Key points:
Optional tools:
SoapUI (API testing)
Fiddler (packet capture)
Charles (Mac packet capture)
Custom frameworks:
NodeJS/Express (Node.js web framework)
Swagger Editor (API design tool that can generate MockServer code)
Sinatra (lightweight Ruby web framework)
Dedicated mock frameworks:
MounteBank (JavaScript)
WireMock (Java)
MOCO (Java)
Docker‑Based Test Environment Solution
Key points:
Test environments are hard to maintain due to configuration and test data complexity.
Docker challenges include needing restarts for upgrades or DOCKER_OPTS changes, large image sizes with repositories that do not support deletion, and network mode selection.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
360 Quality & Efficiency
360 Quality & Efficiency focuses on seamlessly integrating quality and efficiency in R&D, sharing 360’s internal best practices with industry peers to foster collaboration among Chinese enterprises and drive greater efficiency value.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
