赞
踩
Hydra Lab 是什么?
Hydra Lab 是一个基于 Spring Boot & React 构建的服务框架,帮你快速构建一套集测试运行部署、测试设备管理、低代码测试等功能于一身的跨平台云测服务,开箱即用。它使开发团队能够快速建立一个可自我管理的智能云测试基础设施。在 Hydra Lab 的帮助下,你可以:
搭建:创建一个新的云测试网络。
加入:以最小的代价将你的测试设备部署到现有的网络上。
Hydra Lab 的特性包括:
center-agent 分布式设计下的可扩展测试设备管理;测试任务管理和测试结果可视化。
支持 Android Espresso Test。
支持在不同平台上进行 Appium(Java) 测试:Windows/iOS/Android/浏览器/跨平台。
无用例的自动化测试:Monkey test,智能探索测试
请访问我们的 GitHub 项目 Wiki 以了解开发环境的配置流程: 贡献指南
Hydra Lab agent 支持的环境:Windows, Mac OSX, 和Linux (Docker).
支持的平台和框架:
Appium(Java) | Espresso | |
---|---|---|
Android | ✔ | ✔ |
iOS | ✔ | x |
Windows | ✔ | x |
Web (浏览器) | ✔ | x |
Hydra Lab 提供了一个名为 Uber 开箱即用的 docker 镜像。你可以按照下面的步骤,启动内置了一个 center 实例和一个 agent 实例的 docker 容器:
第1步. 从 https://www.docker.com 下载并安装 Docker
第2步. 在你的机器上运行
只需选择以下其中一个命令,即可开始您在 Hydra Lab 的体验:
1. 使用本地存储服务
Hydra Lab 默认使用本地文件系统作为存储,不需要额外的环境变量:
docker run -p 9886:9886 --name=hydra-lab ghcr.io/microsoft/hydra-lab-uber:latest
2. 使用第三方存储服务
Hydra Lab 目前支持 Azure Blob 存储 作为云文件存储解决方案,以持久化存储多种文件类型,例如日志文件、视频、应用程序包等。欢迎为集成其他第三方存储服务做出贡献。(附上此模块的 UML 类图作为参考:存储服务架构。)
根据存储服务的类型,你需要在命令中额外指定一些环境变量。
如果你想要使用 Azure Blob 存储,请访问你的 Azure 门户,创建一个 Azure Blob 存储账户,并获取 connection string。简要步骤:登录 Azure -> Portal -> Storage Accounts -> 创建新的存储账户(你可以限制容器的公共读写) -> 在创建的存储账户中, 找到 Access Keys
页面 -> 复制 Connection string
。
你可以将以下内容写入一个配置文件(例如 env.properties):
- STORAGE_TYPE=AZURE
- BLOB_CONNECTION_STR=${YOUR_BLOB_CONNECTION_STR}
然后将文件路径传给 docker container:
docker run --env-file env.properties -p 9886:9886 --name=hydra-lab ghcr.io/microsoft/hydra-lab-uber:latest
或者设置环境参数 -e 直接运行:
docker run -e STORAGE_TYPE=AZURE -e BLOB_CONNECTION_STR=${YOUR_BLOB_CONNECTION_STR} -p 9886:9886 --name=hydra-lab ghcr.io/microsoft/hydra-lab-uber:latest
第3步. 访问前端页面并查看你的已连接设备
Url: http://localhost:9886/portal/index.html#/ (或自定义的端口号).
开始享受你的探索之旅吧!
注意:Uber 现在只提供安卓系统的Espresso测试功能,更多的功能请参考本节:对于 Hydra Lab 用户
你也可以用以下命令单独运行中心 java Spring Boot 服务(一个可运行的 Jar):
构建和运行过程需要用到 JDK11+ | NPM | Android SDK 平台工具。
第1步. 构建并运行 Hydra Lab center 服务。
- # 在项目根目录,切换到 react 文件夹来构建 Web 前端文件。
- cd react
- npm ci
- npm run pub
- # 回到项目根目录,构建 center 可运行的 Jar 。
- cd ..
- # 对于 gradlew 命令,如果你使用的是 Windows 系统,请用`./gradlew`或`./gradlew.bat`替换。
- gradlew :center:bootJar
- # 运行并访问 http://localhost:9886/portal/index.html#/
- java -jar center/build/libs/center.jar
- # 然后访问 http://localhost:9886/portal/index.html#/auth 来生成新的 agent ID 和 agent secret 。
如果你遇到了以下错误:
Error: error:0308010C:digital envelope routines::unsupported
, 设置环境变量NODE_OPTIONS
的值为--openssl-legacy-provider
并重启命令行。
第2步. 构建并运行 Hydra Lab agent 服务。
- # 在项目根目录下
- cd android_client
- # 编译Android端APK
- ./gradlew assembleDebug
- cp app/build/outputs/apk/debug/app-debug.apk ../common/src/main/resources/record_release.apk
- # 如果没有安装 Android SDK 平台工具,可以在 https://github.com/microsoft/HydraLab/releases 下载已经编译好的 APK 文件。
- # Back to project root
- # 在项目根目录下,复制示例配置文件并更新:
- # YOUR_AGENT_NAME, YOUR_REGISTERED_AGENT_ID 和 YOUR_REGISTERED_AGENT_SECRET 。
- cp agent/application-sample.yml application.yml
- # 然后构建 agent jar 并运行它
- gradlew :agent:bootJar
- java -jar agent/build/libs/agent.jar
第3步. 访问 http://localhost:9886/portal/index.html#/ 并查看你的已连接设备
Technical design overview:
对于Hydra Lab的使用者:
在Hydra Lab测试服务中触发一次测试任务
部署测试代理服务
创建Appium UI测试自动化项目
它已经支持以下Microsoft产品的UI测试自动化:
Microsoft Phone Link(Windows UWP应用程序)和 Link to Windows(Android应用程序)
Microsoft Launcher (Android)
Microsoft Outlook/Edge (Android/iOS)
Microsoft Fluent UI Android/Yammer Android
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。