farm-runner
v1.1.6
Published
Node package with Express server
Readme
@device-farm/node
Node server package for the Device Farm project - connects devices to the hub for distributed testing.
📖 Documentation
All documentation has been consolidated in the main README.
Please refer to the main README for:
- Node Configuration - Complete configuration reference
- Embedded Appium Server - Built-in Appium server setup
- ADB Log Capture - Automatic Android log capture
- iOS Automation Setup - WebDriverAgent preparation
- Node Liveness & Heartbeat System - How nodes stay connected
- Available Scripts - Commands to run the node server
🚀 Quick Start
From Root Directory (Recommended)
# Copy and edit the configuration file
cp packages/node/node.config.example.json packages/node/node.config.json
# Edit node.config.json with your hub credentials
# Then start the node server
npm run start:nodeFrom Node Package Directory
# Copy and edit the configuration file
cp node.config.example.json node.config.json
# Edit node.config.json with your hub credentials
# Then start the server
npm run start🔧 Minimal Configuration
Create packages/node/node.config.json:
{
"hubUrl": "http://localhost:3000",
"accessKey": "YOUR_ACCESS_KEY",
"token": "YOUR_TOKEN",
"name": "My Node"
}The node will automatically:
- Detect and register connected devices
- Start an embedded Appium server
- Send heartbeats to the hub
- Process automation requests
📦 What This Package Does
- Device Detection: Automatically discovers connected Android and iOS devices
- Appium Integration: Runs an embedded Appium server (no global installation needed)
- Hub Communication: Registers with the hub and maintains connection via heartbeats
- Session Management: Creates and manages Appium sessions on local devices
- Log Capture: Automatically captures device logs (ADB logcat for Android)
- Capability Processing: Handles device-specific capabilities like WDA for iOS
🔗 Related Documentation
- Complete Configuration: See Node Configuration in main README
- Database Setup: See Database Setup in main README
- iOS Setup: See iOS Automation Setup in main README
- Heartbeat System: See Node Liveness & Heartbeat System in main README
📄 License
MIT
