【APP移动端自动化测试】第一节.环境配置和adb调试工具

news2024/10/6 2:31:09

文章目录

  • 前言
  • 一、Java环境搭建
  • 二、AndroidSDK环境搭建
  • 三、Android模拟器安装
  • 四、adb调试工具基本介绍
  •       4.1 adb构成和基本原理
  •       4.2 adb获取包名,界面名
  •       4.3 adb文件传输
  •       4.4 adb获取app启动时间
  •       4.5 adb获取手机日志
  •       4.6 adb其他有关命令
  • 总结


前言


一、Java环境搭建

之前文章已经介绍过,此处就不赘述了。


二、AndroidSDK环境搭建

Android sdk提供Android API库和开发工具构建,测试和调试应用程序使用

下载android sdk

https://dl.google.com/android/android-sdk_r24.4.1-windows.zip;

(也可以直接安装 android studio 开发工具,内部集成了android-sdk)

解压后运行文件夹中 SDK Manager.exe 安装sdk tools、sdk plaform-tools、sdk build-tools


配置环境变量

新建ANDROID_HOME,值为sdk的目录。

把下面三个路径,加入path

加入path,确定,关闭环境变量设置。

验证,命令行输入adb,只要看到版本号即可。


三、Android模拟器安装

首先需要让系统找到模拟器上手机设备。如何让系统找到模拟器?

运行adb devices可以看到此时没有设备。 

把android sdk文件夹下platform tools下的adb.exe复制到夜神的bin文件夹下,并改名为nox_adb.exe,然后重启夜神。

再用adb devices 检测到的就是夜神模拟器的设备


四、adb调试工具基本介绍

4.1 adb构成和基本原理

(1)简介:

ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。安卓调试桥 (Android Debug Bridge, adb),是一种可以用来操作手机设备或模拟器的命令行工具。

(2)abd构成:

  • client端,在电脑上,负责发送adb命令
  • daemon守护进程,在手机上,负责接收和执行adb命令
  • server端,在电脑上,负责管理client和daemon之间的通信adb工作原理

(3)adb工作原理:

1. client端将命令发送给server端

2. server端会将命令发送给daemon端

3. daemon端进行执行

4.将执行结果,返回给server端

5. server端将结果再返回给client端


4.2 adb获取包名,界面名

(1)包名和界面名的概念

  • 包名,对应着应用程序
  • 界面名,对应着应用程序的某个界面,也叫做启动名

(2)如何获取包名和界面名

mac
adb she17 dumpsys window windows / grep mFocusedApp

windows
adb she11 dumpsys window windows / findstr mFocusedApp

(3)应用场景

后期,我们告诉计算机到底打开哪一个应用和哪一个界面,必须使用的一个写代码的参数   


示例

作用:获取设置程序的包名和界面名

1.先在模拟器或手机中打开《设置》应用程序

2.输入对应平台的命令

图示说明:

结果如下:

mFocusedApp=AppwindowToken{53309da token=Token{2e2fa785ActivityRecord{2928d4fc u0 com.android.settings /.settings t1127}33

其中:

  • 包名为:com.android.settings
  • 界面名为:.settings

4.3 adb文件传输

两种情况:

1.发送文件到手机

2.从手机中拉取文件


(1)发送文件到手机

1.应用场景

将手机需要的数据(数据库文件)在电脑上调整好,直接发送给手机

2.命令格式

adb push电脑的文件路径手机的文件夹路径

3.示例

作用:

将桌面的a.txt 发送到手机的sd 卡

代码实现:

adb push C: \users\hm\Desktop\a.txt/sdcard


(1)从手机拉取文件

1.应用场景

将手机产生的文件(数据库文件,日志文件)拉取到电脑中

2.命令格式

adb pu11   手机的文件路径   电脑的文件夹路径

3.示例

作用:

将手机的sd卡的a.txt拉取到桌面

代码实现:

adb pull /sdcard/a.txt c: \users \hm\Desktop


图示实现:


4.4 adb获取app启动时间

(1).应用场景

1.如果企业对应用程序的启动速度有要求,则需要使用这个命令进行测试

2.测试标准:参照同类软件,启动时间不能超出一倍即可

(2).命令格式

adb she11 am start -w  包名/启动名

3.示例

作用:

启动com.android.settings程序并且进入主界面( .settings )

代码实现:

adb she1l am start -w com.android.settings / .settings

图示说明:

解释:
1. ThisTime:该界面( activity)启动耗时(毫秒)

2.TotalTime:应用自身启动耗时= ThisTime+应用application等资源启动时间

3. waitTime:系统启动应用耗时=TotalTime+系统资源启动时间(毫秒)

图示解析:


4.5 adb获取手机日志

(1)应用场景:

将bug的日志信息发送给开发人员,便于开发人员定位bug使用步骤。

当成发生崩溃的时候,可以将日志信息发送给开发人员,便于其快速的定位bug。

关于崩溃的处理,需要找日志中的“at”前面,的第一个字符是E的就是错误信息。

(2)使用步骤:

1.打开需要测试的应用程序

2.找到触发bug的位置

3.使用查看日志命令

4.触发bug

5.获取日志信息命令格式

(3)命令格式:

adb logcat

(4)示例:

1.安装bug.apk

2.打开《有bug的程序》应用程序

3.命令行中输入adb logcat命令

4.点击登录按钮

5.获取日志信息


4.6 adb其他有关命令

命令1:安装app到手机

代码:adb install 路径/xx. apk


命令2:卸载手机上的app,需要指定包名

代码:adb install 路径/xx. apk


命令3:获取当前电脑已经连接设备和对应的设备号

代码:adb devices


命令4:进入到安卓手机内部的linux系统命令行中

代码:adb she11


命令5:启动adb 服务端,出bug时使用可以重启服务器,先关闭再启动

代码:adb start-server


命令6:停止adb服务端,出bug时使用可以重启服务器,先关闭再启动

代码:adb kill-server


命令7:查看adb帮助,命令记不清楚时有用

代码:adb --help

总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1814351.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

室内、户外安防监控超低功耗24g人体雷达感应模块,智能门铃、灯光控制新体验

在当今这个智能科技日新月异的时代,雷达感应模块正逐渐成为智能家居领域的一颗璀璨新星。其超低功耗、无误触、无漏触等特性,以及在户外环境下能够智能过滤环境干扰的独特优势,使得雷达感应模块在智能门铃、灯光照明等方面的应用越来越广泛。…

【C++】list 容器的增删改查---模拟实现(图例超详细解析!!!)

目录 一、前言 二、 list 容器的模拟实现思 ✨ 模块分析 ✨ 作用分析 三、list的节点类设计 四、list 的迭代器类设计 ⭐ 迭代器类--存在的意义 ⭐ 迭代器类--模拟实现 💦 模板参数 和 成员变量 💦 构造函数 💦 运算符的重载 &…

如何一键式完成等级logistic回归分析?

Logistic回归分析用于研究X对Y的影响,并且要求Y必须为分类数据,并且根据Y的分类不同,需要选用不同的模型。 如果Y为二分类,如患病和不患病,那么普通的二元logistic回归就可以解决问题;如果Y为有序多分类,如…

如何成为嵌入式系统工程师?

各位朋友,如果你们有意向投身于嵌入式开发领域,那么强烈建议你们在软件和硬件两个方面均展开深入且全面的学习。 嵌入式计算机作为嵌入式系统的核心技术支撑,其是直接面向用户、产品以及应用的,无论是软件还是硬件方面都能发挥重要…

Windows10安装配置Docker客户端和WSL2与Hyper-V虚拟机

一、需求说明 需要在Windows系统中安装配置Docker的客户端,方便直接管理配置docker镜像容器内容。 二、Windows10安装Docker客户端步骤 2.1、下载安装Docker客户端 对于Windows 10以下的用户,推荐使用Docker Toolbox Windows安装文件:http://mirrors.aliyun.com/docker-…

附件采集文件类型识别方案

背景 咱们做爬虫的或多或少都会遇到附件下载,一般情况站点提供的附件链接会直接声明文件的类型,但是有些提供的只是一个api,然后触发下载时再返回附件文本,这个时候我们是没法直接知道文件类型的,而我们使用requests下…

为了能够实现躺在家里办公,我发现了teamOS,免费搞定在线编辑,还能满足多人协同编辑,太香了

在快节奏的现代生活中,传统的办公室模式似乎变得越来越局限。 在出差途中,在一个个的临时会议上,我们都越来越需要一个更为灵活、高效的工作模式。 想要实现随时随地打开文件,与团队成员实时协作,共同编辑文档&…

on ethernetPacket事件函数接收报文时标准的处理流程

on ethernetPacket可以用来接收指定报文,并根据一些判断条件,比如目标MAC地址和IP地址判断报文是否是发给"我"的。 比如想通过on ethernetPacket *来接收发送给02:00:00:00:00:17和192.168.0.17的SYN报文。CAPL代码可以这样写: variables {ethernetPacket …

Vue.js结合ASP.NET Core构建用户登录与权限验证系统

1. 环境准备2. 创建项目3. Vue配置步骤一: 安装包步骤二: 配置文件步骤三: 页面文件 4. 后台配置 在本教程中,我将利用Visual Studio 2022的强大集成开发环境,结合Vue.js前端框架和ASP.NET Core后端框架,从头开始创建一个具备用户登录与权限验…

SwiftUI 中的自定义Shape

在SwiftUI中,Shape协议允许开发者定义可重用的图形,这些图形可以用于绘制界面元素,如按钮、背景、边框等。通过实现 Shape 协议,可以创建完全自定义的图形,并控制其绘制方式。本文将详细介绍如何在 SwiftUI 中创建自定…

Qt-Advanced-Docking-System的学习

Qt-Advanced-Docking-System使用说明_cdockmanager-CSDN博客 示例1&#xff1a; #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include "DockManager.h" #include "QtDock/DockAreaWidget.h" namespace Ui { class MainWind…

计算机组成原理之运算方法和运算器

文章目录 数据与文字的表示方法定点表示法机器码&#xff08;机器数&#xff09;原码 反码补码移码 浮点表示法尾数规格化 数据与文字的表示方法 定点表示法 机器码&#xff08;机器数&#xff09; 正数的原码、反码、补码一样&#xff0c;负数的原码、反码、补码的符号位均为…

迅狐矩阵系统:智能化多平台内容管理与发布

迅狐矩阵系统是一套专为提高数字内容管理和发布效率而设计的综合性解决方案。它通过一系列智能化功能&#xff0c;帮助用户实现多平台内容的高效管理和发布&#xff0c;以下是系统的几大核心优势&#xff1a; 多平台绑定发布 迅狐矩阵系统支持用户绑定多个平台的多个账号&…

linux驱动学习(十一)之内核时钟

需要板子一起学习的可以这里购买&#xff08;含资料&#xff09;&#xff1a;点击跳转 一、内核时钟 1、内核时钟 内核时钟&#xff08;Kernel Clock&#xff09;&#xff0c;也称为系统时钟&#xff08;System Clock&#xff09;或滴答时钟&#xff08;Tick Timer&#xff0…

使用LANGCHAIN和GEMINI构建AI应用程序

借助这些先进技术&#xff0c;您可以生成文本、分析图像并实现多模态 AI 交互。 LangChain 和 Google 的 Gemini API 是什么&#xff1f; LangChain&#xff1a;构建 AI 应用程序的弹性框架 LangChain 是一个强大且灵活的框架&#xff0c;可以简化 AI 应用程序的开发。它提供…

绝对新惊喜:4款王者级别的办公软件,免费又实用

工作里有那么多规矩&#xff0c;但效率绝对是重中之重&#xff0c;选对了好软件&#xff0c;工作就能更高效&#xff0c;下班也能更早回家。 要是你也想做个“时间管理小能手”&#xff0c;下面这4款超好用的办公软件&#xff0c;你可千万别错过&#xff01; Gitmind 现在很…

奇绩创坛 2024 年春季创业营路演

奇绩创坛 2024 年春季创业营路演 奇绩创坛在北京中关村举办的 2024 年春季创业营路演 奇绩创坛在北京中关村举办的 2024 年春季创业营路演 RWKV 元始智能的COO罗璇在会议上详细分享了RWKV的创新模型架构、最新进展以及当前的研究方向。 目前&#xff0c;RWKV架构已经推出了最…

五、LVS原理

目录 5.1 LVS 相关原理 5.1.1 LVS集群的体系结构以及特点 5.1.1.1 LVS简介 5.1.1.2 LVS体系结构 5.1.1.3 LVS相关术语 5.1.1.4 LVS工作模式 5.1.1.5 LVS调度算法 5.1.2 LVS-DR集群介绍 5.1.2.1 LVS-DR模式工作原理 5.1.2.2 LVS-DR模式应用特点 5.1.2.3 LVS-DR模式ARP抑制 5.1…

使用Transformer进行抄袭检测

动机 在许多行业中&#xff0c;尤其是在学术界&#xff0c;抄袭是一个重大问题。随着互联网和开放信息的兴起&#xff0c;这种现象甚至变得更加严重&#xff0c;任何人都可以通过点击访问特定主题的任何信息。 基于这一观察&#xff0c;研究人员一直在尝试使用不同的文本分析…

生成高保真度3D数字人化身:打造你的专属虚拟形象

在数字化时代,我们的虚拟形象正变得越来越重要。现在,一项前沿技术正将这一领域推向新的高度——生成高保真度的3D数字人化身。这项技术不仅可以将你的形象以3D形式呈现,更能赋予它生命,让你的虚拟形象拥有丰富的表情和动作。 一、技术简介 这项技术就像是一个高级的3D照…