一、工具意义

  1. 不依赖 PC 而直接在端上完成常规的自动化测试,提升自动化测试体验
  2. Soloπ 可以在不侵入被测应用的前提下,基于系统的辅助功能以及图像匹配能力的智能查找算法,能够对控件进行精准定位,在端上实现了控件查找能力。Soloπ 通过无线 ADB 方案对 Android 应用进行提权,避开了端上应用受系统权限管控的限制,具备了原本 PC 自动化框架借助于 ADB 工具才拥有的便捷操控(如点击、滑动、输入等),在端上实现了事件驱动的能力。
  3. 无线 ADB 方案:目前市面上的自动化测试、性能测试方案,大多是基于移动设备的 ADB 能力,通常需要 PC 来驱动。Android 系统为了测试、开发人员更好地进行调试,还提供了一种基于网络通信 (Socket) 的 ADB 连接模式,这种模式不需要 USB 连接,只需要保证网络连通即可远程控制设备,因此设备的控制端就不局限于 PC 一种,任何按照 ADB 通信协议与调试端口通信的设备,包括 Android 设备自身,都可以替代 PC 的角色。

总体简单来说:

SoloPi是一个无线化、非侵入式的Android自动化工具,公测版拥有录制回放、性能测试、一机多控三项主要功能,能为测试开发人员节省宝贵时间。

二、工具安装

1. 用Chrome打开网址下载Solopi.apk,然后安装到手机

下载地址:Releases · alipay/SoloPi · GitHub

手机安装好如下图所示:

2.电脑端环境配置

2.1、电脑端下载Android SDK,安装到电脑(之前ui自动化安装就不过多说了)

下载地址:https://developer.android.com/studio/releases/platform-tools

2.2、电脑端安装完成后启动Android Studio,安装对应安卓版本工具

3、配置SDK环境变量

3.1、环境变量中添加ANDROID_HOME

3.2  系统变量中添加SDK的Path路径分别指向platform-toolstools

测试是否配置成功→在DOS下面输入adb version,出现如下图所示界面,表示安装配置成功

3.3 开启手机开发者模式

3.4 链接adb

  1. 通过adb devices 获取手机id
  2. 通过命令adb tcpip 5555 配置链接端口

3.5  Android机启动Soloπ

第一次启动Soloπ时,会申请读写权限

Soloπ第一次使用各项功能时,会提示该功能所需要的各项权限,如下图所示:

默认会申请以下权限:

  1. adb 权限
    请勾选“一律使用这台计算机进行调试”,点击“确定
  2. 悬浮窗权限(直接授权)
  3. 添加到后台白名单(添加就行了)
  4. 动态权限申请(授权)

至此,全部安装授权完成,可以使用了~

三、工具使用

1、录制回放

优点:用户无需编写任何代码情况下,实现了一套纯端上的录制回放运作模式,克服了传统自动化框架中环境依赖多、驱动靠 PC、测试代码不易编写等不足,提供了更好的工具使用体验。

目前测试可采用此种方法,进行上线前,功能回归

使用方法:

  1. 点击录制-选择待测应用-输入用例名称、输入用例描述-开始执行-进行各种操作、断言
  2. 回放:可以单条用例回放,也可以批量回放。可导出用例,用于其他手机端使用
  3. 回放结果:成功/失败,执行操作、参数、回放状态、失败的节点可以显示出来

2、性能测试

在无线 ADB 方案的基础上,提供了一套使用便捷、数据比较完善的性能检测工具,能够监控 CPU、内存、FPS、耗电、网络流量等常规指标,其中 CPU、内存为进程维度指标,FPS、网络流量为应用维度指标。

除了采集常规性能指标,Soloπ 还加入了页面加载耗时计算的功能,能够简单快速的获取从用户操作到屏幕变化停止的时长,直观反映用户体感的加载耗时。

3、一机多控

多机联动的操作模式。在以往的兼容性测试中,测试同学往往需要在多台设备上重复进行测试,这种工作不仅费时费力,而且容易产生遗漏。一机多控(操作一台设备,其他设备都会同步联动)使得业务同学不再需要执行重复操作,可以将注意力更多地放在待测界面在不同设备型号、分辨率或系统版本的显示效果上。

Soloπ 工具使用见解相关推荐

  1. 获利委托和止损委托_将新的获利控制和见解扩展到发布者

    获利委托和止损委托 We're evolving our features to give game publishers more control over the revenue they gen ...

  2. 数字化转型 数字分析_数字化转型背后的公司领先于开放的领导者

    数字化转型 数字分析 (编者注:<开放式组织>丛书中 的最新卷<开放式组织领导者手册第二版> 今天在Opensource.com上首次亮相.这是该书的简介.) 专业服务提供商W ...

  3. drupal 使用补丁_使用Drupal解决大学需求

    drupal 使用补丁 网络出版和体育媒体行业的资深人士, 杰夫Diecks导致专业的服务,并在客户交付Mediacurrent ,是Drupal社区的活跃成员. 杰夫还为当地的路易斯安那Drupal ...

  4. 5显示日志_如何在 Linux 中管理日志 | Linux 中国

    Linux 系统上的日志文件包含了很多信息--比你有时间查看的还要多.以下是一些建议,告诉你如何正确的使用它们--而不是淹没在其中.-- Sandra Henry-stocker Linux 系统上的 ...

  5. pinterest数据科学家访谈

    介绍 (Introduction) Pinterest, Inc. is a social media web and mobile application company founded in 20 ...

  6. 项目管理协会(PMI)人才三角

    PMP项目管理专业人士 目录 文章目录 PMP项目管理专业人士 目录 项目管理协会(PMI)人才三角 项目管理协会(PMI)人才三角 近期,PMI发布了新版的人才三角(PMI Talent Trian ...

  7. 中国人工智能学会通讯——从语料库中习得的语义包含类人的偏见

    摘要:机器学习是一种通过发现现有数据的模式来获得人工智能的方法.在这篇文章中,我们证明将机器学习应用于普通人类语言会产生类人的语义偏见.我们采用被广泛使用的纯统计机器学习模型,利用内隐联想测试的测量方 ...

  8. 横河电机与Power Factors宣布可再生能源资产性能管理平台的经销协议

    该平台与横河电机的产品组合相集成,可实现太阳能.风能和储能项目的"传感器到企业"解决方案 东京和旧金山--(美国商业资讯)--横河电机株式会社(Yokogawa Electric ...

  9. Adyen宣布开设芝加哥和马德里新技术中心;Viettel集团任命Tao Duc Thang为董事长兼总经理 | 全球TMT...

    Adyen宣布开设芝加哥和马德里新技术中心.世界众多领先公司首选的全球性支付平台Adyen宣布其将在芝加哥和马德里开设新的技术中心.这一举措表明了公司对技术团队的长期投资,以继续构建一个满足自身客户需 ...

最新文章

  1. 四大科技巨头都如何利用AI来相互竞争?
  2. P2657 [SCOI2009]windy数 数位dp入门
  3. Windows10 对系统盘C 有效清理
  4. IDEA 搭建 maven(1)
  5. 阅读《Oracle内核技术揭秘》的读书笔记
  6. VTK:图片之ImageStencil
  7. Ubuntu20.04安裝QQ for Linux
  8. 初步了解并使用正则表达式 (REGular EXPression)
  9. 数组中一个属出现奇数次,其他数都出现偶数次.寻找出这个出现奇数次的数
  10. linux下个性配置命令提示符
  11. Jboss4.2.3.GA运行后war包解压在哪
  12. node,js的基础认识(一)
  13. 小红书账号怎么做起来的呢?干货!快收藏起来!
  14. 大师启动u盘pe系统装系统(Win03PE增强版)
  15. python实现文本审核_百度AI文本审核API使用说明
  16. Winsoft Joystick for FireMonkey v1.3-SEO-狼术
  17. Docker基础镜像操作系统基础镜像对比(参考官方文档),优化docker镜像
  18. 苹果核 - Tangram是我们对界面动态化的态度 Tmail
  19. 永续合约 perpetual swap
  20. html5 自定义标签图例,奥维互动地图浏览器电脑版中自定义标签图标的增加方法...

热门文章

  1. 26.Odoo产品分析 (三) – 人力资源板块(6) – 工资表(2)
  2. ndk开发(二)JNI、java互调
  3. AD---通过组策略推送软件给客户端
  4. BZOJ 3698 XWW的难题
  5. 5分钟,10行代码!带你用Python做个电脑文件清道夫!
  6. 聊一聊世界杯的半自动越位技术
  7. 测试apk-异常管控Sensor攻击者开发
  8. 复旦计算机和中科大计算机,复旦大学和中国科学技术大学哪个实力更强?
  9. 分享几个NB的素材网站
  10. 基于Pushlet实现的网站消息推送