Monkeyrunner学习1

本文介绍如何使用MonkeyRunner进行Android应用的自动化测试,包括连接设备、安装应用、启动Activity、模拟按键及触摸操作等常见任务的实现方法。
本人系菜鸟,写脚本的时候,经常忘记API使用方法,现列举常用的API并附上示例,希望在大家写脚本的时候有帮助!

编写py文件, 比如说test.py. 内容如下:

# Imports the monkeyrunner modules used by this program, 此处是加载需要的文件, 可以说是必须的吧。
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
 
# Connects to the current device, returning a MonkeyDevice object 此处为连接当前运行的虚拟机, 然后返回一个对象。
device = MonkeyRunner.waitForConnection()
 

# Installs the Android package. Notice that this method returns a boolean, so you can test 此处为加载apk文件
device.installPackage('./HelloWorld.apk')
 
# sets a variable with the package's internal name 此处定义包的变量, 方便管理
package = 'cn.test'

# sets a variable with the name of an Activity in the package 此处定义activity变量, 需要添加包名
activity = 'cn.test.HelloWorld'

# sets the name of the component to start  此处设置起始组件, 放在变量里
runComponent = package + '/' + activity

# Runs the component 此处为启动
device.startActivity(component=runComponent)
 

# Presses the Menu button 此处为按menu并松开
device.press('KEYCODE_MENU','DOWN_AND_UP')
 
#Takes a screenshot  此处为截图
result = device.takeSnapshot()
 
# Writes the screenshot to a file 此处为保存图片
result.writeToFile('./shot1.png','png')


PS: 如果写('./shot1.png','png') 则会保存在tools文件夹下, 

不过可以写绝对路径, 比如('d:\shot1.png','png')


1. #导入模块;

    from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage

2. #连接当前设备,并返回一个MonkeyDevice对象;
    device = MonkeyRunner.waitForConnection()
    if not device:
        print "Please connect a device to start!"
    else:
        print "Start "
    
3. #安装Android包,注意,此方法返回的返回值为boolean,由此可以判断安装过程是否正常 ;
    device.installPackage('myproject/bin/MyApplication.apk') 

4. #启动一个Activity; 
   device.startActivity(component='com.android.htccontacts/com.android.htccontacts.ContactsTabActivity')

5. #截图;
    result = device.takeSnapshot()
    result.writeToFile('C:\\Users\\Martin\\Desktop\\test.png','png')

6. #时延(秒);
    MonkeyRunner.sleep(3)

7. #滑动屏幕;
    for i in range(1,70):
        device.drag((250,850),(250,110),0.1,10)
    for i in range(1,70):
       device.drag((250,110),(250,850),0.1,10)
   MonkeyRunner.sleep(1)

8. #触击屏幕;
    device.touch(507,72,"DOWN_AND_UP")

9. #执行adb shell命令;

    device.shell("input text goup01")

10. #按键
    按下HOME键     device.press('KEYCODE_HOME','DOWN_AND_UP')
相应的按键对应的名称如下:
menu键:KEYCODE_MENU
home键:KEYCODE_HOME
back键:KEYCODE_BACK
search键:KEYCODE_SEARCH
call键:KEYCODE_CALL
end键:KEYCODE_ENDCALL
上导航键:KEYCODE_DPAD_UP
下导航键:KEYCODE_DPAD_DOWN

计及风电并网运行的微电网及集群电动汽车综合需求侧响应的优化调度策略研究(Matlab代码实现)内容概要:本文研究了计及风电并网运行的微电网及集群电动汽车综合需求侧响应的优化调度策略,并提供了基于Matlab的代码实现。研究聚焦于在高渗透率可再生能源接入背景下,如何协调微电网内部分布式电源、储能系统与大规模电动汽车充电负荷之间的互动关系,通过引入需求侧响应机制,建立多目标优化调度模型,实现系统运行成本最小化、可再生能源消纳最大化以及电网负荷曲线的削峰填谷。文中详细阐述了风电出力不确定性处理、电动汽车集群充放电行为建模、电价型与激励型需求响应机制设计以及优化求解算法的应用。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事新能源、微电网、电动汽车等领域技术研发的工程师。; 使用场景及目标:①用于复现相关硕士论文研究成果,深入理解含高比例风电的微电网优化调度建模方法;②为开展电动汽车参与电网互动(V2G)、需求侧响应等课题提供仿真平台和技术参考;③适用于电力系统优化、能源互联网、综合能源系统等相关领域的教学与科研项目开发。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注模型构建逻辑与算法实现细节,同时可参考文档中提及的其他相关案例(如储能优化、负荷预测等),以拓宽研究视野并促进交叉创新。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值