首页 > 其他分享 >App测试工具记录

App测试工具记录

时间:2023-12-13 16:56:32浏览次数:24  
标签:appium logcat 记录 -- App pct adb 测试工具 日志

使用到的工具

模拟器

android studio

总体来说好用,有多个版本可选细分好,可以指定任意的android版本.
坏处是有自己的网关无法使用和主机一致的网段

genymotion

好用,创建的手机性能高,没有上面的网段问题,但是需要注册,有账号就可以爽用.有付费内容

App自动化工具

appium inspector

用于定位app的Element的AttributeId方便直接在代码中写入对应的xpath内容

Appium Inspector github 官网

Appium Inspector github linux release download

使用Inspector时需要填入基础的信息确保能正确的进入App界面

以上的信息作为基础参考

{
  "platformName": "Android",
  "appium:automationName": "UIAutomator2",
  "appium:deviceName": "emulator-5554",
  "noReset": true,
  "ignoreHiddenApiPolicyError": true,
  "autoGrantPermissions": true
}

在使用appium inspector之前先运行appium

疑难问题

  1. 报错怪问题

以上是基础的进入过程,如果要是报错多考虑一下是不是python版本安装错误

appium

appium是一个服务端,需要编写脚本来对接appium来进行对手机的自动化操作.而这些自动化的操作需要借助adb命令来运行,所以在运行的时候需要指定对应的android sdk的路径(不然会报错)

# 下面的命令是安装对应的python
pip install appium-python-client

# 如果要会报错一些不明的所以的报错,那么可以尝试切换版本
pip install appium-python-client==3.1.0 

# 如果不知道有哪些版本可以尝试使用这个命令来查看有哪些版本
pip install appium-python-client==

因为是在linux上使用 所以安装的思路也是在linux上

npm i --location=global appium

以上如果要提示你需要安装在/usr目录下 则需要使用sudo命令

adb

# 查看所有连接的设备,这里的设备可以是开启了调试模式的手机,或者是在本机上的虚拟机
adb devices

# 安装app
adb -s <如果有多个devices 那么在这里需要指定设备id> install <apk文件>

# 拉取和推送文件
adb -s <设备id> pull <文件名称> <路径>
adb -s <设备id> push <文件名称> <路径>

# 查看日志
adb logcat 
# 对日志进行过滤 只显示error级别的日志
adb logcat *:E
# 过滤特定的标签 下面的日志级别的等级是V(Verbose)、W(Warrin)、E(Error)
adb logcat <标签>:<日志级别> *:S
# 使用正则表达式过滤日志
adb logcat -e '<正则>'
# 将日志重定向到文件中
adb logcat -d > logcat.txt

# 清除当前设备的所有日志
adb logcat -c 

上面的所有的-s命令在设备只有哦一个的时候都是可以省略的.
(为什么要和使用两个命令来传递文件,像是scp那样的表明in和out的方式不是更好用?)

日志级别,日志级别通常是由程序编写的log.*方法输出的内容,和系统生成的日志,通常会包含一些可能的调用的错误,或者输出一些程序的崩溃信息

级别(标签) 解释
Verbose(V) 详细日志 通常应用于开发调试,会输出非常多的调试信息
Debug(D) 调试日志,在调试应用的时候输出的信息,通常不在生产环境中使用
Info(I) 信息日志,用于输出一些提示消息,了解当前的系统的运行状态
Warning(W) 警告信息,用于提示一些可能的潜在问题
Error(E) 错误信息,表示影响了程序的运行
Assert(A) 断言失败,表示一些不应该发生的错误发生了

monkey测试

monkey测试例子

adb shell monkey -p com.insthub.ecmobile --pct-touch 40 --pct-motion 25 --pct-appswitch 20 --pct-rotation 5 -s 12348 --ignore-crashes r --ignore-timeouts -v -v -v 100000

对于上面的每一个命令的解释为
-p com.insthub.ecmobile 指定被测试的包
--pct-touch 40 设置触摸事件为40%
--pct-motion 25 设置25%的事件为滑动事件
--pct-appswitch 25 设置这个参数20%的事件为系统界面导航事件
--pct-rotation 5 表示5%的是和旋转事件
-s 12348 设置这个事件流的随机数种子

随机数种子产生的的随即事件流是相同的

--ignore-crashes 当应用崩溃的或者发生任何严重错误时,让monkey测试继续进行
--ignore-timeouts 当应用无响应的时候,让测试继续
-v -v -v 这个参数设定了日志的详细程度,-v -v -v 表示日志最详细
100000 产生事件的次数

adb shell monkey -p <包> -v -v -v -s <随机数种子> <对包进行操作多少次> 2>error.log 1>monkeys.log

上面
2>error.log 表示将错误重定向输出到指定的文件中

1>monkeys.og 表示将标准输出,输出到指定的文件当中

上面的重点是输出标准错误,是必须要要使用与制定的管道进行输出.

标签:appium,logcat,记录,--,App,pct,adb,测试工具,日志
From: https://www.cnblogs.com/index72/p/17899398.html

相关文章

  • Linux history记录数更改
    如果为了安全我们只需要保留200条,怎么办呢?我们可以临时修改最大保留条数:HISTSIZE=200 这样就修改成了200条啦,但是重启服务器后,又还原了。如果想一直保留200条,我们需要在/etc/profile修改他的环境变量;可以使用vim编辑(推荐使用vim编辑),也可以使用sed直接修改。命令如下:[root@5201......
  • ArgoCD AppProject CRD
    Project概述Projects负责为Application提供逻辑分组,它主要实现如下功能:1.限制可以部署的内容(指定受信任的GitSource仓库)2.限制Application可以部署到的目标位置(指定目标Cluster和Namespace)3.限制能够及不能够部署的对象类型,例如RBAC、CRD、DeamonSets、NetworkPolicy等4......
  • AppLink+WMS,实现仓储管理一体化
    WMS像全能的库管员,可以在线还原真实仓库,让企业进行科学化、条理化、俯视化的仓库管理。随着移动互联网和物流行业的快速发展,如何提高仓储管理的效率和准确性成为了企业关注的焦点。在这个背景下,结合AppLink和WMS系统,可以实现仓储管理的一体化,为企业带来更高效的运营和更好的客户体......
  • H5开发App应用程序的常见问题以及解决方案
    Hello大家好,我是咕噜铁蛋,天冷记得添衣,ok话说回来H5开发成为了一种流行的方式来构建跨平台的移动应用程序。然而,在H5开发App应用程序的过程中,我们常常会遇到一些问题,这些问题可能涉及性能、兼容性、用户体验等方面。作为致力于帮大家解决问题的老铁,铁蛋今天为大家分享一些常见问题以......
  • ArgoCD Application CRD
    Application示例apiVersion:argoproj.io/v1alpha1kind:Applicationmetadata:name:guestbook#You'llusuallywanttoaddyourresourcestotheargocdnamespace.namespace:argocd#AddthisfinalizerONLYifyouwantthesetocascadedelete.......
  • AppLink+WMS,实现仓储管理一体化
    WMS像全能的库管员,可以在线还原真实仓库,让企业进行科学化、条理化、俯视化的仓库管理。随着移动互联网和物流行业的快速发展,如何提高仓储管理的效率和准确性成为了企业关注的焦点。在这个背景下,结合AppLink和WMS系统,可以实现仓储管理的一体化,为企业带来更高效的运营和更好的客户......
  • 滚动条距离和元素绝对位置计算记录
    1.滚动条距离写法window.pageYOffset(老版语法,兼容IE9)推荐window.scrollX(新版语法,不兼容IE)推荐document.documentElement.scrollTop(其他方法)document.body.scrollTop(其他方法)直接用window.pageYOffset就行,既段,兼容性也好2.计算元素绝对位置varrect=ele......
  • web网站有验证码,appscan如何配置才能成功扫描
    1、点击完全扫描配置 2.登录方法选择‘无’  3、添加token  4、进行手动探测,并排除登录页面手动探测,从登录后开始 ......
  • 海外短劇app開發代碼示例
    隨著互聯網的普及和移動互聯網的發展,短劇app作為一種新的文化消費管道,正逐漸受到全球消費者的青睞。我將從市場需求、內容創作、用戶習慣等方面探討海外短劇app的開發趨勢。市場需求隨著海外用戶對於高品質文化產品的需求不斷增長,短劇app市場也迎來了新的發展機遇。......
  • 个人常用快捷键(简单命令)记录
    个人常用快捷键(简单命令)记录目录目录个人常用快捷键(简单命令)记录目录Win10IDEA浏览器DOCWin10描述快捷键剪切板win+v切屏Alt+TabIDEA描述快捷键全局查找Alt+f(自定义)全局替换Alt+r(自定义)查看类方法Ctrl+F12运行代码Ctrl+Shift+F1......