android 自动化测试之MonkeyRunner学习(一)

简介:

    这里只是记录分享一下自己的学习心得,希望给一些新手有所启发,少一点摸索的时间,如有不准确之处,欢迎指出,不胜感激。

     android的sdk中集成了三个比较简单的可用来进行自动化测试的工具:Monkey、MonkeyRunner和Robotium。这三个测试工具都是基于黑盒测试。Monkey相对而言比较简单,只是在cmd下写几行指令对要测试的程序进行简单的压力测试。Robotium测试工具总共只有一个Solo类,里面提供了许多可以用来操作测试设备的方法。MonkeyRunner相对而言,是三个工具中功能最强大的。

MonkeyRunner测试工具主要是编写一个Python程序去安装一个android程序或者测试包,通过模拟一些对程序点击操作的过程,来测试一个程序的稳定性及通过截屏可以方便的记录出现的问题。

Monkeyrunner工具是使用Jython(使用Java编程语言的一种Python实现)写出来的。Jython允许MonkeyrunnerAPI与Android框架轻松的进行交互。至于什么是Python,大家可以百度一下,是一门很强大的面向对象的编程语言,可以跨平台运行。当然,我们使用MonkeyRunner测试工具,不必要一定先去学习Python语言,我们恐怕在实际工作中也没有那么多时间,我们只需要了解一些常用的Python编程规范即可。(这些会在后面结合代码给出)。

 现在主要讲一下怎么配置一下一个Monkeyrunner的工作环境。

 如果只是简单使用MonkeyRunner测试工具的话,就没有必要像网上说的,下载一个Python版本安装程序进行安装,或者在eclipose里面集成一个python的插件,用来调试Python程序,在eclipse里面集成插件远没有直接使用记事本或者Notepad等编辑工具好用,因为Monkeyrunner总共就只有三个类(MonkeyRunner,MonkeyDevice,MonkeyImage),也没有那么多方法,让你有在eclipse里写程序时自动提示什么的优势,而有时插件和eclipse版本之间又会出现一些让你头疼的问题。所以,只要一个记事本足矣。

     言归正传,既然是android测试,你肯定是配过android的开发环境了(不会配的可以百度)。android开发免不了要用到android sdk tools下的一些开发工具,你可以在系统环境变量里面配置一个ANDROID_HOME变量,把你的android SDK 安装路径加进去。比如我的路径是:G:\android03\android-sdk-windows。如果你已经配过了ANDROID_HOME变量,你现在只需要在你的系统变量的PATH变量中,把这句话加进去:%ANDROID_HOME%/tools;其实也就是相当于你把指向到android sdk tools的路径加到PATH变量中。

     添加好之后,你可以直接在cmd下运行:monkeyrunner 命令,回车。如果出现monkeyrunner的版本信息,就证明你monkeyrunner环境已经配成功了。(如下图)

 

有时,你配好之后,会出现NOCLASSDefFound的错误.如下图:

    这个是由于你的sdk中缺少了一个ChimpChat.jar文件,大家可以去http://code.google.com/p/aster/downloads/list下载一个最新的aster 的压缩包。这个是android系统测试需要用得到运行时环境包,解压这个压缩包,可以在以下路径中找到aster\dist\jar\chimpchat.jar ,然后,把chimpchat.jar复制到你的android sdk 中tools目录下的bin目录中,然后再运行monkeyrunner命令即可。

     配置好后,就可以在cmd下通过monkeyrunner命令运行你写的monkeyrunner Python测试文件。

     比如:monkeyrunner e:\test.py.

     今天就先写到这里。不喜欢熬夜了,大家注意身体哈。



本文转自 风泊海上 51CTO博客,原文链接:http://blog.51cto.com/fengbohaishang/958900


相关文章
|
6月前
|
安全 关系型数据库 测试技术
学习Python Web开发的安全测试需要具备哪些知识?
学习Python Web开发的安全测试需要具备哪些知识?
155 61
|
7月前
|
安全 Java 数据库
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
这篇文章是关于Apache Shiro权限管理框架的详细学习指南,涵盖了Shiro的基本概念、认证与授权流程,并通过Spring Boot测试模块演示了Shiro在单应用环境下的使用,包括与IniRealm、JdbcRealm的集成以及自定义Realm的实现。
131 3
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
|
7月前
|
自然语言处理 机器人 Python
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
ChatPaper是一个基于文本生成技术的智能研究论文工具,能够根据用户输入进行智能回复和互动。它支持快速下载、阅读论文,并通过分析论文的关键信息帮助用户判断是否需要深入了解。用户可以通过命令行或网页界面操作,进行论文搜索、下载、总结等。
188 1
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
|
7月前
|
测试技术
软件质量保护与测试(第2版)学习总结第十三章 集成测试
本文是《软件质量保护与测试》(第2版)第十三章的学习总结,介绍了集成测试的概念、主要任务、测试层次与原则,以及集成测试的不同策略,包括非渐增式集成和渐增式集成(自顶向下和自底向上),并通过图示详细解释了集成测试的过程。
145 1
软件质量保护与测试(第2版)学习总结第十三章 集成测试
|
6月前
|
前端开发 JavaScript 安全
学习如何为 React 组件编写测试:
学习如何为 React 组件编写测试:
81 2
|
6月前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
6月前
|
人工智能 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(4-2):渗透测试行业术语扫盲完结:就怕你学成黑客啦!)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(4-2):渗透测试行业术语扫盲完结:就怕你学成黑客啦!)作者——LJS
|
6月前
|
安全 大数据 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(3-2):渗透测试行业术语扫盲)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(3-2):渗透测试行业术语扫盲)作者——LJS
|
6月前
|
SQL 安全 网络协议
网络空间安全之一个WH的超前沿全栈技术深入学习之路(1-2):渗透测试行业术语扫盲)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(1-2):渗透测试行业术语扫盲)作者——LJS
|
7月前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
195 1