当前位置: 首页 > news >正文

【App自动化测试】(十八)多设备管理平台——openSTF

目录

  • 1. openSTF
  • 2. openSTF的安装部署
    • 2.1 MacOS
    • 2.2 Windows
  • 3. STF操作
    • 3.1 基础操作——远程调试虚拟设备
    • 3.2 高阶操作——远程调试真机


1. openSTF

OpenSTF:是一个手机设备管理平台,可以对手机进行远程管理、调试、远程手机桌面监控等操作。

特点:通过无线来进行远程管里、调试、监控

优点:STF的核心就是远程,它比本地多出很多优势,它可以构建一个测试平台的,这个平台可以连接多个设备,这些设备可以把放在同一个局域网内的远程调试。当我们把局域网的一些必要端口(比如说机器远程调试端口5555,openSTF网页端7100等)暴露到公网上,我们就可以实现一个跨地点的设备调试,这样就不用带着多个设备到处跑了。

2. openSTF的安装部署

对于Windows系统openSTF的安装是一个大难点,使用docker安装比较好。

2.1 MacOS

brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config

2.2 Windows

  1. 拉取镜像

    docker pull openstf/stf:latest
    docker pull sorccu/adb:latest
    docker pull rethinkdb:latest
    
  2. 启动rethinkdb

    docker run -d --name rethinkdb -v [宿主机目录]:/data --net host rethinkdb  rethinkdb --bind all --cache-size 8192 --http-port 8090#示例:
    docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb  rethinkdb --bind all --cache-size 8192 --http-port 8090
    

    注:

    1. rethinkdb一定要最先启动
    2. 要定要挂载目录,把容器目录保存到本地。
    3. 网络模式一定要选择好host模式
  3. 启动stf

    docker run -d --name stf --net host openstf/stf stf local --allow-remote
    

    1. 在rethinkdb后启动
    2. 一定要加参数:--allow-remote
  4. 启动adb:建议把本机的sdk设置成环境变量,不建议使用docker安装的adb

3. STF操作

3.1 基础操作——远程调试虚拟设备

  • 第一步:浏览器访问:localhost:7100
    在这里插入图片描述

  • 第二步:运行一个AVD模拟器

  • 第三步:在stf中可以查看对应模拟器,并进行控制模拟器,进行操作

    • 网页显示已经有可操控的设备。

      示例:
      在这里插入图片描述

    • 点击模拟器后,可以在web端直接控制模拟器或进行其他功能

      示例:
      在这里插入图片描述

3.2 高阶操作——远程调试真机

  • 第一步:真机USB接入进行调试。打开手机的开发者模式。

    示例:多了一个真机设备
    在这里插入图片描述

  • 第二步:打开手机的远程调试端口

    #给手机开了一个5555的远程调试端口
    adb -s [真机名称] tcpip 5555 restarting in TCP mode port:5555
    
  • 第三步:查看真机远程调试IP

    adb -s [真机名称] shell ifconfig
    #注:三星、华为等部分手机没有权限查看ifconfig。
    

    注意:无权限查看ifconfig的话。可以通过手机设置(WIFI)中查看ip地址,再查看本机ip地址,如果两个地址网段相同,可以确认二者属于同一网段,此时手机的IP地址可用。

  • 第四步:连接手机IP

    adb connect [手机IP]:5555
    

    示例:连接手机ip后再查询设备,可以发现列表中多了一个远程远程设备
    在这里插入图片描述

  • 第五步:把真机的USB链接线拔掉,STF仍然会出现机器,此时还可进行远程操作

    示例:拔掉数据先,界面上还有一个真机
    在这里插入图片描述

    注意:真机的USB数据拔掉后,需要重新在连接一下远程IP。主要做以下操作:

    adb connect  远程控制手机的IP:端口号
    

相关文章:

【App自动化测试】(十八)多设备管理平台——openSTF

目录 1. openSTF2. openSTF的安装部署2.1 MacOS2.2 Windows 3. STF操作3.1 基础操作——远程调试虚拟设备3.2 高阶操作——远程调试真机 1. openSTF OpenSTF:是一个手机设备管理平台,可以对手机进行远程管理、调试、远程手机桌面监控等操作。 特点&…...

Kafka的ACK配置含义详解

Kafka的ACK配置含义详解 Kafka producer有三种ack机制 初始化producer时在config中进行配置; 参数-1,0,1分别代表什么含义 ack等于0: 含义 意味着producer不等待broker同步完成的确认,只要继续发送下一条(批)信息 优缺点 提供了最低的…...

Redis主从架构、数据同步原理、全量同步、增量同步

目录 专栏导读一、Redis主从架构二、数据同步原理三、全量同步的流程三、可以从以下几个方面来优化Redis主从就集群四、全量同步和增量同步区别?五、什么时候执行全量同步?六、什么时候执行增量同步?七、超卖问题 大家好,我是哪吒…...

面了一个测试工程师要求月薪26K,总感觉他背了很多面试题...

最近有朋友去字节面试,面试前后进行了20天左右,包含4轮电话面试、1轮笔试、1轮主管视频面试、1轮hr视频面试。 据他所说,80%的人都会栽在第一轮面试,要不是他面试前做足准备,估计都坚持不完后面几轮面试。 其实&…...

大数据简介

大数据简介 什么是大数据 ​ 最近几年,IT行业最火的名词中,少不了"大数据"、"人工智能"、"云计算"、"物联网"、"区块链"等等这些名词。针对于"大数据"这个名词,现在更是全国老…...

Elasticsearch数据库

目录 1. 什么是ElasticSearch1.1 概念及特点1.2 ElasticSearch适用场景概述 2. 安装ElasticSearch2.1 下载安装包2.2 环境说明2.3 创建es的用户2.4 创建es存储位置2.5 安装es2.5 修改配置文件2.6 系统优化2.7 安装jdk环境2.8 切换es用户启动数据库2.9 systemctl管理2.10 访问 3…...

Axure教程—表格(中继器)

本文将教大家如何用AXURE中的中继器制作表格 一、效果介绍 如图: 预览地址:https://oc3e6a.axshare.com 下载地址:https://download.csdn.net/download/weixin_43516258/87854863?spm1001.2014.3001.5501 二、功能介绍 可以在表格中插入…...

Linux转HTTP代理服务器

在 Linux 上搭建 HTTP 代理服务器,可以使用 Squid 或者 Nginx 等软件来实现。以下是使用 Squid 搭建 HTTP 代理服务器的步骤: 1. 安装 Squid 在终端中输入以下命令安装 Squid: sudo apt-get update sudo apt-get install squid 2. 配置 Sq…...

CPLEX Studio 集成开发环境 (IDE) 介绍

CPLEX Studio 集成开发环境 (IDE) 介绍 参考B站视频:cplex入门到精通 1.CPLEX Studio IDE 实现的功能 IBM ILOG CPLEX Studio IDE 是一个用于数学规划、约束规划以及一般组合优化应用程序的集成开发环境。 它是适用于 OPL(优化编程语言)和…...

如何在Linux机器中测试存储/磁盘I/O性能?

在Linux环境中,了解存储/磁盘I/O性能对于评估系统性能和优化存储子系统非常重要。通过测试存储/磁盘I/O性能,我们可以确定磁盘的读写速度、延迟和吞吐量等指标。本文将介绍几种常用的方法来测试Linux机器中的存储/磁盘I/O性能。 方法一:使用d…...

ChatGPT国内免费使用方法【国内免费使用地址】

当下人工智能技术的快速发展,聊天机器人成为了越来越多人们日常生活和工作中的必备工具。如何在国内免费使用ChatGPT聊天机器人,成为了热门话题。本文将为你详细介绍ChatGPT国内免费使用方法,让你轻松拥有聊天机器人助手,提高工作…...

常微分方程ODE和Neural Ordinary Differential Equations

微分方程(英語:Differential equation,DE)是一種數學方程,用來描述某一類函数與其导数之间的关系。微分方程的解是一個符合方程的函數。而在初等数学的代数方程裡,其解是常数值。 常微分方程(英…...

C++ 编译过程(附简单实例)

C 采用分离编译模式,分离编译指的是,一个程序/项目是由若干个源文件共同实现,编译时先把每个源文件单独编译生成目标文件,再将所有目标文件连接起来,形成单一的可执行文件。 C 编译的四个阶段:预处理、编译…...

ThingsBoard教程(五四):规则节点解析 Azure IoT Hub Node, RabbitMQ Node

Azure IoT Hub Node Since TB Version 2.5.3 配置 主题 - 获取有关IoT Hub主题的更多信息,请使用以下链接。主机名 - Azure IoT Hub主机名。设备ID - 来自Azure IoT Hub的设备ID。凭据 - Azure IoT Hub连接凭据。可以是共享访问签名或PEM格式证书。Azure IoT Hub支持不同的…...

元素偏移量offset

文章目录 1. offset概述2. offset与style的区别 1. offset概述 offset就是偏移量,我们使用offset系列相关属性可以动态的得到该属性的位置(偏移)、大小等。 element.offsetParent 返回作为该元素带有定位的父级元素,如果父级都没…...

如何让自动化测试框架更自动化?

一、引言 ​对于大厂的同学来说,接口自动化是个老生常谈的话题了,毕竟每年的MTSC大会议题都已经能佐证了,不是大数据测试,就是AI测试等等(越来越高大上了)。不可否认这些专项的方向是质量智能化发展的方向&…...

无屏幕实现连接树莓派

无屏幕实现连接树莓派 欢迎来到我的博客!今天我将与大家分享如何无需使用屏幕,实现与树莓派的连接。对于那些在树莓派项目中不方便使用屏幕的人来说,这将是一个有用的技巧。 材料清单 在开始之前,让我们先准备好所需的材料&…...

【Android】AMS(一)系统启动流程

前言 AMS(Activity Manager Service)即活动管理器服务,是Android系统中的一个核心服务。它主要负责管理应用程序的生命周期,包括启动应用程序、切换应用程序、管理任务栈等。 Android启动流程 Android程序的启动流程可以概括为…...

FineBI6.0基础学习第一课 数据门户

PC端门户使用示例 首先,以管理员身份登录FineBI系统,安装数据门户,安装步骤见官网 新建一个数据门户...

如何部署项目到Tomcat + 第一个Servlet程序

博主简介:想进大厂的打工人博主主页:xyk:所属专栏: JavaEE初阶 目录 文章目录 一、Tomcat 1.1 Tomcat是什么 1.2 下载安装 1.3 部署项目 二、第一个Servlet程序 2.1 Servlet是什么 2.2 创建Maven项目 2.3 引入依赖 2.4 创建目录 2.5 编写类方法 2.6 打包…...

ModTheSpire终极指南:安全加载杀戮尖塔模组的5大步骤

ModTheSpire终极指南:安全加载杀戮尖塔模组的5大步骤 【免费下载链接】ModTheSpire External mod loader for Slay The Spire 项目地址: https://gitcode.com/gh_mirrors/mo/ModTheSpire ModTheSpire是一款专为《杀戮尖塔》设计的Java游戏模组加载器&#xf…...

PXE启动Ubuntu时,你的initrd.img配置对了吗?一个参数让无盘启动快3倍

PXE启动Ubuntu时initrd.img的深度调优指南当你在凌晨三点盯着PXE启动进度条缓慢爬升时,是否想过那个看似简单的initrd.img文件里藏着多少性能玄机?作为运维老兵的我在经历了数十次无盘系统部署后,发现90%的PXE启动性能问题都源于initrd配置不…...

告别图片搜索焦虑:如何在本地硬盘中秒级找到任何相似图片

告别图片搜索焦虑:如何在本地硬盘中秒级找到任何相似图片 【免费下载链接】ImageSearch 基于.NET10的本地硬盘千万级图库以图搜图案例Demo和图片exif信息移除小工具分享 项目地址: https://gitcode.com/gh_mirrors/im/ImageSearch 还在为硬盘里成千上万的图片…...

机器学习在轨道预测中的应用:两阶段模型实现精度与效率的平衡

1. 项目概述与核心挑战在低地球轨道(LEO)上,成千上万的卫星和空间碎片正以每秒数公里的速度高速飞行。精确预测它们未来的位置——轨道预测——是确保航天器安全、避免碰撞以及进行有效空间交通管理的基石。传统上,这项工作依赖于…...

熬夜赶论文效率低到哭?学长安利这几个AI论文写作软件

熬夜赶论文效率低到哭?选题没思路、大纲难搭建、初稿写不顺、文献找不全、润色没方向、降重费时间、格式不规范——这些论文写作的痛点,其实都可以通过用对AI工具、走对流程来解决。资深教授普遍推荐:千笔AI(中文全流程首选&#…...

RPR方法:利用惯性主轴实现分子向量性质的快速准确预测

1. 项目概述:为什么分子向量预测是个“方向感”难题?在计算化学和材料模拟的日常工作中,我们常常需要预测分子的各种性质。其中,像能量这样的标量性质相对“好说话”——无论你把分子怎么转,它的总能量是不变的。所以&…...

kflash_gui:3分钟快速上手K210开发板固件烧录工具

kflash_gui:3分钟快速上手K210开发板固件烧录工具 【免费下载链接】kflash_gui Cross platform GUI wrapper for kflash.py (download(/burn) tool for k210) 项目地址: https://gitcode.com/gh_mirrors/kf/kflash_gui K210开发板固件烧录工具kflash_gui是一…...

微信聊天记录永久保存终极指南:用WeChatExporter告别数据焦虑

微信聊天记录永久保存终极指南:用WeChatExporter告别数据焦虑 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否曾有过这样的担忧——手机突然损坏&#…...

别再死记硬背了!用Python手把手拆解卡尔曼滤波的5个核心公式(附filterpy/OpenCV两种实现)

别再死记硬背了!用Python手把手拆解卡尔曼滤波的5个核心公式(附filterpy/OpenCV两种实现)卡尔曼滤波就像一位隐形的数据调酒师,它能将嘈杂的观测数据与不完美的预测模型混合,调制出一杯接近真实状态的"鸡尾酒&quo…...

Mermaid Live Editor:为什么每个开发者都需要这个实时图表编辑神器?

Mermaid Live Editor:为什么每个开发者都需要这个实时图表编辑神器? 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trendin…...