Android开发环境部署和Monkey用法入门

本帖已被设为精华帖!,

第一步:下载并安装Android Studio开发工具到磁盘目录下

我选用目前主流的Android开发工具Android Studio作为以后整个系列的主要工具,后续不再一一说明。

Android开发环境部署和Monkey用法入门

第二步:设置系统环境变量

D:\Android\SDK\platform-tools放到path

Android开发环境部署和Monkey用法入门

第三步:创建模拟器,并进行初始化

选中MainActivity,点击run,等待模拟器加载完毕

Android开发环境部署和Monkey用法入门

第四步:连接模拟器

打开cmd,使用 adb devices 命令连接Google Emulator

Android开发环境部署和Monkey用法入门

第五步:安装所测APK文件到模拟器中

  • 复制所测apk文件到platform-tools文件的目录下,然后切换到D:\Android\SDK\platform-tools,进入platform-tools文件的目录下

Android开发环境部署和Monkey用法入门

  • 在CMD命令行中输入命令 adb install xxx.apk,将需要测试的apk文件安装到Google Emulator中

Android开发环境部署和Monkey用法入门

  • 成功安装后的,APP就会显示在模拟器中

Android开发环境部署和Monkey用法入门

第六步:找到所测package name

使用adb shell,输入ls,第一次cd data,然后再次输入ls,第二次cd data,最后找到com.xxx.xxx为名的package name

Android开发环境部署和Monkey用法入门

第七步:使用monkey命令随机操作1000次 (具体用法参考Google Doc)

在CMD中输入 monkey -p package name -v –ignore-timeouts –ignore-crashes –ignore-security-exceptions 1000命令,对所测目标进行操作。

Android开发环境部署和Monkey用法入门

命令讲解
  • –ignore-timeouts:忽略超时事件继续运行
  • –ignore-crashes:忽略崩溃事件继续运行
  • –ignore-security-exceptions:忽略异常事件继续运行
  • 1000:随机操作1000次

1000次随机操作运行结束

Android开发环境部署和Monkey用法入门

第八步:输出带有W和E级别的日志信息

使用 adb logcat > D:/monkeylog.txt 导出筛选过的日志信息

Android开发环境部署和Monkey用法入门

整个操作过程中遇到的坑

  • 问题:How to solve INSTALL_FAILED_DEXOPT this error?
  • 答案:Android Studio >Build > Clean Project

  • 问题: 运行adb shell monkey XXX,控制台提示error:device offline

  • 答案: 在 adb shell 里面运行 monkey ,直接用 monkey 命令,去掉 adb shell 这个前缀。在电脑的命令行里 adb shell monkey 等价于先进入 adb 的 shell ,然后在 shell 里面启动 Monkey ,你本来就在 adb 的 shell 里面,所以 adb shell 这个前缀可以去掉。

  • 问题:如何导出monkey操作日志到本地

  • 答案:使用如下命令可以将logcat中的内容输出到文本文件中:

    • 第一种事例:adb logcat > /sdcard/monkeylog.txt 保存log文件到sd卡中
    • 第二种事例:adb logcat > D:/monkeylog.txt
  • 问题:如何过滤并输出含有W,E两个级别的日志信息

  • 答案:adb logcat -s ‘*:E *:W’

    • The priority is one of the following character values, ordered from lowest to highest priority:
    • V — Verbose (lowest priority)
    • D — Debug
    • I — Info
    • W — Warning
    • E — Error
    • F — Fatal
    • S — Silent (highest priority, on which nothing is ever printed)

参考资料

  • 《深入理解Android自动化测试》- 许奔著-机械工业出版社,2015-11-01
  • http://adbshell.com/
  • https://developer.android.com/studio/intro/index.html
  • http://stackoverflow.com/questions/31431200/example-for-using-monkey-command-with-almost-all-options-in-android

* 注:本文来自网络投稿,不代表本站立场,如若侵犯版权,请及时知会删除