首页 > 其他分享 >【APP测试】ADB安装、常用命令、monkey的使用及日志分析

【APP测试】ADB安装、常用命令、monkey的使用及日志分析

时间:2024-10-29 18:16:41浏览次数:7  
标签:shell monkey -- APP adb 测试 ADB 日志

前言

原生和混合

在市场上区分原生、混合开发
原生:是区分安卓(Andriod)和IOS(C 语言) 。 1. 一个 app 有两套代码,两个不同的岗位去完成的。 2. 性能会更好、兼容性也会好 3. 开发成本高、时间慢
混合:原生 +H5 。一般可以实现一套代码生成安卓版本和 iOS 版本。 1. 成本会低、多平台兼容
纯 H5App : 性能会差很多。H5更适合推广,不用下载app就能打开别人分享的页面。

App相关的关键字

安卓、ios对应的安装包的扩展名

安卓:apk

ios:ipa

手机的快慢 ? 运行内存 -- RAM 手机能够存储多少东西 ? 存储内存 --ROM 最高权限 : ROOT

问题: APP兼容性测试时,版本怎么选择?

1. 会选择常用的设备,先确定功能的正确性
2. 选择对应的手机进行兼容性测试,主要测试主流程。
确保APP能够正确的使用,并且页面布局正确
3. 选择的手机一般选该手机的最新版本往下走四个版本左右,及最旧的。
苹果 : 
小米:最近比较火的手机选择几个
华为 :最近比较火的手机选择几个 ,版本各有不同
总结: 10 -15 个手机确定主流程的正确性即可。(如果时间多,你可以适当的再选选)

Web测试和App测试有什么异同点?

相同点:

1:流程、测试方法、测试理论都是一样

2:包含功能测试、兼容性测试、性能测试、安全测试

不同点:

1:架构不一样,web测试是B/S架构,App测试是C/S架构

2:环境不一样,web测试是比较稳定和单一的,网络环境比较稳定和单一,App测试比较多变,网络环境:2G/3G/4G/WIFI/5G

3:部分测试内容不一样,web兼容性测试主要考虑平台、浏览器、分辨率,App兼容性测试系统、分辨率、尺寸、品牌。App测试有电量、流量、弱网、内存泄露、外网场景等测试策略,web没有这些。

4:测试的工具不一样,web自动化selenium,App自动化Appium

adb安装

1、下载压缩包,解压

2、配置环境变量:把文件路径配置到Path里

3、验证:cmd输 adb version

地址:https://developer.android.google.cn/tools/releases/platform-tools?hl=zh-cn

配置手机(真机)或者模拟器

模拟器可以百度进行下载,比如说夜神、雷电、逍遥等等,这边推荐使用夜神。(安装简单,一键安装)
配置模拟器:
1. 打开模拟器
2. 进入设置设置对应的模式为手机,性能
3. 进入到手机设置页面- 找到个人中心(版本号)--点击5次
4. 返回到设置 页面,会有一个开发者选项
5. 开启调试模式
配置真机 :
1. 使用usb进行调试,一定要授权!!!(不要是充电)
2. 配置模拟器的后三步都需要做。(百度搜索一下你的手机是怎么开启开发者权限)

adb常用命令

adb devices 列出所有的设备

adb -s 设备号 [命令] 针对连接多台设备,指定操作哪台,如:adb -s 设备号 shell

adb root      获得root权限               

adb remount 获得system文件的读写权限

安装

adb install apk包名路径  通过命令安装安卓应用

adb install -r apk包名路径 覆盖安装

卸载

adb uninstall apk包名  通过命令卸载安卓应用

adb shell cmd package uninstall -k 包名 保留之前的数据

adb shell pm list packages 列出手机装的所有app的包名,在安卓中,所有的包名存在、data/data中

文件操作(日志文件怎么导出)

adb push 本地路径 远程路径   上传本地文件到手机上

        如:adb push g:\adbtest\log.txt /system

adb pull 远程路径 本地路径   把手机上的文件下载到本地(本地路径最好放在一个文件夹下)

        如:adb pull /system/log.txt g:\adbtest

日志操作

adb logcat 查看日志,ctrl+c退出

        adb logcat >本地日志路径  输出的日志保存在本地文件

        如:adb logcat >g:\adbtest\log.txt  输出的日志保存在本地文件

        adb logcat -c 清理日志

        adb logcat *:E 日志筛选,只输出error日志

adb bugreport 输出日志,包含logcat、同时也有一些功耗、CPU等日志信息,只支持安卓7.0以上

        adb bugreport > 本地日志路径

adb shell  进入shell,进入shell后可执行linux命令,exit(退出)

adb kill-server 关闭adb服务

adb start-server 启动adb服务

移动端稳定性测试工具——Monkey

稳定性测试:长时间的去运行软件,确定软件能够友好的为用户提供服务。

monkey:随机的向应用发送对应的操作,人工的去模拟用户的操作,确定APP的稳定性。

monkey在哪里,需要安装吗?==手机自带的,通过adb去调用。

monkey命令及参数

adb shell monkey  指令

1、基本参数

count  : 必填,指定操作多少次

-p :指定对应的包,可以指定多个 -p 包名1 -p 包名2

如:adb shell monkey -p com.hcedu.hcdeom 5000

--throttle :设置每个动作的间隔时间,如6000ms

如:adb shell monkey -p com.hcedu.hcdeom --throttle 6000 5000

-v、-v-v、-v-v-v(最为详细):日志级别

如:adb shell monkey -p com.hcedu.hcdeom --throttle 600 -v-v-v 5000 >d:\test\log.log

-s :指定对应的种子(seed),进行回归测试。如果需要回归测试可以直接指定对应的种子即可。

如:adb shell monkey -s 1676758881596 -p com.hcedu.hcdeom -v-v-v 5000 >d:\test\log.log

2、调试选项

如何避免出现错误不要让它停止运行? 调试选项 -- 都带上 -- ignore - crashes        忽略在应用程序出现crash时导致的monkey 停止 -- ignore - timeouts        忽略在应用程序出现 ANR 问题时导致 monkey 停止 -- ignore - security - exceptions 忽略应用程序发生许可错误时导致 monkey 停止 -- kill - process - after - error 当应用程序发生错误时,应用程序停止运行并保持在当前状态 adb shell monkey - s 1676758881596 - p com . hcedu . hcdeom -- ignore - crashes -- ignore - timeouts -- ignore - security - exceptions -- kill - process - after - error - v - v - v 5000 > d : \test\log . log

3、事件类型选择

事件类型百分比可以随意组合,不要超过100%即可。

稳定性测试连接真机用wifi连接步骤

真机:通过usb或者wifi(拔掉usb数据线后也能运行)

1. 设置--开发者选项--打开USB调试 2. 连接USB线,文件传输的选择(文件、图片),并允许权限操作 3. 确定手机和电脑是同一个局域网之中 4. 输入:adb devices,回车,确定设备连接 5. 再输入:adb tcpip 5555 把手机默认的连接方式是USB,通过此命令是把USB连接方式改为tcpip方式 6. 拔掉数据线,输入:adb connect ip:5555 比如:adb connect 192.168.2.217:5555 7. 连接成功之后,执行相应的monkey操作。

如何杀掉monkey进程

adb shell ps | find "monkey" adb shell kill 进程号

monkey的日志在我们cmd中显示,没有在我们文档中显示怎么办

可以选择标准流 和 异常流在不同的文件中
adb shell monkey -p com.hcedu.hcdeom --pct-touch 80 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error -v-v-v 500 1>d:\test\log.log 2>d:\test\err.log

以上的命令,可以在cmd中输入后回车进行执行,也可以把命令放在一个.bat文件里,然后双击。(mac的话是放在.sh文件里)

Monkey日志分析

1. 在log 日志当中关注测试的包、测试的种子(seed--回归测试),以及对应的时间。
2. 重点需要的关注的是err的日志。
        做法:
        1. 通过对应的关键字进行定位-错误信息(log日志) -- 发现bug、定位bug
                通过Exception 、CRASH、包名等进行定位

                 // Short Msg: java.lang.IndexOutOfBoundsException
                 下标超过对应的长度限制
                 // Short Msg: java.lang.NullPointerException
                 空指针异常         2. 把对应的日志发给开发或者通过缺陷管理系统进行提交问题 -- 修改bug
        3. 去进行回归测试。 -- 回归bug -通过种子去进行回归:seed

问题: 你测试一晚上,却发现没有问题。

-- 可能压根测试没有测试完
进行确认,本次测试是否完成 ?
6:30 -- 执行命令 -- 7:00 (停止)-- 第二天早上
体现:
1. 一定进行稳定性测试要保持手机是常亮的状态 (长时间操作)
2. 保证手机是有电的状态 。(充电)
3. 测试完成之后,你可以去看手机的后台运行程序打开的状态;如果没有对应的应用证明重启过
4. 看手机对应的开机时间 :设置-关于手机-状态信息- 已开机的时间。

遇到的问题

输入adb devices命令后报adb server version (36) doesn't match this client (41); killing...

是因为adb版本不一致导致的。

解决办法:把sdk里的adb.exe复制出来,重命名为nox_adb.exe,替换\Nox\bin下的nox_adb.exe文件后重启模拟器即可

输入adb命令后报:remote couldn't create file: Read-only file system

标签:shell,monkey,--,APP,adb,测试,ADB,日志
From: https://blog.csdn.net/weixin_46337259/article/details/143235853

相关文章

  • Xcode 16.1 (16B40) 发布下载 - Apple 平台 IDE
    Xcode16.1(16B40)发布下载-Apple平台IDEIDEforiOS/iPadOS/macOS/watchOS/tvOS/visonOS发布日期:2024年10月28日Xcode16.1包含适用于iOS18.1、iPadOS18.1、AppletvOS18.1、watchOS11.1、macOSSequoia15.1和visionOS2.1的SDK。Xcode16.1版本支持在......
  • 如何提高app审核的通过率?
    以下是一些提高App审核通过率的方法:一、了解审核指南仔细阅读苹果和安卓(如GooglePlay)的官方审核指南:熟悉各个平台对App内容、功能、安全性等方面的具体要求。这包括但不限于用户隐私保护、内容规范、性能标准等。对于苹果的AppStore,关注其《AppStore审核指南......
  • 什么是埋点测试,app埋点测试怎么做?
    前言埋点测试是指在应用程序或网站中预设检查点,收集程序运行时的数据,以便于后续对程序进行性能分析或故障排查。埋点测试通常用于监控和追踪用户在软件产品中的行为,以收集有关用户体验、功能使用情况和潜在问题的数据。这些数据对于软件产品的优化和改进至关重要,有助于开发人......
  • java计算机毕业设计宠物社区app(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着社会经济的快速发展和人们生活水平的提高,宠物已经成为许多家庭的重要成员。宠物社区app应运而生,旨在为宠物主人提供一个交流平台,分享养宠心得和......
  • 一站式搭建交友平台-交友系统源码-H5小程序app有什么优势?
    一站式搭建交友平台、交友系统源码以及H5小程序app交友系统平台是当前社交软件开发领域的热门话题。以下是对这些概念的详细解析:一站式搭建交友平台一站式搭建交友平台指的是通过一套完整的解决方案,快速构建并上线一个功能齐全的交友平台。这种解决方案通常包括平台设计、开......
  • 麒麟系统修改镜像地址,并安装数据库mariadb
    1.跳转到镜像源文件夹cd/etc/yum.repos.d2.备份系统镜像源文件ps:要养成修改系统文件之前做文件备份的好习惯cpkylin_aarch64.repokylin_aarch64.repo.bak3.修改的镜像源vikylin_aarch64.repo[ks10-adv-cdrom]name=KylinLinuxAdvancedServer10-cdrombaseurl......
  • 内网穿透工具——NATAPP
    使用背景:我们有时候会在本地搭建个虚拟机,然后来运行程序,但是这样有一个弊端,外部用户无法访问虚拟机内的程序,这种情况有两种方法解决:一是使用云服务器,如:阿里云、腾讯云等;二是使用内网穿透工具,这样外部用户就可以轻松访问内网地址了。下面以NATAPP为例来实现内网穿透功能。......
  • 解决application.yml没有小绿叶图标
    1、application.ym文件没有显示      ......
  • zlibrary镜像网页,zlibrary中文入口及客户端/app
    Z-library,被誉为全球范围内最为庞大的数字图书馆之一,其藏书量之丰富令人叹为观止,总计囊括了超过9,826,996册电子书及84,837,646篇学术期刊文章。这座庞大的知识宝库覆盖了从经典文学巨著到前沿理工学科,从人文艺术瑰宝到专业学术论文的广泛领域,几乎能够满足每一位求知者的阅读与学......
  • zlibrary地址最新,Z-library电脑/app客户端下载
    Z-Library是一家电子图书馆,被誉为全球最大的科学图书和学术文献免费资源之一。它创办于2009年,截至2022年10月1日,已收录超过1129万本图书和8483万篇学术文章。从各种知名文学著作,理工学科,人文艺术、到学术论文等应有尽有!支持PDF、epub、mobi等多种格式图书资源下载绝对是你找书的不......