环境搭建完成后,我们通过命令打开模拟器,前提是在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. ios开发 学习积累20161027~20161031

    前言 学习ios这几天来,总结下,函数的定义,调用.跟其他语言都有一定的区别: 几个特别重要的就是对象的迭代的使用和判断.取随机数.动画的实现及数组的深入研究等等 之前的总结地址 ios开发 学习积累 ...

  2. 讨论!MyBatis中利用package自动扫描包中的类,默认别名不只是首字母小写!

    问题描述:这个问题我是在看书的时候碰到的.书上写着通过package标签扫描包中的类,将其第一个字母变为小写作为其别名.我在网上查了一些博主也是这么写的 但是!我发现,无论大小写,只要是类名就好,而且 ...

  3. stringstream快速实现String和int之间的转换

    需要包含头文件”sstream” #include <iostream> #include <string> #include <sstream> using na ...

  4. 2.springioc实例化bean的三个方法

    1.构造器 也就是在上一篇讲的那个例子,调用默认的无参构造函数 2.静态工厂方法 1)创建需要执行的方法的类 public class HelloWorld { public HelloWorld() ...

  5. IDEA 2017.2.2 环境下使用JUnit

    JUnit:单元测试框架,测试对象为一个类中的方法. JUnit不是Javase的一部分,想要使用需要导入jar包,在IntelliJ IDEA 中自带JUnit插件. JUnit 版本有3.X 4. ...

  6. DOM基础代码练习(一)

    上一篇介绍了一下DOM的一些基础的知识,这里我整理了一些有关上一篇知识点的一些封装函数. 1.遍历元素节点 function retChild(node) { var child = node.chi ...

  7. css 动画中 ease,seae-in,ease-in-out,ease-out,效果区别

    linear 规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1)).(匀速) ease 规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0. ...

  8. can't start Git: git.exe

    can't start Git: git.exe :不能启动Git 这是因为Git的可执行文件的路径不正确,需要手动设置,. 找到设置Git的窗口 然后修改一下路径就行了 点击OK就可以了.

  9. sql With(NoLock),With(ReadPast)

    --------------- create table tmp1 ( id int primary key, name ) ) ----------- insert into tmp1(id,nam ...

  10. SQL-字符串运算符和函数

    COALESCE(columnname,string) 函数 将 NULL 值作为字符串(用空字符串或其他字符串替换 NULL)- 接受一列输入值(字段)如果该字段为 NULL,则返回后面替换的字符串 ...