Monkeyrunner测试小实践
环境搭建完成后,我们通过命令打开模拟器,前提是在Eclipse中创建了一个模拟器
(1)cmd命令:emulator -avd 模拟器名称

启动了模拟器,此时你就会看到一个安卓模拟器的弹出

(2)cmd命令:monkeyrunner,命令输入后会进入monkeyrunner的shell命令交互环境

接下来我们就可以开始将需要的monkeyrunner的模块导入,然后将monkeyrunner和模拟器相连
导入模块:命令:from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice

按回车后没有什么问题的话我们就开始连接模拟器
device = MonkeyRunner.waitForConnection()

连接完成之后,我们使用monkeyrunner的命令在模拟器中安装我们需要测试的apk
device.installPackage("apk的路径"),返回的是True的话则说明安装成功,可以打开模拟器查看安装的软件的图标

然后,我们要用命令启动程序中任意的Activity,必须用命令传入package和activity名称,但此时我只有apk的名字却没有包名,现在我们先获取下包名和Activity的名称
(1)首先,在sdk的build-tools文件夹下的aapt的程序可以用来查看apk的详细信息
我们需要配置一下aapt的环境变量,配置的方法和sdk的tools的方法是一样的

(2)cmd重新打开一个新的控制台窗口,输入命令:aapt deump badging apk的绝对路径

Activity名

如果先要获取当前打开的页面的的Activity,则可以通过adb的命令:
adb shell "dumpsys window | grep mCurrentFocus" ”,里边的双引号需要加上,Enter键,此时你会看到你要的包名和activity名.
好了,回归正传,我们开始用命令传入package和activity名称,通过这条命令会打开程序的主页面,以下图某个软件的主页面是登录界面

接下来我们可以自己输入需要操作和测试的命令进行测试,以上的命令是单独在控制台上一条一条地输入,或者可以写在python文件中,在控制窗口直接执行文件,
D:\Software\Android2.3.3\android-sdk-windows\tools>monkeyrunner monkeyrunnerTest.py
接下来monkeyrunner会自动调用monkeyrunnerTest.py,并执行其中的语句
注意:
1、将monkeyrunnerTest.py文件存放到monkeyrunner文件同一目录中。可以执行:monkeyrunner monkeyrunnerTest.py 调用
2、指定python文件位置。如果test.py文件在D盘根目录下,可以这样执行:monkeyrunner d:\monkeyrunnerTest.py
还有另外的操作方法就是我们在环境配置中讲到过可以使用Eclipse安装的Jython运行python脚本,即我们可以将以上的命令写入.py文件中,然后执行,写入脚本执行的步骤请看转载的安装python插件的文章。
Monkeyrunner测试小实践的更多相关文章
- CODING DevOps 线下沙龙回顾二:SDK 测试最佳实践
讲师:潘志刚 声网质量效能部门负责人,超过 14 年服务器.移动终端.音视频编解码以及汽车电子等跨行业从业经历,负责建立测试基础架构和自动化测试方案,主持搭建持续集成测试生态体系.现任声网质量效能部门 ...
- react、react-router、redux 也许是最佳小实践1
小前言 这是一个小小的有关react的小例子,希望通过一个小例子,可以让新手更好的了解到react.react-router4.0.redux的集中使用方法. 这是基于create-react-app ...
- F#之旅4 - 小实践之快排
参考文章:https://swlaschin.gitbooks.io/fsharpforfunandprofit/content/posts/fvsc-quicksort.html F#之旅4 - 小 ...
- 锤子便签的 monkeyrunner 测试脚本(转)
https://testerhome.com/topics/878 MonkeyRunner可能大家已经听过无数次了,大家在网上也看过了各种关于的它的资料了,我这里就不再过多的啰嗦它的用途了,它可以对 ...
- monkey测试===monkeyrunner测试教程(1)
1.安装测试环境 jdk 安装与配置 android sdk安装与配置 Python编辑器安装与配置 以上安装请自行百度教程 Monkeyrunner使用方法 http://www.android-d ...
- [翻译] API测试最佳实践 - 身份验证(Authentication)
API测试最佳实践 - 身份验证 适用等级:高级 1. 概况 身份验证通常被定义为是对某个资源的身份的确认的活动,这里面资源的身份指代的是API的消费者(或者说是调用者).一旦一个用户的身份验证通过了 ...
- 随心所欲生成git仓库随意一段commit的专用patch应用小实践
随心所欲生成git仓库随意一段commit的专用patch应用小实践 我们在开发中.时不时的可能要去做一个patch给你的下线,或者你的合作者.在git管理中,我们知道有git format-pat ...
- 最简容器化动手小实践——再战flappybird
<Flappy Bird>是一名越南开发者所开发的游戏,这款游戏的主要内容是帮助一只小鸟穿越水管的层层阻碍,玩家所需要的只是点击屏幕从而调整小鸟的高度.而令这款游戏与众不同的是,这款游戏的 ...
- 利用 Python 写一个颜值测试小工具
我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 很多人学习python,不知道从何学起.很多人学习p ...
随机推荐
- Springboot @ResponseBody返回中文乱码
最近我在把Spring 项目改造Springboot,遇到一个问题@ResponseBody返回中文乱码,因为response返回的content-type一直是application/json;ch ...
- 高性能分布式锁-redisson的使用
1,概述:在一些高并发的场景中,比如秒杀,抢票,抢购这些场景,都存在对核心资源,商品库存的争夺,控制不好,库存数量可能被减少到负数,出现超卖的情况,或者 产生唯一的一个递增ID,由于web应用部署在多 ...
- poj 3070 Fibonacci 矩阵相乘
Fibonacci Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7715 Accepted: 5474 Descrip ...
- hdu 1397 (素数判定)
一开始提交了这个,果断TLE #include <cstdio> #include <iostream> #include <string> #include &l ...
- spss C# 二次开发 学习笔记(六)——Spss统计结果的输出
Spss的二次开发可以很简单,实例化一个对象,然后启用服务,接着提交命令,最后停止服务. 其中重点为提交命令,针对各种统计功能需求,以及被统计分析的数据内容等,命令的内容可以很复杂,但也可以简单的为一 ...
- k:特殊的线性表—队列
队列的概念: 队列是另一种特殊的线性表,它的特殊性体现在其只允许在线性表的一端插入数据元素,在线性表的另一端删除数据元素(一般会采用在线性表的表尾那端(没被head指针所指的那端)插入数据元素,在线 ...
- Spring的自动装配Bean
spring的自动装配功能的定义:无须在Spring配置文件中描述javaBean之间的依赖关系(如配置<property>.<constructor-arg>).IOC容器会 ...
- arguments 参数
下面要写的是知识梳理的一个案例: 写一个求和的方法sumFn,不管传递的参数有什么,都能将最终的和算出来,并且返回给函数外部使用.(要求:一个参数都不传默认结果为0,对于传递的非正常数字的参数不与累加 ...
- css,js移动资源
随着移动市场的逐步扩大及相关技术的日趋完善,对前端开发提出了新的岗位要求,在继承前人成果的基础上需要在新的历史条件下有新的创新.移动端的开发,虽然没有IE6众多问题的折磨,但是多平台,多设备的兼容,也 ...
- 前端之body标签中相关标签(二)
一 列表标签 列表标签分为三种. 1.无序列表<ul>,无序列表中的每一项是<li> 英文单词解释如下: a.ul:unordered list,“无序列表”的意思. b.li ...