环境搭建完成后,我们通过命令打开模拟器,前提是在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测试小实践的更多相关文章

  1. CODING DevOps 线下沙龙回顾二:SDK 测试最佳实践

    讲师:潘志刚 声网质量效能部门负责人,超过 14 年服务器.移动终端.音视频编解码以及汽车电子等跨行业从业经历,负责建立测试基础架构和自动化测试方案,主持搭建持续集成测试生态体系.现任声网质量效能部门 ...

  2. react、react-router、redux 也许是最佳小实践1

    小前言 这是一个小小的有关react的小例子,希望通过一个小例子,可以让新手更好的了解到react.react-router4.0.redux的集中使用方法. 这是基于create-react-app ...

  3. F#之旅4 - 小实践之快排

    参考文章:https://swlaschin.gitbooks.io/fsharpforfunandprofit/content/posts/fvsc-quicksort.html F#之旅4 - 小 ...

  4. 锤子便签的 monkeyrunner 测试脚本(转)

    https://testerhome.com/topics/878 MonkeyRunner可能大家已经听过无数次了,大家在网上也看过了各种关于的它的资料了,我这里就不再过多的啰嗦它的用途了,它可以对 ...

  5. monkey测试===monkeyrunner测试教程(1)

    1.安装测试环境 jdk 安装与配置 android sdk安装与配置 Python编辑器安装与配置 以上安装请自行百度教程 Monkeyrunner使用方法 http://www.android-d ...

  6. [翻译] API测试最佳实践 - 身份验证(Authentication)

    API测试最佳实践 - 身份验证 适用等级:高级 1. 概况 身份验证通常被定义为是对某个资源的身份的确认的活动,这里面资源的身份指代的是API的消费者(或者说是调用者).一旦一个用户的身份验证通过了 ...

  7. 随心所欲生成git仓库随意一段commit的专用patch应用小实践

     随心所欲生成git仓库随意一段commit的专用patch应用小实践 我们在开发中.时不时的可能要去做一个patch给你的下线,或者你的合作者.在git管理中,我们知道有git format-pat ...

  8. 最简容器化动手小实践——再战flappybird

    <Flappy Bird>是一名越南开发者所开发的游戏,这款游戏的主要内容是帮助一只小鸟穿越水管的层层阻碍,玩家所需要的只是点击屏幕从而调整小鸟的高度.而令这款游戏与众不同的是,这款游戏的 ...

  9. 利用 Python 写一个颜值测试小工具

    我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 很多人学习python,不知道从何学起.很多人学习p ...

随机推荐

  1. 十三、curator recipes之SharedCounter

    简介 我们可以通过curator实现对一个分布式环境下共享变量的访问,zookeeper将共享变量维护在同一个路径下. 官方文档:http://curator.apache.org/curator-r ...

  2. 【SSH网上商城项目实战10】商品类基本模块的搭建

    转自:https://blog.csdn.net/eson_15/article/details/51354932 前面我们完成了与商品类别相关的业务逻辑,接下来我们开始做具体商品部分. 1. 数据库 ...

  3. HTML绝对路径和相对路径

    HTML路径: 绝对路径:从根目录开始 相对路径:../ 相对于html文件,上一级 ./ 相对于html文件,当前路径(可以省略) 文件夹名 相对于html文件,往文件里面走

  4. css的高级选择器,后代选择器,子代选择器,并集选择器,交集选择器

    高级选择器: 后代选择器 子代选择器 并集选择器 交集选择器 一.后代选择器: 使用空格表示后代选择器,父元素的后代(包括儿子,孙子,从孙子) 也就是说,box类下的所有span标签 字体颜色都被设置 ...

  5. svg动画之日出

    效果分析 一个太阳,从底部升起来,天空由黑变蓝.那么要画的东西确定为三个:1.太阳(圆形)2.太阳光芒 3.天空 代码如下 <!--画太阳--> <svg width="6 ...

  6. Uncaught TypeError: _react2.default.createContext is not a function

    question is caused by react version, update your react version, it will be ok. use "npm update ...

  7. GIS 地理坐标分类

    wgs84 GPS系统直接通过卫星定位获得的坐标.(最基础的坐标.) gcj02 兲朝已安全原因为由,要求在中国使用的地图产品使用的都必须是加密后的坐标.这套加密后的坐标就是gcj02 google的 ...

  8. Android MVC模式和MVP模式的区别

    MVC模式: 1. MVC的所有通信都是单向的. 2. view传送指令到controller(用户也可以直接将指令传到controller). 3. controller完成业务逻辑后要求model ...

  9. Evernote Markdown Sublime实现

    版权声明: 欢迎转载,但请保留文章原始出处 作者:GavinCT 出处:http://www.cnblogs.com/ct2011/p/3996164.html Evernote无法实现markdow ...

  10. OkHttp3源码详解(三) 拦截器

    1.构造Demo 首先构造一个简单的异步网络访问Demo: OkHttpClient client = new OkHttpClient(); Request request = new Reques ...