monkeyrunner基本使用

一、简介

通过monkeyrunner api可以用python模拟操作控制android设备app,测试稳定性并通过截屏方便的记录出现的问题。

二、路径

Android SDK\tools

三、功能

1、控制多个android设备

2、功能测试,为应用自动执行一次功能测试,然后观察输出结果的截屏

3、可拓展自动化;monkeyrunner是一个API工具包,可以开发基于python模块的整个系统来控制android设备

四、MonkeyRunner和monkey区别

monkey是在设备直接运行在adb shell命令生成的随机事件来进行测试。MonkeyRunner通过api发送特定指令和事件来控制设备。

五、环境搭建

1、jdk

2、android sdk

3、python安装

4、monkeyrunner配置  {PATH}\Android_SDK\tools

六、安装结果监测

直接运行monkeyrunner

七、MonkeyRunner常用三个类

1、MonkeyRunner 提供真机连接和模拟器、输入、暂停、警告框等方法。

alert() 警告框

choice()选项列表框

help()api帮助文档

input()输入

sleep()暂停

waitForConnection()等待连接设备

常用方法:waitForConnection(timeout,deviceid)

from com.android.monkeyrunner import MonkeyRunner as mr
print("connect devices...")

device=mr.waitForConnection()
# device=mr.waitForConnection(5,'127.0.0.1:62001')

2、MonkeyDevice类

提供安装和卸载程序包、开启activity、发送按键和点击事件、运行测试包等方法。

broadcastintent()发送广播

drag()拖拽

getProperty() 获取设备当前属性

getSystemProperty() 获取当前设备属性

installPackage() 安装包

instrument() 执行测试用例

press() 按键

reboot() 重启

removePackage()删除指定包

shell() 执行命令

startActivity()启动应用

touch()点击

 

from com.android.monkeyrunner import MonkeyRunner as mr
from com.android.monkeyrunner import MonkeyDevice as md


print("connect devices...")
device=mr.waitForConnection()

print("install app...")
device.installPackage(r'C:\Users\Shuqing\Desktop\kaoyan3.1.0.apk')

package = 'com.tal.kaoyan'
activity = 'com.tal.kaoyan.ui.activity.SplashActivity'
runComponent = package + '/' + activity

print("launch App...")
device.startActivity(component=runComponent)

# 代码执行方式
# monkeyrunner scripfile

# C:\Users\Shuqing>monkeyrunner E:\monkeyrunner_script\kyb.py

3、MonkeyImage类

测试过程中测试截图,可进行图像对比

convertToBytes() 转换图像格式

getRawPixel() 获取当前坐标像素元祖

getRawPixeLint() 获取当前坐标像素值

sameAs()图像对比

writeToFile()保存图像文件

getSubImage()获取子图像

from com.android.monkeyrunner import MonkeyImage as mi  
print("takeSnapshot")
screenshot=device.takeSnapshot()  
screenshot.writeToFile(r'E:\monkeyrunner_script\test.png','png')  

 

八、综合实践

测试场景

  • 连接设备,自动安装并启动考研帮app
  • 启动后登录账号(账号zxw1234 密码:zxw123456),然后截图并保存到指定文件位置。

思路分析

  • 连接设备
  • 安装app
  • 启动app
  • 输入用户名密码点击登录按钮
  • 截图
    from com.android.monkeyrunner import MonkeyRunner as mr
    from com.android.monkeyrunner import MonkeyDevice as md
    from com.android.monkeyrunner import MonkeyImage as mi
    
    print("connect devices...")
    
    device=mr.waitForConnection()
    
    print(" install app")
    device.installPackage(r'C:\Users\Shuqing\Desktop\kaoyan3.1.0.apk')
    
    print("launch app...")
    package='com.tal.kaoyan'
    activity='com.tal.kaoyan.ui.activity.SplashActivity'
    runComponent=package+'/'+activity
    
    device.startActivity(component=runComponent)
    mr.sleep(3)
    
    
    print("touch cancel button")
    device.touch(618,895,'DOWN_AND_UP')
    mr.sleep(1)
    
    
    print("touch skip button")
    device.touch(804,67,'DOWN_AND_UP')
    mr.sleep(1)
    
    print("input username and password")
    device.touch(57,373,'DOWN_AND_UP')
    mr.sleep(2)
    device.type('zxw1234')
    
    device.touch(152,480,'DOWN_AND_UP')
    mr.sleep(2)
    
    device.type('zxw123456')
    mr.sleep(2)
    
    print("touch login button")
    device.touch(331,634,'DOWN_AND_UP')
    
    
    print("takeSnapshot")
    screenshot=device.takeSnapshot()
    screenshot.writeToFile(r'D:\monkeyrunner\kyb.png','png')
    
    

九、注意事项

需要在代码顶部补充 # -- coding: utf-8 -- 或者去掉代码中的中文字符

 

 

 

 

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值