老李推荐: 第3章2节《MonkeyRunner源码剖析》脚本编写示例: MonkeyDevice API使用示例 3

第四步:启动应用。

代码3-2-4 增加日记-启动应用

 #Step 4: Start the NotePad apk and direct to activity com.example.android.notepad.NotesList

  device.startActivity(component="com.example.android.notepad/com.example.android.notepad.NotesList")

  

  MonkeyRunner.sleep(3)

在确定目标应用已经在目标设备安装好后,下一步需要做的事情就是去把目标应用打开,并且定位到目标应用的NotesList这个入口Activity里面。就像每个代码都有一个入口main函数,安卓里面的每个应用也都会有一个入口Activity。至于一个Activity是否是入口是通过项目的AndroidManifest.xml指定的,具体示例请看下图来自NotePad项目的AndroidManifest.xml的描述:

图3-2-3 AndroidManifest.xml指定入口Actvity 

第五步:进入NoteEditor Activity

代码3-2-5 增加日记-打开NoteEditor Activity

#Step 5: Direct to the NoteEditor activity to add a note

device.press('KEYCODE_MENU', MonkeyDevice.DOWN_AND_UP);

 

MonkeyRunner.sleep(3)  #Wait a bit for the new page to get ready

 

#Touch on the "Add note" menu entry by coordinate 

device.touch(250,750,MonkeyDevice.DOWN_AND_UP)

 

MonkeyRunner.sleep(3)  #Wait a bit for the new page to get ready

当进入到入口Activity NotesList后,下一步需要做的事情就是去打开NoteEditor这个Activity,以便往后添加一个新的日记了。进入到该Activity的方式是先去点击系统菜单按键调出选项菜单,然后触控菜单项”Add note”就会进入到目标Activity了。这里23行的按键方法press的第一个参数代表按键键值,它的写法有多个选择,比如这里的系统菜单键可以写成”KEYCODE_MENU”,也可以写成“MENU”,甚至可以写成真正的键值”82”。今后我们在原理分析的时候都会看到为什么会是这样,这里就先卖个关子。然后我们看到press的第二个参数就是本小节前面描述的案件动作,这里是DOWN_AND_UP,代表一个普通的按下按键然后释放按键动作。打开菜单选项后,就需要模拟触控事件来对其中的”Add note”这个菜单项进行点击了,这里调用的是MonkeyDevice的touch触控方法,前面两个参数代表需要触碰的屏幕的绝对坐标。我们可以通过uiautomator viewer这个工具来找到该坐标值,在上一章中我们已经有过这方面的描述,这里我们就不累述了,大家不清楚怎么做的请返回上一章进行查看。当触碰该菜单项后应用就会打开NoteEditor这个Activity了。

第六步:输入新建日记内容

代码3-2-6 增加日记-输入日记内容

#Step 6: Type in the text for the note

 device.type("MyFirstNote")

通过上一章的学习,我们知道进入NoteEditor这个Activity之后,安卓的软键盘就会自动弹出来方便用户输入日记的内容。所以这一步要做的事情就是调用MonkeyDevice.type方法来把参数指定的日记内容,同时也是标题,写入到NoteEditor的日记控件里面,最终效果如下图所示。

图3-2-4 增加日记内容 

第七步:保存新增加日记

代码3-2-7 增加日记-保存日记

 #Step7: Save the note by touch on the "save" menu entry by coordinate

device.press('KEYCODE_MENU', MonkeyDevice.DOWN_AND_UP);

 

MonkeyRunner.sleep(3)  #Wait a bit for the new page to get ready

 

device.touch(200,750,MonkeyDevice.DOWN_AND_UP)

保存日记的流程跟前面打开NoteEditor的流程是一样的,都是先用press方法模拟点击系统菜单按键,然后使用touch触控方法触碰菜单选项的“save”选项来保存新增日记。


你可能感兴趣的:(软件测试开发)