欢迎来到赵小歪的Android世界,最近在学习Android monkey测试,并小试牛刀编写了第一个简单的monkey脚本,并成功运行,故而记录下来与大家分享。
monkey,作为Android自动化测试的利器,有其强大之处,而其基本命令网上大致都有资料可以查询,本篇文章主要从monkey脚本的角度出发,带大家了解Windows平台下monkey脚本的搭建以及运行过程,让我们开始这次旅程吧!
1.SDK配置
对于Android开发者来说,Android SDK我想都不陌生,下载完整的Android SDK后,将文件夹platform-tools路径添加到环境变量中,以便能使用adb以及fastboot命令,配置完成后可以通过在命令提示窗口运行adb version查看adb是否成功安装。
2.配置Android模拟器
对于使用Android真机的同学可以忽略这个部分。对于Android模拟器我使用的是Genymotion,Genymotion以其运行速度快,资源占用少的优势被众多Android开发人员使用。Genymotion的安装过程也很简单,具体步骤如下:
a.首先登录Genymotion官网:www.genymotion.net。
b.点击注册按钮进行注册,并进入注册使用的邮箱查看激活邮件,点击激活链接进行激活。成功注册后点击Download进入如下页面:
c.若机器上已经安装了VirtualBox直接下载without VirtualBox的版本,若没有安装选择with VirtualBox的版本。下载完成后直接进行安装即可,安装完成打开Genymotion。
d.点击Setting按钮进入设置页面,选择ADB Tab后选择Use custom Android SDK tools,并将安装的SDK路径添加进去即可。
e.在配置完成SDK路径后,我们创建自己的Android模拟器。这里在Your virtual devices中已经存在一个我配置的模拟器,我们可以通过点击Add按钮创建一个新的模拟器,但在创建之前需要将VirtualBox打开,然后点击Add按钮。
f.选择想要安装的模拟器进行下载安装即可,安装完成后选中想要打开的模拟器,点击Start按钮,启动模拟器,经过短暂的等待后,模拟器成功启动。
3.Python环境安装
对于不想安装Python的同学可以跳过这个步骤。首先安装Python环境,成功后安装PyCharm集成开发环境(为将来学习monkeyrunner编写脚本提供方便)
4.编写monkey脚本并进行测试
我们选择Android原生浏览器作为测试目标,打开浏览器我们看到如下界面:
我们需要编写的脚本很简单,主要功能如下:
1)启动Browser应用
2)在网址输入框中输入网址,如www.baidu.com
3)点击加载按钮
下面我们分步来完成这些工作,首先是启动Browser应用,对于monkey而言,我们可以使用LaunchActivity函数来启动应用,但需要传递应用的包名以及Activity名。我们在模拟器中打开浏览器,然后打开命令提示框,输入adb shell进入shell,输入命令logcat | grep START查看当前正在运行的应用程序以及包名和Activity名。
在成功启动应用后,我们需要在网址输入框中输入网址,这里我们需要点击输入框,输入网址文本后点击软键盘的回车按钮使输入的网址进入EditText控件中。对于点击输入框,我们可以通过函数DispatchPointer来完成,该函数重要的是第三、四、五三个参数,第三个参数表示点击动作的类型,类型有:ACTION_DOWN=0,ACTION_UP=1,ACTION_MULTIPLE=2。第四个参数以及第五个参数表示点击的位置的x坐标以及y坐标,这里对于点击位置的获取,我们可以通过使用Google提供的uiautomatorviewer工具来获取。该工具位于SDK tools目录下,进入该目录,按住shift键不松,点击鼠标右键选择在此处打开命令窗口,打开后输入uiautomatorviewer.bat脚本运行uiautomatorviewer。
选中需要点击的控件,如EditText即我们要输入网址的控件,在右侧我们会看到该控件的有效范围,我们只需要保证点击位置的x以及y坐标在这个范围内即可。对于输入文本,我们可以使用函数DispatchString来完成,输入文本后通过使用函数DispatchPress并传入参数66(软键盘回车按钮的key code)来完成点击软键盘回车按钮操作。完成网址的输入工作后,我们需要点击加载按钮,我们同样可以通过DispatchPointer函数来完成,点击位置仍然通过uiautomatorviewer来获取。在所有的操作过程中我们可以通过使用函数UserWait函数来设置等待时间。完整的脚本如下:
5.脚本编写完毕后,使用adb push命令将脚本push到模拟器中,在push之前使用adb remount挂载系统分区,push成功后执行命令adb shell monkey命令运行脚本,对于使用monkey命令只执行一次脚本的原因,在上面完整的脚本图片中有说明。具体运行脚本命令格式如下所示。
6.执行脚本后我们会看到模拟器成功启动Browser应用,并在网址输入框中输入www.baidu.com,并且点击加载按钮,加载网站(浏览器网址不是www.baidu.com是因为输入该网址后点击加载按钮自动链到百度的手机客户端地址)
这是小歪的第一篇技术类型的文章,语言组织有不到位的地方还希望各位看官见谅,小歪一直相信,未来的路还很长,只要有一颗永远不停止学习的心,追求卓越,总有一天会强大起来。