python+adb—真机测试学习记录

因为要真机测试录音app的问题,每次都自己说太繁琐了,所以想到利用adb模拟点击,然后外放音频,利用python循环执行adb命令。解决该问题!

import os
import time
for n in range(0,140):
    command = 'adb shell input tap 538 1188'#点击屏幕上录音按钮处
    os.system(command)
    time.sleep(4)
    n=n+1

二次编辑
既然可以利用adb重复点击录音,那么也可以直接连接上手机后,直接执行程序:
进入软件主界面->输入用户名密码->登录->进入项目->输入项目编号->开始录音->执行录音循环->结束

首先查看应用包名——

adb shell pm list packages -3

找到包名python+adb—真机测试学习记录_第1张图片
这里可以使用
uiautomatorviewer.bat工具
写了一个批处理,利用adb截取屏幕,传到电脑上再用uiautomatorviewer.bat直接可以查看到包名以及按钮信息

在这里插入图片描述
查询当前运行的事件名

adb shell dumpsys window w |findstr \/ |findstr name=

在这里插入图片描述
模拟回车,确定,TAB
KEYCODE_BACK

adb shell input keyevent  4

KEYCODE_ENTER

adb shell input keyevent 66

TAB

adb shell input keyevent 61

简单利用Monkey 进行压力测试
Monkey 可以生成伪随机用户事件来模拟单击、触摸、手势等操作,可以对正在开发中的程序进行随机压力测试。

adb shell monkey -p <packagename> -v 100

利用adb进行屏幕模拟点击按键存在一定的问题:
不同手机的分辨率不同,按键位置不唯一,写的脚本普适性很弱。
想利用monkeyrunner使用id去进行点击操作,这样不管手机的分辨率变化,脚本都可以不用修改直接使用。
目前进度:
mokeyrunner可以正常启动,导入模块也正常,但是连接手机会有问题。
python+adb—真机测试学习记录_第2张图片
待解决

已解决——monkeyrunner不用不了,于是转战appium!

你可能感兴趣的:(测试学习,adb,python,android)