iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >用Monkeyrunner实现Android的自动化测试
  • 557
分享到

用Monkeyrunner实现Android的自动化测试

自动自动化monkeyrunner自动化测试测试Android 2022-06-06 12:06:32 557人浏览 八月长安
摘要

   近由于公司在组织一个Free CoDE的项目,也是由大家自己选择研究方向来做一些自己感兴趣的研究。由于之前我学过一点点关于Android的东西,并且目前an

   近由于公司在组织一个Free CoDE的项目,也是由大家自己选择研究方向来做一些自己感兴趣的研究。由于之前我学过一点点关于Android的东西,并且目前android开发方兴未艾如火如荼,但自动化测试还基本上属于新兴领域,接触的人并不多,所以我给我们团队提出研究android自动化测试方面的项目,果然得到大家一致的赞同,大家的兴致都很高,呵呵。于是二话不说,我们开始看看现在android平台上现有的一些自动化测试工具。经过网上的一番搜索和学习,我了解目前android SDK里自带的现成的测试工具有monkey 和 monkeyrunner两个。大家别看这俩兄弟名字相像,但其实是完完全全不同的两个工具,应用在不同的测试领域。总的来说,monkey主要应用在压力和可靠性测试上,运行该命令可以随机地向目标程序发送各种模拟键盘事件流,并且可以自己定义发送的次数,以此观察被测应用程序的稳定性和可靠性,应用起来也比较简单,记住那几个命令行了。而monkeyrunner呢,相比之下会强大一些,它主要可应用于功能测试,回归测试,并且可以自定义测试扩展,灵活性较强,并且测试人员可以完全控制。

  好了,废话不多说,我们直接进入主题吧。之所以想把这个过程写下来,是由于经过我这段时间在网上的搜索和学习,发现关于monkeyrunner的教程极少,几乎都是把android官方材料自己翻译了一下摆上去的,对于第一次接触的同学来说,可能还不太详细。我在这里想以完全初学者的角度出来,真正从0开始,记录我的学习过程。本文仅针对真正的菜鸟,大虾们请飘过哈,嘿嘿。

  要使用Monkeyrunner,我们首先得干神马呢?当然得准备使用环境。这个不外乎是我们得事先安装好android的SDK,配置好开发环境(如Eclipse),安装好python(因为Monkeyrunner其实是由Jython写的,直接调用android api来整的)。这些步骤网上都有非常详细的教程,教大家手把手地搭环境,我这里不多废话了。

  环境搭好后,接下来开始我们的使用之旅了。网上的monkeyrunner很多都直接从实例代码入手,写得很粗略,也没有把详细步骤说明下来,搞得我确实废了两三天才摸到头绪。所以我这里会写得很详细,尽量帮助大家能够轻易地看懂。详细步骤如下(在模拟器上运行,由于不知道什么原因图片不能正常显示,所以我还是直接写命令吧):

  1. 用Elipse打开andorid的模拟器或者在CMD中用andorid命令打开模拟器,如下:

  D:SoftwareAndroid SDK2.3android-sdk-windows ools>emulator -avd AVD2.3.3

  Comments: 定位到android SDK的路径下的tools目录,运行上面这个命令。“AVD2.3.3”是我的模拟器的名字,这个命令是每个人自己命名的,用的时候需改成实际的名字。

  2. 这个时候,如果一切正常的话,模拟器应该可以启动起来了。(运行monkeyrunner之前必须先运行相应的模拟器,不然monkeyrunner无法连接设备。这点很多教程上都没有说,我也试了好多次才明白过来)。接着,我们打开另一个CMD窗口(前一个不要关),还是定位到tools目录,输入命令"monkeyrunner",回车,将进入shell命令交互模式。

  好了,接下来可以导入monkeyrunner所要使用的模块了。当然是我们的"From...import..."

  直接在shell命令中输入: from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice 回车

  OK,这步完成之后,我们可以开始和模拟器“勾兑”了,哈哈,命令如下:

  device = MonkeyRunner.waitForConnection()

  没有报错的话,代表和模拟器勾兑成功,我们可以接着“骚扰”它了。接下来,我们可以在里面装点东西了。输入如下命令,并传入你的apk所在相对路径即可。我这安装的是的ApiDemos。成功了会返回true。如果没有返回true,一般都是语法错误或者你传入的相对路径有问题,仔细检查下没问题了。

  device.installPackage("../samples/android-10/ApiDemos/bin/Apidemos.apk")

  接下来,我们可以启动其中的任意activity了,只要传入package和activity名称即可。命令如下:

  device.startActivity(component = "com.example.android.apis/com.example.android.apis.ApiDemos")

  此时模拟器会自动打开ApiDemos这个应用程序的主页。

  接下来我们还可以给模拟器发送更多的操作,如模拟任何按键时间和滚动等,并且可以截图。命令格式和上述命令类似,我不再累述了。

  当然,我们也可以不这样麻烦得一行行地输入命令,可以将从“from...import...”开始的所有后面的语句都写到一个Python文件里面,例如 monkeyrunnerTest.py,然后我们再从命令行直接通过monkeyrunner运行它即可。比如,我们还是用上面的例子,语法如下:

  D:SoftwareAndroid2.3.3android-sdk-windows ools>monkeyrunner monkeyrunnerTest.py

  接下来monkeyrunner会自动调用monkeyrunnerTest.py,并执行其中的语句,相当方便。

  暂时先写到这里,主要的关键是明白了如何使得monkeyrunner和模拟器进行正确的连接和相关的操作,具体的monkeyrunner的方法和属性大家可以参考官方的文档,上面非常详细了,呵呵。


--结束END--

本文标题: 用Monkeyrunner实现Android的自动化测试

本文链接: https://www.lsjlt.com/news/28675.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • android界面自动化测试工具monkeyrunner
    MonkeyRunner是一个Android平台的界面自动化测试工具,它基于Python语言,可以通过编写脚本来模拟用户操作。Mon...
    99+
    2023-09-23
    Android
  • python实现hive自动化测试
    本程序主要实现hive权限测试。系统中有管理员用户single和测试用户test。在路径/home/test/下,将用例和预期结果写在xml文件中。        执 行过程:kinit single用户,beeline -u -e登录并执...
    99+
    2023-01-31
    测试 python hive
  • Android移动端自动化测试,Sele
    Android移动端自动化测试,Selenium3自动化测试,Python3 测试,Java接口测试21套高级软件测试,性能测试,功能测试,自动化测试,接口测试,移动端测试,手机测试,WEB测试,***测试,测试用例设计,黑盒测试,白盒测试...
    99+
    2023-01-31
    测试 Android Sele
  • android自动化测试怎么做
    Android自动化测试可以通过以下几个步骤来进行:1. 选择测试框架:Android提供了多个测试框架,如JUnit、Espres...
    99+
    2023-10-07
    android
  • seleniumIDE自动化测试脚本的实现
    目录selenium IDE是干什么的selenium IDE环境的安装selenium IDE的使用selenium IDE是干什么的 Selenium IDE   是一...
    99+
    2024-04-02
  • UIAutomation自动化测试怎么实现
    UIAutomation是一种自动化测试工具,它可以通过模拟用户操作来进行界面的自动化测试。实现UIAutomation自动化测试的...
    99+
    2023-08-20
    UIAutomation
  • Python怎么实现自动化测试
    本篇文章为大家展示了Python怎么实现自动化测试,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码...
    99+
    2023-06-14
  • android AccessibilityService无障碍功能开发,实现自动化测试
    android AccessibilityService无障碍功能开发,实现自动化测试,这里使用抖音为例子,仅供技术研究学习使用。 使用方法 安装好APP后,需要打开无障碍功能,打开后,在次打开抖音APP,随便找一个直播间,上下滑动切换直接...
    99+
    2023-09-13
    android android studio java
  • Android自动化测试的方法是什么
    本篇内容介绍了“Android自动化测试的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!自动化测试自动化测试指软件测试的自动化,在...
    99+
    2023-06-05
  • Jenkins中怎么实现自动化测试
    Jenkins是一个持续集成工具,可以通过配置自动化测试任务来实现自动化测试。以下是在Jenkins中实现自动化测试的一般步骤: ...
    99+
    2024-03-05
    Jenkins
  • 如何使用python+appium实现自动化测试
    这篇文章主要为大家展示了“如何使用python+appium实现自动化测试”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用python+appium实现自动化测试”这篇文章吧。1.什么是A...
    99+
    2023-06-22
  • Python之Appium 2自动化测试(Android篇)
    一、环境搭建及准备工作 Appium 2 环境搭建 请参考另一篇文章: Windows系统搭建Appium 2 和 Appium Inspector 环境 安装 Appium-Python-Client,版本要求3.0及以上 和 Selen...
    99+
    2023-12-23
    python appium android
  • Python自动化测试如何自动生成测试用例
    本篇文章给大家分享的是有关Python自动化测试如何自动生成测试用例,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。今天,陕西优就业小优整理了一些技术类干货知识,学习软件测试的小...
    99+
    2023-06-02
  • 如何使用python selenium实现自动化测试
    这篇文章主要介绍如何使用python selenium实现自动化测试,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、安装selenium打开命令控制符输入:pip install -U selenium火狐浏览器安...
    99+
    2023-06-15
  • 怎么实现android应用程序自动化测试的批处理脚本
    本篇内容介绍了“怎么实现android应用程序自动化测试的批处理脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!测试平台:兼容androi...
    99+
    2023-06-08
  • 〖Python接口自动化测试实战篇④〗- 接口自动化测试详解
    订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我。推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订...
    99+
    2023-09-04
    自动化 python自动化测试实战 自动化测试 接口测试 接口自动化测试
  • Python自动化测试
    第一章 Python自带的UnitTest单元测试框架 一、什么是框架 框架是由大佬开发或者专业的研发团队研发的技术骨架,框架是一个半成品,框架是对常用的功能,基础的代码进行封装的一个工具,这个工具对...
    99+
    2023-09-04
    python 单元测试 junit
  • C++技术中的调试:实现自动化测试驱动的调试
    atdd 是一种强大的调试技术,通过自动化测试用例来识别缺陷并解决问题。在 c++++ 中,可以使用 gtest、catch2 和 boost.test 等测试框架来实现 atdd。这些...
    99+
    2024-05-08
    自动化测试 调试 c++ 最大公约数
  • Android+Appium自动化测试环境搭建及实操
    1、Appium简介1.1 Appium概念1.2 Appium工作原理 2、Appium Server环境搭建2.1 Java JDK2.1.1 下载JDK2.1.2 运行exe安装...
    99+
    2023-10-24
    appium android 自动化测试 环境搭建 调试
  • WEB-UI自动化测试实践
    一、设计背景随着IT行业的发展,产品愈渐复杂,web端业务及流程更加繁琐,目前UI测试仅是针对单一页面,操作量大。为了满足多页面功能及流程的需求及节省工时,设计了这款UI 自动化测试程序。旨在提供接口,集成到蜗牛自动化测试框架,方便用例的设...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作