Automated Testing
Automated testing is essential for building reliable, consistent, and high‑quality mobile applications. WaveMaker's React Native platform provides a comprehensive automation testing framework that allows developers to simulate real user interactions and validate app behavior across platforms, devices, and workflows.
WaveMaker's automation testing framework supports:
- Functional and end‑to‑end workflows
- UI component interaction testing
- Regression validation
- Cross‑platform and device testing
- Continuous integration pipelines
Automation tests can be executed locally or in the cloud using platforms like BrowserStack.
Core Automation Framework
WaveMaker leverages the following tools:
- Appium -- Cross‑platform mobile automation tool
- WebDriverIO (WDIO) -- Test framework and runner
- Mocha -- JavaScript test runner
- Allure Reports -- Test reporting and visualization
- BrowserStack -- Cloud device testing platform
- Jenkins -- CI/CD automation server
Setting Up Automation Testing
Prerequisites
- Node.js and npm
- Java JDK 11 or higher
- Android Studio with SDK tools
- Appium CLI
- WebDriverIO CLI
Installing CLI Tools
npm install -g appium
npm install -g @wdio/cli
Initialize your test framework:
npx wdio config
Test Project Structure
Typical structure:
/test/specs/-- Test scriptswdio.conf.js-- Configuration file
Example Test
describe('App Launch', () => {
it('should display welcome screen', async () => {
await expect($('~welcome')).toBeDisplayed();
});
});
WebDriverIO Configuration Example
exports.config = {
runner: 'local',
path: '/wd/hub',
specs: ['./test/specs/**/*.js'],
maxInstances: 1,
capabilities: [{
platformName: 'Android',
'appium:deviceName': 'Android Emulator',
'appium:platformVersion': '11.0',
'appium:app': '/path/to/app.apk',
'appium:automationName': 'UiAutomator2'
}],
framework: 'mocha',
reporters: ['spec'],
services: ['appium'],
};
Test Execution
Local Execution
- Start emulator or simulator
- Start Appium server
- Run:
npx wdio run wdio.conf.js
Cloud Execution
Cloud testing enables:
- Parallel execution
- Real device testing
- Wider OS coverage
CI/CD Integration
Typical pipeline:
- Export project from WaveMaker
- Build APK/IPA
- Upload artifacts
- Execute automation tests
- Generate reports
Reporting
Allure Reports provide:
- Execution summaries
- Logs and screenshots
- Failure diagnostics
Best Practices
- Use stable selectors (
testID) - Focus on critical workflows
- Integrate testing into CI/CD
- Maintain reusable test components
Summary
WaveMaker React Native automation testing enables scalable, reliable validation of mobile applications using Appium, WebDriverIO, Mocha, Allure Reports, BrowserStack, and Jenkins.