关于monkeyrunner的一些初步理解性的题目
1.Monkeyrunner中包含几个基本类?分别大概的作用是什么?
Monkeyrunner中基本包含了MonkeyRunner,MonkeyDevice,MonkeyImage
MonkeyRunner:主要作用是将手机与PC进行物理连接,实现在PC进行对手机的设置与控制MonkeyDevice:更多的实际的操作基于此类,里面包括对手机的各种操作与方法,对手机上的虚拟控件和按钮进行操作
MonkeyImage:将操作的结果进行截屏,保存到指定位置,可以进行参考比较
2.Mmonkeyrunner和Monkey test的区别是什么?
Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。测试方法:
使用cmd输入 adb shell monkey -p quanr.platform.kit -v 1000
这个方法适用于对应用做压力测试,使用方法简单,老少皆宜。
以下情况测试会报错:程序产生任何异常。程序ANR(不响应操作)。
Monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。通过monkeyrunner,您可以写出一个Python程序去安装一个
Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。
比较与Monkey。MonkeyRunner更像是一个“第三方”的模拟机器人,通过编写Python脚本,来控制机器人的动作。
3.Monkeyrunner中的循环方式有几种,区别是什么
(一).while:
While
循环体
例子:
#计算并输出1到30之间的奇数
integer = 1
while integer <= 30: #integer循环的范围是1-30
if integer % 2 == 1:
print integer
integer = integer + 1
(二).for:
for 控制变量 in 可遍历的表达式:
循环体
例子:
#输出10以下的非负整数中的偶数
print '10以下的非负整数中的偶数为:'
for integer in range(10): #integer循环的范围是0-9,不会有10
if integer % 2 == 0:
print integer
4.在Android的monkeyrunner测试中,启动一个应用程序的方法是什么?
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device= MonkeyRunner.waitForConnection()
device.startActivity('应用程序的包名')
5.写出5个在Monkeyrunner中的常用的Key event时间的控件名称
KEYCODE_MENU Key code constant: Menu key.
KEYCODE_HOME Key code constant: Home key.
KEYCODE_BACK Key code constant: Back key.
KEYCODE_POWER Key code constant: Power key.
KEYCODE_VOLUME_DOWN Key code constant: Volume Down key.
KEYCODE_VOLUME_UP Key code constant: Volume Up key.
6.列举5个MonkeyDevice的具体方法
①.installPackage (string path)
Installs the Android application or test package contained in packageFile onto this device. If the application or test package is already installed, it is replaced.
②. drag (tuple start, tuple end, float duration, integer steps)
Simulates a drag gesture (touch, hold, and move) on this device's screen.
③. press (string name, dictionary type)
Sends the key event specified by type to the key specified by keycode.
④. touch (integer x, integer y, integer type)
Sends a touch event specified by type to the screen location specified by x and y.
⑤. type (string message)
Sends the characters contained in message to this device, as if they had been typed on the device's keyboard. This is equivalent to calling press() for each keycode in message using the key event type DOWN_AND_UP.
⑥. wake ()
Wakes the screen of this device.
7.MonkeyImage的基本用法
①.使用句式:
newimage = MonkeyDevice.takeSnapshot()
②.图片保存
newimage.writeToFile('myproject/shot1.png','png') # myproject/:存放路径, shot1.png:图片名称, 'png':保存的图片格式
③.图片的比较
result = device.takeSnapshot()
newresult = device.takeSnapshot()
print(newresult.sameAs(result,1)) #会打印出比较的结果
8.Monkeyrunner中的对设备的编辑框输入内容的方法
device.touch(120,170,MonkeyDevice.DOWN_AND_UP) #光标定位
device.type('hello') #输入内容hello
9.Monkeyrunner中的录制,回放脚本的命令是什么
①.获取录制,和回访的脚本
②.在cmd中输入monkeyrunner monkeyrecoder.py # monkeyrecoder.py是录制的脚本运行后可以进行脚本录制
③.录制结束后,在cmd中运行monkeyrunner playback.py SR.py # playback.py 是回访的脚本 SR.py是录制好的脚本,要求是绝对路径
10.要实现连续拍照有集中方法
①边界脚本,对拍照的部分进行循环可以实现连续拍照
②通过录制回访功能,先进行一遍拍照的录制,在进行循环试回放录制的脚本,即可以实现连续拍照的功能
关于monkeyrunner的一些初步理解性的题目的更多相关文章
- Mysql加锁过程详解(7)-初步理解MySQL的gap锁
Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select fo ...
- 初步理解@Transactional注解
在SSM项目中,经常在业务层的类或者方法上看到@Transactional注解,只是知道这个注解的作用是进行事务管理,但是具体有哪些属性,在什么情况下进行回滚,确是不那么清楚.所以在网上看了一些视频和 ...
- javascript 原型及原型链的初步理解
最近折腾了好久,终于是把js里面的原型和原型链做了个初步的理解: 在这里,我打个比喻: 我(child),我妈constructor(构造函数)生了我:别人问我老妈跟谁生的我,于是此时我妈会指向我爸爸 ...
- Spring学习笔记--环境搭建和初步理解IOC
Spring框架是一个轻量级的框架,不依赖容器就能够运行,像重量级的框架EJB框架就必须运行在JBoss等支持EJB的容器中,核心思想是IOC,AOP,Spring能够协同Struts,hiberna ...
- Graph Cuts初步理解
一些知识点的初步理解_8(Graph Cuts,ing...) Graph cuts是一种十分有用和流行的能量优化算法,在计算机视觉领域普遍应用于前背景分割(Image segmentation).立 ...
- 非常易于理解‘类'与'对象’ 间 属性 引用关系,暨《Python 中的引用和类属性的初步理解》读后感
关键字:名称,名称空间,引用,指针,指针类型的指针(即指向指针的指针) 我读完后的理解总结: 1. 我们知道,python中的变量的赋值操作,变量其实就是一个名称name,赋值就是将name引用到一个 ...
- springBoot(1)---springboot初步理解
springboot初步理解 在没有用SpringBoot之前,我们用spring和springMVC框架,但是你要做很多比如: (1)配置web.xml,加载spring和spring mvc 2) ...
- 关于THINKPHP5模型关联的初步理解
初步理解的意思是,使用最常用的关联模型,然后可以正常运行 还是打个比方 文章表 和文章分类表 一个文章分类可以有多个文章 所以 文章分类模型和文章建立 hasMany的关联 而文章和文章分类表则 ...
- spfa+差分约束系统(C - House Man HDU - 3440 )+对差分约束系统的初步理解
题目链接:https://cn.vjudge.net/contest/276233#problem/C 题目大意:有n层楼,给你每个楼的高度,和这个人单次的最大跳跃距离m,两个楼之间的距离最小是1,但 ...
随机推荐
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
1.获取上个月第一天及最后一天. echo date('Y-m-01', strtotime('-1 month')); echo "<br/>"; ...
- Python学习一(面向对象和函数式编程)
学习了一周的Python,虽然一本书还没看完但是也收获颇多,作为一个老码农竟然想起了曾经荒废好久的园子,写点东西当做是学习笔记吧 对Python的语法看的七七八八了,比较让我关注的还是他编程的思想,那 ...
- 安装spf13-vim on Windows10
安装之前 1.系统为 windows10 Version 1607 64位 企业版 2.参考 http://www.codeweblog.com/gvim-64%E4%BD%8D-windows-7 ...
- Python + PIL 处理支付宝AR红包
思路比较简单:1.对图片进行锐化处理:2.设(r_h, g_h, b_h)为支付宝遮罩黑条的RGB值,以此为中心,查找半径为Diff_radius的范围内所有的色值: 3.对每一行符合步骤2的像素点个 ...
- 魅族Java面经
1. 面试官问题怎么获取Memcached里面的session,我答request.getSession().这是通过cookie里面的sessionID获取session的,Memcached里面也 ...
- 【转载】new和malloc的区别
本篇随笔为转载,原贴地址:C++中new和malloc的十点区别. 前言 几个星期前去面试C++研发的实习岗位,面试官问了个问题: new与malloc有什么区别? 这是个老生常谈的问题.当时我回答n ...
- 关于mysql数据库字符集优先级问题
mysql数据库可以分别设置数据库字符集.表字符集和表字段字符集. 1.数据库字符集 < 表字符集 < 表字段(列)字符集. 例如数据库字符集为gbk -- GBK Simplified ...
- 如果客户端禁用cookie,session还能使用吗?
记得在以前找工作的时候,可多次被问到如果客户端被禁用cookie,session还能使用吗? 今天终于找到了相关的答案:我们来看一下: session是在服务器段保持会话数据的一种方法,对应的cook ...
- Jenkins自动部署Tomcat项目
Jenkins自动部署Tomcat项目 1.安装jenkins 插件 启动Jenkins,进入系统管理-插件管理: 选择Deploy to container Plugin 插件安装:
- Buffer Cache
Buffer Cache Buffer Cache是SGA区中专门用于存放从数据文件中读取的的数据块拷贝的区域.Oracle进程如果发现需要访问的数据块已经在buffer cache中,就直接读写内存 ...