Skip to content
Ran Tao edited this page Aug 29, 2022 · 36 revisions

Introduction: What is Hydra Lab?

Hydra Lab is a framework that can help you easily build an intelligent cloud testing platform utilizing the devices in hand.

Hydra Lab enables dev team to quickly build a self-manageable and intelligent cloud testing infrastructure. With the help of Hydra Lab, you can:

  • Either: Build a new cloud testing network with Hydra Lab released packages.
  • Or: Onboard your test device to an existing network with low-cost and small effort. Hydra Lab support automated test cases based on Appium(Java) for Android/iOS/Windows/Web(Browser), or Android Espresso.

And more specifically, with the help of this cloud testing infrastructure, the dev team can gain the ability to:

  • Check the status & manage the connected devices.
  • Upload test app binaries/packages, and then specify and deploy a test task.
  • Query test results and view visuals and videos of the test run.
  • Manage user permissions and access to test agent.

In short, any dev team can leverage this and quickly (within 1 week) set up a test automation infrastructure using a few local machines and real phones in hand and share it with other team to support the mobile (Android/iOS/Appium) testing workflow.

Technical Architecture and Core Capabilities

Tech Architecture

Basics

RPC communication:

The network_center and network_agent communicate thru websocket connection.

  • In network_agent, com.microsoft.launcher.devices.socket.AgentWebSocketClient deals with the Client side connection, data transferring and scheme parsing. com.microsoft.launcher.devices.service.AgentWebSocketClientService deals with the business logic.
  • In network_center, com.microsoft.devices.network.center.socket.CenterDeviceSocketEndpoint deal with serving the WebSocket clients, com.microsoft.devices.network.center.socket.CenterDeviceSocketEndpoint deals with session management, business logic and auth.
Clone this wiki locally