一 车机自动化概念

提到车机自动化,我们就需要想到adb,其实车机自动化是建立在adb上面,我们需要对adb进行一个剖析。

1 adb命令

    adb devices 查看连接设备

    adb shell

    adb pull和adb push 导出和导入

    adb install <apkfile>   安装

    adb uninstall <package>  如何找到安装包,通过adb shell,然后进入data/data目录

    adb kill-server  杀掉adb

    adb shell pm list packages    查看所有安装包

    adb shell pm list packages -s  查看系统的安装包

    adb shell pm list packages -3  查看第三方的安装包

    adb shell pm list packages | grep qq  查找安装包

    adb shell pm clear <packagename>  杀掉APP的缓冲

    adb shell am start -n com.stormzhang.demo/.ui.SplashActivity   打开应用

    adb logcat  查看日志

    adb reboot  重启

UIautomator模块

用于android自动化的Python模块,主要通过控件的ID等信息来识别控件然后做相应的处理,UIautomator具体的函数说明如下

作用

函数

输入

确认设别对象

from uiautomator import Deviced=Device('014E05DE0F02000E')
e=Device('014E05DE0F02000E')

确认设别对象

from uiautomator import device as d

d.info

打开/关闭屏幕

d.screen.on()
d.screen.off()

点击按键

d.press.home()
d.press.back()

点击固定的坐标

d.click(x, y)
d.long_click(x, y)

拖动

d.swipe(sx, sy, ex, ey)
d.swipe(sx, sy, ex, ey, steps=10)

拖动

d.drag(sx, sy, ex, ey)
d.drag(sx, sy, ex, ey, steps=10)

截图

d.screenshot("home.png")

将屏幕结构储存

d.dump("hierarchy.xml")
xml=d.dump()

注册监视器

d.watcher("AUTO_FC_WHEN_ANR").when(text="ANR").when(text="Wait") \.click(text=
"Force Close)

移除监视器

d.watcher("watcher_name").remove()

处理程序

def fc_close(device):
    if device(text='Force Close').exists:        device(text='Force Close').click()
return True  

选择器

d(text='Clock', className='android.widget.TextView')

    

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐