Monkey如何执行脚本—精通移动App测试实战(4)

发表于:2016-4-06 09:49

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:于涌 王磊 曹向志    来源:51Testing软件测试网原创

  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 &gt;&gt;
* 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 &gt;&gt;"即"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软件测试网获人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号