pythonadbshell命令
⑴ 关于python连接手机运行adb screencap -p的问题
screencap -p会直接把图形输出到终端,需要重定向一下输出到某个文件(png)里面,例如adb shell screencap -p >pic.png
⑵ 使用python顺序调用cmd以下命令:>>>adb shell >>>su >>>top
import os
cmd = "top"
os.popen(cmd)
⑶ python分步执行adb命令怎么样实现
分步执行指的是什么?你看这样可不可以,比如录视频
deviceid=’b33aa57c‘
name='xxxx'
cmd="adb-s%sshellscreenrecord/sdcard/DCIM/%s.mp4"%(deviceid,name)
subprocess.Popen(cmd,shell=True)
⑷ 怎么使用python 写android monkey测试
Windows下(注:2—4步是为了查看我们可以测试哪些应用程序包,可省略):
1、 通过eclipse启动一个Android的emulator
2、 在命令行中输入:adb devices查看设备连接情况
C:Documents and SettingsAdministrator>adb devices
List of devices attached
emulator-5554 device
3、 在有设备连接的前提下,在命令行中输入:adb shell 进入shell界面
C:Documents and SettingsAdministrator>adb shell
4、 查看data/data文件夹下的应用程序包。注:我们能测试的应用程序包都在这个目录下面
C:Documents and SettingsAdministrator>adb shell
如:
com.android.htmlviewer
com.android.settings
com.android.netspeed
com.android.providers.userdictionary
com.android.browser
com.android.contacts
com.android.alarmclock
等
5.在其中找到我们需要测试的包名com.marshalchen.MonkeyTest1
6、 以com.marshalchen.MonkeyTest1 作为对象进行MonkeyTest
monkey -p com.marshalchen.MonkeyTest1 -v 500
其中-p表示对象包 –v 表示事件数量
运行过程中,Emulator中的应用程序在不断地切换画面。
按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。
如:Sending Pointer ACTION_DOWN x=35.0 y=259.0
:Sending Pointer ACTION_UP x=195.0 y=259.0
:Sending Pointer ACTION_DOWN x=295.0 y=223.0
:Dropped: keys=0 pointers=0 trackballs=0 flips=0
等等信息。
四、Monkey停止的条件
Monkey Test执行过程中在下列三种情况下会自动停止:
1、如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。
2、如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。
3、如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。
通过多次并且不同设定下的Monkey测试才算它是一个稳定性足够的程序。
MonkeyRunner 使用
1
Monkey的使用简洁有效,但是总是给人感觉功能不够强大。所以,接下来向大家介绍非常给力的工具MonkeyRunner。
一、什么是MonkeyRunner
monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。通过 monkeyrunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图 片,并将截图存储于工作站上。monkeyrunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件,但您当 然也可以将其用于其它目的。
monkeyrunner工具与monkey工具并无关联。monkey工具直接运行在设备或模拟器的adbshell中,生成用户或系统的伪随机事件流。而monkeyrunner工具则是在工作站上通过API定义的特定命令和事件控制设备或模拟器。
monkeyrunner工具为Android测试提供了以下特性:
1.多设备控制:monkeyrunner API可以跨多个设备或模拟器实施测试套件。您可以在同一时间接上所有的设备或一次启动全部模拟器(或统统一起),依据程序依次连接到每一个,然后运行一 个或多个测试。您也可以用程序启动一个配置好的模拟器,运行一个或多个测试,然后关闭模拟器。
2.功能测试: monkeyrunner可以为一个应用自动贯彻一次功能测试。您提供按键或触摸事件的输入数值,然后观察输出结果的截屏。
3.回归测试:monkeyrunner可以运行某个应用,并将其结果截屏与既定已知正确的结果截屏相比较,以此测试应用的稳定性。
4.可扩展的自动化:由于monkeyrunner是一个API工具包,您可以基于Python模块和程序开发一整套系统,以此来控制Android设 备。除了使用monkeyrunner API之外,您还可以使用标准的Python os和subpress模块来调用如adb这样的Android工具。
您还可以向monkeyrunner API中添加您自己的类。
monkeyrunner工具使用Jython(使用Java编程语言的一种Python实现)。Jython允许monkeyrunnerAPI与Android框架轻松的进行交互。使用Jython,您可以使用Python语法来获取API中的常量、类以及方法。
⑸ 关于python在adb shell中执行系列命令问题
你这样应该是不靠谱的。尝试着把你要执行的adb好好整合一下。
⑹ 如何使用Python调用ADB shell中的命令
import os
os.system("adb shell xxxxx")
⑺ python如何进入adb shell交互模式 , 在adb shell交互模式中输入命令并实时获得结果
看上图,你可以试试,只是写了其中的一部分,具体执行部分,你用if就能搞定,希望能帮到你
⑻ 如何使用python脚本调用adb shell里面的命令
python调用Shell脚本,有两种方法:os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容。实际使用时视需求情况而选择。
现假定有一个shell脚本
test.sh:
#!/bin/bash
echo "hello world!"
exit 3
⑼ python的subprocess.Popen()执行adb命令,adb报错返回中文数据时会出错,应该怎么办
你打包成exe后,命令行应该是pyinstller -Fw xxx.py
你加上了w参数也就是把console设置成了flase;那么os.popen()或者subprocess.popen()执行的时候没有载体,你只有把console设置成true,也就是命令改为pyinstaller -F xxx.py,这样你的os.popen()可执行,也能获得返回值。
的话还蛮多的但是非要说哪一个好玩的话就没有什么标准
⑽ python adb有什么功能
ADB是Android SDK中的一个工具, 使用ADB可以直接操作管理Android模拟器或者真实的Andriod设备。
ADB主要功能有:
1、在Android设备上运行Shell(命令行)
2、管理模拟器或设备的端口映射
3、在计算机和设备之间上传/下载文件
4、将电脑上的本地APK软件安装至Android模拟器或设备上
python有两种方式去调用adb命令,一种是os.system(),一种是os.popen()。
两者的区别就是前者无法获取到返回值,后者可以获取到返回值。
os.popen()返回的是file对象,可以直接利用read()方法读取。
更多Python知识请关注Python自学网