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

慈云数据 2024-06-15 技术支持 33 0

文章目录

  • 前言
  • 一、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

          总结

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon