Skip to content
HydraXMan edited this page Dec 28, 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 another team to support the mobile (Android/iOS/Appium) testing workflow.

If you are a Microsoft FTE and want to onboard to the internal Hydra Lab testing service, please visit our SharePoint site to learn more about the internal service instance.

Technical Architecture and Core Capabilities

Tech Architecture

Basics

RPC communication:

The test center service (running in the cloud) and test agent service (running on the test agent machine) communicate thru a websocket connection.

  • In agent project, 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 center project, 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.

Known Security Issues

Caused by the dependencies of Rechart

Will follow up the update of Recharts and track by this issue. https://github.com/microsoft/HydraLab/issues/111

Clone this wiki locally