4.5 Monkey如何执行脚本
在4.4章节,我们已经向大家介绍了Monkey支持的一些用于自动化测试的脚本命令,那接下来我们将向大家介绍如何驱动这些命令。
如果大家认真的阅读了前面的MonkeySourceScript.java的源代码,就会发现有下面这样的一段注释信息,它告诉了我们Monkey脚本的一些特殊格式要求。
/** * monkey event queue. It takes a script to produce events sample script format: * * <pre> * type= raw events * count= 10 * speed= 1.0 * start data >> * aptureDispatchPointer(5109520,5109520,0,230.75429,458.1814,0.20784314,0.06666667,0, 0.0,0.0,65539,0) * captureDispatchKey(5113146,5113146,0,20,0,0,0,0) * captureDispatchFlip(true) * ... * </pre> */ |
下面,我们针对上面的Monkey脚本格式注释内容,向大家做一个简单的介绍。
"type=raw events":表示脚本的类型。
"count=10":用于说明执行次数,但我们可以尝试下改变它的值,发现不管我们改成什么都只是执行一次,所以不用去改变它。
"speed=1.0":用于调整两次执行随机事件的发送频率。
这3个参数改动似乎对脚本的执行都没什么影响,所以我们最好不做改动。
"start data >>"即"start data >>":它是一个特殊的分隔行,相当于一个入口,说明脚本从下面开始就是真正的Monkey相关的事件序列执行语句了。
例子:为了方便大家更好的学习和应用Monkey命令来完成自动化功能测试工作,这里我们以图4-11所示的"手机QQ"应用登陆为例,向大家介绍一个实例,以下是我编写的脚本"QQTest.ms"文本文件全文内容。
type= raw events count = 1 speed = 1.0 start data >> LaunchActivity(com.tencent.mobileqq,com.tencent.mobileqq.activity.SplashActivity) UserWait(5000) DispatchPointer(0,0, 0, 138, 456, 0, 0, 0, 0, 0, 0, 0) DispatchPointer(0,0, 1, 138, 456, 0, 0, 0, 0, 0, 0, 0) UserWait(200) DispatchPress(KEYCODE_1) UserWait(300) DispatchPress(KEYCODE_7) UserWait(300) DispatchPress(KEYCODE_3) UserWait(300) DispatchPress(KEYCODE_3) UserWait(300) DispatchPress(KEYCODE_9) UserWait(300) DispatchPress(KEYCODE_1) UserWait(300) DispatchPress(KEYCODE_6) UserWait(300) DispatchPress(KEYCODE_1) UserWait(300) DispatchPress(KEYCODE_8) UserWait(300) DispatchPointer(0,0, 0, 28, 520, 0, 0, 0, 0, 0, 0, 0) DispatchPointer(0,0, 1, 28, 520, 0, 0, 0, 0, 0, 0, 0) UserWait(200) DispatchPress(KEYCODE_A) UserWait(200) DispatchPress(KEYCODE_B) UserWait(200) DispatchPress(KEYCODE_C) UserWait(200) DispatchPress(KEYCODE_D) UserWait(200) DispatchPress(KEYCODE_E) UserWait(200) DispatchPress(KEYCODE_F) UserWait(200) DispatchPress(KEYCODE_1) UserWait(200) DispatchPress(KEYCODE_2) UserWait(200) DispatchPointer(0,0, 0, 347, 652, 0, 0, 0, 0, 0, 0, 0) DispatchPointer(0,0, 1, 347, 652, 0, 0, 0, 0, 0, 0, 0) UserWait(200) |
本文选自《精通移动App测试实战:技术、工具和案例》第四章,本站经人民邮电出版社和作者的授权。
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。