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 ...
随机推荐
- php 在函数前面加个@的作用
@是错误控制运算符,用屏蔽错误提示比如:@mysql_connect() 不会出现Warning, 而原来mysql_connect 会在页面上访提示Warning.主要是高版本的php不在支持mys ...
- java四则运算----前缀、中缀、后缀表达式
接到一个新需求,需要实现可配置公式,然后按公式实现四则运算. 刚拿到需求,第一反应就是用正则匹配‘(’,‘)’,‘+’,‘-’,‘*’,‘/’,来实现四则运算,感觉不复杂. 然后开始coding.发现 ...
- Qless 相关知识
Qless是一个基于redis的分布式任务架构.相关代码在 https://github.com/seomoz/qless 它是完全有lua实现的,依靠 redis 对lua的支持,http://ww ...
- Tinymce 编辑器添加自定义图片管理插件
在使用Tinymce的过程中需要用到图片上传功能,而提供的上传插件在上传文件后是给了一个连接地址,就想用户需要什么图片,不能用最直观的方式表现出来么! 虽然官网上也有一个文件管理的插件moxieman ...
- 理解bind函数
前言:之前一直不懂这个函数是干嘛的,最近慢慢有点懂了,说一说自己的理解~ 本文按以下3个方面来谈谈bind函数 1)对bind函数的理解: 2)如何使用bind函数 3)自定义bind函数 (http ...
- 闲谈:乌云上那些 web-based 的 QQ 漏洞
0×00 起始 昨日凌晨,看到爱尖刀团队发布了一条“腾讯客户端XSS,已第一时间提交至TSRC”的微博,心想,腾讯又出此类漏洞了.今日,由于有一位名叫“阿布”的同学将该漏洞发布到了乌云,引来不少争吵甚 ...
- 4类Storage方案(AS开发实战第四章学习笔记)
4.1 共享参数SharedPreferences SharedPreferences按照key-value对的方式把数据保存在配置文件中,该配置文件符合XML规范,文件路径是/data/data/应 ...
- python item repr doc format slots doc module class 析构 call 描述符
1.item # __getitem__ __setitem__ __delitem__ obj['属性']操作触发 class Foo: def __getitem__(self, item): r ...
- js 正则常用函数
正则表达式中,需要转义的字符: * . ? + $ ^ [ ] ( ) { } | \ / let reg = /\d+/g let str = 'ad/23/dfww/454/6' 1. reg.t ...
- Java基础之StringBuffer和StringBuilder的区别
StringBuffer是一个字符串的缓存类,属于一个容器,对于容器,我们可以进行增删改查. StringBuffer的容器长度是可变的,并且里面可以存放多种的数据类型.它跟其他容器,比如数组,是很不 ...