关于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.要实现连续拍照有集中方法

①边界脚本,对拍照的部分进行循环可以实现连续拍照

②通过录制回访功能,先进行一遍拍照的录制,在进行循环试回放录制的脚本,即可以实现连续拍照的功能

上一篇:XCL-Charts图表库中柱形图的同源风格切换介绍


下一篇:大专生面试阿里P7居然过了,Java程序员必须掌握的技术