# <img src="assets/icon.png" width="48" /> SoloPi
[![GitHub stars](https://img.shields.io/github/stars/soloPi/SoloPi.svg)](https://github.com/soloPi/SoloPi/stargazers) [![GitHub license](https://img.shields.io/github/license/soloPi/SoloPi.svg)](https://github.com/soloPi/SoloPi/blob/master/LICENSE) [![GitHub release](https://img.shields.io/github/release/alipay/SoloPi.svg)](https://github.com/soloPi/SoloPi/releases) [![API](https://img.shields.io/badge/API-18%2B-brightgreen.svg?style=flat)](https://android-arsenal.com/api?level=18) [![TesterHome](https://img.shields.io/badge/TTF-TesterHome-2955C5.svg)](https://testerhome.com/opensource_projects/82)
### English Version: [README](./README_eng.md)
> SoloPi是一个无线化、非侵入式的Android自动化工具,公测版拥有录制回放、性能测试、一机多控三项主要功能,能为测试开发人员节省宝贵时间。
### 功能特性
#### 录制回放
![录制回放](assets/replay.gif)
**[游戏录制回放使用视频](https://gw.alipayobjects.com/mdn/rms_e29b5f/afts/file/A*ym07T6nACDIAAAAAAAAAAABkARQnAQ)**
**[Native应用录制回放使用视频](https://gw.alipayobjects.com/os/basement_prod/3472d35c-bd57-4c82-8112-5dcde42fcb32.mov)**
SoloPi拥有录制操作的能力,用户只需要通过SoloPi执行用例步骤,SoloPi就能够将用户的操作记录下来,并且支持在各个设备上进行回放,这一切都能够在手机上独立完成。详见[录制回放](../../wikis/RecordCase)一篇。
SoloPi JSON 可以转化为其他自动化脚本,目前支持 Appium 和 Macaca ,可以前往 https://github.com/soloPi/SoloPi-Convertor 下载体验,欢迎Watch、Star、Fork 三连。
#### 性能工具
![性能工具](assets/performance.gif)
**[性能工具使用视频](https://gw.alipayobjects.com/os/basement_prod/1996390b-9ec8-4046-8ce8-459afa05d6c5.mov)**
**[响应耗时计算使用视频](https://gw.alipayobjects.com/os/basement_prod/4e82ca85-13fc-4de2-82ff-a9079344f5ef.mov)**
SoloPi能够记录待测应用的各项指标,你可以在悬浮窗中观察实时更新的数据,也可以对性能数据进行录制,在录制结束后查看图表;同时,SoloPi还支持性能加压,能够对CPU、内存与网络环境进行限制,复现应用在性能较差、网络环境不佳场景下的表现。
除了常规性能指标,SoloPi还提供了启动耗时计算工具,测试同学只需要点击两次按钮,就可以得到最贴近用户体验的启动耗时数据。同时,启动耗时计算工具还可以通过广播调用,可以非常方便的与UI自动化测试打通。详见[性能工具](../../wikis/Performance)一篇。
#### 一机多控
![一机多控](assets/oneToMany.gif)
**[一机多控使用视频](https://gw.alipayobjects.com/os/basement_prod/971b5467-3db0-4781-86e3-15b3907323f6.mov)**
SoloPi支持通过操作一台主机设备来控制多台从机设备,不需要在各个设备上分别进行重复冗杂的兼容性测试,能够极大提升兼容性测试的效率。详见[一机多控](../../wikis/OneToMany)一篇。
### 构建
> 开源部分包含录制回放与性能测试工具,一机多控功能由于稳定性原因暂时我们还没有开源,后续我们会继续推进。
#### 编译环境:
- macOS 10.14.3
- Android Studio 4.0
- Gradle 6.1.1
- CMake 3.6/3.10均可
- Ndk 16
- TargetApi 29
- MinimumApi 18
- **注意,构建时请将Android Studio的instant run功能关闭,否则打出来的安装包会无法使用**
### 快速开始
#### 下载配置Android SDK路径
前往<https://developer.android.com/studio/releases/platform-tools#downloads>下载对应系统版本的SDK Platform Tools,解压好后在系统环境变量中添加环境变量`ANDROID_SDK=${sdk解压路径}`。你也可以参考网上的一些adb配置文档进行准备,比如 [https://sspai.com/post/40471](https://sspai.com/post/40471)
> 对于Windows 10以上,配置完环境变量后就可以在新开启的命令行中生效,对于较老版本的Windows系统,需要重启PC才能生效,对于Linux和macOS系统,请通过`echo $ANDROID_SDK`的方式检验是否生效。
#### 开启手机的开发者模式
请打开手机设置应用,在`关于手机->软件信息`菜单下,连续点击`编译编号`一项7次,系统会提示`您已进入开发者模式`或者类似文案(不同的系统版本开发者模式开启方式略有不同)。
回到设置应用根页面,可以看到`开发者选项`一项,开启`USB调试`功能。
#### 常见问题
** 如果使用过程中有遇到问题,可以先去[FAQ](../../wiki/FAQ)查找是否有解决方法 **
对于VIVO设备,如果在开发者选项中包含“USB安全操作”,需要手动进行开启,否则录制回放与一机多控功能可能会无法正常操作
对于小米设备,需要开启开发者选项中的`USB安装`与`USB调试(安全设置)`,否则录制回放与一机多控功能会无法正常操作;此外,还需要手动开启SoloPi应用权限中的`后台弹出界面`选项,否则无法正常使用
对于魅族设备,如果待测应用属于支付、金融类应用,需要在手机管家中关闭安全支付功能,否则录制回放与一机多控功能可能会无法正常操作
对于华为设备,需要开启开发者选项中的 `"仅充电"模式下允许ADB调试`,否则断开USB线后会提示adb调试中断
对于OPPO设备,系统会10分钟自动断开USB调试,导致SoloPi不可用。如果想要保持调试稳定,需要将设备连接到电脑
**如果设备有安全输入法,请前往`系统设置->输入法`关闭安全输入法,否则例如密码等一些输入框无法正常输入**
#### 连接设备并开启wifi调试端口
请先连接设备到PC,通过下方命令检查设备是否与电脑建立好连接。
连接时,您的设备上会提示`是否允许USB调试`,请选择确定。
Windows:
```bash
%ANDROID_SDK%\platform-tools\adb.exe devices
```
macOS或Linux:
```shell
$ANDROID_SDK/platform-tools/adb devices
```
如果命令行显示出对应的设备号(如下图所示),则表示连接成功。
![建立连接](../../wiki/FirstUse/genConnection.png)
> 对于Windows系统,需要安装Android设备的驱动程序才可以连接成功,可以前往手机厂商官网下载安装对应的驱动程序(通常厂商会将驱动程序集成在手机管家程序中,可以通过下载安装手机管家配置驱动)
如果显示的不是`device`,请确认下您的设备是否已经安装好驱动,并且允许了USB调试,部分手机需要将连接模式设置为`传输图片(MTP)`模式才可正常连接。
单机场景
Windows:
```bash
%ANDROID_SDK%\platform-tools\adb.exe tcpip 5555
```
macOS或Linux:
```shell
$ANDROID_SDK/platform-tools/adb tcpip 5555
```
通常设备会显示`restarting in TCP mode port: 5555`来提示手机已开启无线ADB调试模式。
> 请确保设备处于安全的网络环境,不要随意允许ADB调试请求,以免给您带来不必要的损失。
多机场景
在设备号列表中找到您需要使用的设备,请记录下`device`字段之前的一段字母数字组合,这个是手机的序列号。
Windows:
```bash
%ANDROID_SDK%\platform-tools\adb.exe -s ${之前记录的序列号} tcpip 5555
```
macOS或Linux:
```shell
$ANDROID_SDK/platform-tools/adb -s ${之前记录的序列号} tcpip 5555
```
**下载打包好的SoloPi APK(SoloPi.apk文件),或者clone源码在本地编译,具体在SoloPi中的操作可以参考: [第一次使用](../../wikis/FirstUse)**
### 文档
- 如果你是第一次使用SoloPi,推荐你先了解SoloPi的一些[使用注意事项](../../wikis/FirstUse)
- Wiki文档: [Home](../../wikis/home)
### 代码导读
- app: 应用业务逻�
没有合适的资源?快使用搜索试试~ 我知道了~
SoloPi自动化测试工具
共694个文件
java:318个
xml:246个
html:34个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 8 浏览量
2024-04-01
22:44:49
上传
评论
收藏 32.11MB ZIP 举报
温馨提示
SoloPi是一个无线化、非侵入式的Android自动化工具,公测版拥有录制回放、性能测试、一机多控三项主要功能,能为测试开发人员节省宝贵时间。
资源推荐
资源详情
资源评论
收起资源包目录
SoloPi自动化测试工具 (694个子文件)
COPY.APACHEv2.0 11KB
COPY.LGPLv2.1 26KB
COPY.BSD2CLAUSE 1KB
COPY.BSD3CLAUSE 2KB
cpu_usage.c 9KB
memory_malloc.c 2KB
time_convert.c 1KB
stylesheet.css 11KB
replay.gif 7.73MB
oneToMany.gif 5.19MB
performance.gif 1.45MB
titlebar.gif 10KB
background.gif 2KB
titlebar_end.gif 849B
tab.gif 291B
.gitignore 86B
.gitignore 61B
.gitignore 49B
.gitignore 28B
.gitignore 7B
.gitignore 7B
.gitignore 7B
.gitignore 7B
.gitignore 7B
build.gradle 3KB
build.gradle 2KB
build.gradle 2KB
build.gradle 2KB
build.gradle 2KB
build.gradle 730B
build.gradle 697B
build.gradle 682B
build.gradle 192B
settings.gradle 159B
gradlew 5KB
NOTICE.html 52KB
AdbProtocol.html 26KB
AdbCrypto.html 18KB
AdbStream.html 14KB
AdbConnection.html 13KB
constant-values.html 10KB
index-2.html 9KB
index-1.html 8KB
help-doc.html 8KB
index-4.html 8KB
AdbCrypto.html 7KB
AdbBase64.html 7KB
AdbConnection.html 6KB
package-summary.html 6KB
AdbBase64.html 6KB
index-10.html 6KB
index-12.html 5KB
AdbStream.html 5KB
index-6.html 5KB
package-use.html 5KB
index-11.html 5KB
index-7.html 5KB
index-3.html 5KB
index-8.html 5KB
package-tree.html 5KB
index-5.html 5KB
index-9.html 5KB
overview-tree.html 4KB
AdbProtocol.html 4KB
deprecated-list.html 3KB
index.html 2KB
package-frame.html 1KB
allclasses-frame.html 1KB
allclasses-noframe.html 1017B
gradle-wrapper.jar 52KB
FunctionSelectUtil.java 80KB
CaseRecordManager.java 78KB
CmdTools.java 59KB
SettingsActivity.java 58KB
CaseStepEditFragment.java 53KB
OperationExecutor.java 51KB
LauncherApplication.java 48KB
PermissionDialogActivity.java 47KB
CaseReplayManager.java 35KB
DialogUtils.java 28KB
FloatWinService.java 27KB
TouchEventTracker.java 27KB
RecordService.java 26KB
ClassUtil.java 25KB
InjectorService.java 24KB
OperationNodeLocator.java 24KB
IndexActivity.java 24KB
FpsUtil.java 23KB
RecorderConfigActivity.java 23KB
GithubReleaseBean.java 22KB
InsecureSHA1PRNGKeyDerivator.java 22KB
OperationStepProvider.java 21KB
NewRecordActivity.java 21KB
PerformanceChartActivity.java 21KB
ImageCompareActionProvider.java 21KB
AccessibilityProvider.java 20KB
OperationService.java 20KB
Enhancer.java 20KB
RecordScreenActionProvider.java 19KB
MyApplication.java 19KB
共 694 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
进击的大海贼
- 粉丝: 1w+
- 资源: 196
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 猫咪和汤58.apk
- 浏览器.apk
- 基于matlab实现是一个matlab中的power system 中搭建的一个模型
- 基于JSP毕业设计-教学管理系统(源代码+论文).zip
- 基于JSP毕业设计-家政管理系统-毕业设计.zip
- 基于Python实现淘宝商品评论采集(含逆向)源代码
- 基于matlab实现多目标进化算法NSGAⅡ&Matlab讲解.rar
- 基于matlab实现多车辆车辆路径问题,用遗传算法编程,保证可用.rar
- 基于matlab实现多层极限学习机实现手写体识别,准确率超过99%.rar
- 基于matlab实现电力系统最优潮流程序,可以应用于电力市场下的最优潮流计算 适合电力系统专业的同仁使用.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功