基于Instrumentation Framework的开源项目AndroidMonkey是怎样的

技术基于Instrumentation Framework的开源项目AndroidMonkey是怎样的基于Instrumentation Framework的开源项目AndroidMonkey是怎样的,很多新手对此不是很

基于Instrumentation Framework的开源项目AndroidMonkey是什么?很多新手对此不是很清楚。为了帮助大家解决这个问题,下面小编就为大家详细讲解一下。需要的人可以从中学习,希望你能有所收获。

最大的问题是,猴子是如何用仪器注入事件的?在这种情况下,它如何跨进程发送事件?因为按照我的理解,插装框架是不能跨流程的,而猴子绝对是跨流程的!

@ overridefpubliintfireevent(InstrumentationtestRuner){ Stringnote;if(mAction==KeyEvent。ACTION _ UP){注意=' ACTION _ UP} else { note=' ACTION _ DOWN} system . out . println(' : typing key(' note '): ' mKeyCode '//');尝试{//TestRuner . SendKeySync(GetEvent());testruner . sendkeydownupsync(mKeyCode);} catch(exception one){ system . out . println(' Failedtosendkey(' note '): ' mKeyCode '//');returnMonkeyEvent。注入_失败;}returnMonkeyEvent。注入_成功;}纠缠了一段时间,回到下载的地方,看了一下概述。很短,但很清楚地描述了这不是我想要的猴子,而是原生猴子的修改后的安卓库。既然见面了,请顺便翻译一下它的介绍和用法。反正就是几句话。我们将来有时间会进一步研究它。至于是不是真的不能像我说的那样跨越流程,那就要看未来或者大家去验证了。

1. 概览

androidMonkey是一个安卓库。其实是基于原生猴子的测试库,方便测试和分析(比如代码覆盖率)。

测试人员/用户可以轻松地使用这个库为Android gui应用程序创建随机测试脚本。

Why this library:

为什么使用这个库:

有了这个库,你可以用几行代码为你的应用程序编写随机测试用例。

您可以在测试代码中添加断言,以轻松判断您的SUT(测试中的系统/应用程序)的当前情况(如果您使用monkey,这很难做到)。

你可以通过随即测试对你的app做覆盖率分析,这对我们的研究是很有用的(像我现在所做的)(译者注:其实最后这一句话应该这样子去理解:如果你是一个公司的采购,你想去评估一个应用是否足够稳定满足你的需求,那么你就会先试用做一些前期研究)

Code example/代码实例

public classcontactaddertestextendsactivityinstrumentationtestcase 2 contactaddernbs

p;{          private int NUM_EVENTS = 1000;          public ContactAdderTest() {                 super("com.example.android.contactmanager", ContactAdder.class);         }          @Override         protected void setUp() throws Exception {                 super.setUp();                 setActivityInitialTouchMode(false);          }          public void testMonkeyEvents() {                 Display display = getActivity().getWindowManager().getDefaultDisplay();                 Instrumentation inst = getInstrumentation();                 PackageManager pm = getActivity().getPackageManager();                  Monkey monkey = new Monkey(display,                                 "com.example.android.contactmanager", inst, pm);                  // Generate and fire a random event.                  for (int i = 0; i < NUM_EVENTS; i++) {                         monkey.nextRandomEvent();                 }          } }

 
  

 

2.使用简介

使用简介

简介

以下是介绍如何使用这个库:

详情

C创建android项目

先创建一个Android Test Project项目,通过Android ADT[http://developer.android.com/sdk/eclipse-adt.html]   添加对AndroidMonkey库的引用(引用jar或者项目)

创建测试类

创建一个普通的ActivityInstrumentationTestCase2测试类,然后加入如下的测试用例代码:

public void testMonkeyEvents(){ Display display = getActivity().getWindowManager().getDefaultDisplay(); Instrumentation inst = getInstrumentation(); PackageManager pm = getActivity().getPackageManager(); Monkey monkey = new Monkey(display, packageToTest, inst, pm); for (int i = 0; i < NUM_EVENTS; i++){ monkey.nextRandomEvent(); } }

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/112483.html

(0)

相关推荐

  • Oracle 11g 遇到log file sync严重等待事件该怎么办

    技术Oracle 11g 遇到log file sync严重等待事件该怎么办这篇文章将为大家详细讲解有关Oracle 11g 遇到log file sync严重等待事件该怎么办,文章内容质量较高,因此小编分享给大家做个参

    攻略 2021年11月30日
  • 如何进行SpringMVC中ModelAndView的分析

    技术如何进行SpringMVC中ModelAndView的分析如何进行SpringMVC中ModelAndView的分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简

    攻略 2021年12月2日
  • 方程式题目五年级,小学五年级数学应用题目什么没有

    技术方程式题目五年级,小学五年级数学应用题目什么没有某小学一班植树48棵,比二班少植树8棵,二班植树多少棵?人民小学食堂运来400千克大米,已经吃了5分之2,还剩多少千克?用一张边长20厘米的正方形纸,裁剪粘贴成一个无盖

    生活 2021年10月23日
  • CF1506A Strange Table 题解

    技术CF1506A Strange Table 题解 CF1506A Strange Table 题解CF1506A Strange Table 题解Content
    给定一个 \(n\times m\)

    礼包 2021年12月16日
  • 抖音赞在哪买,哪里抖音刷赞最安全?

    技术抖音赞在哪买,哪里抖音刷赞最安全?抖音应该是最近比较火的软件了,对此,大家都不陌生吧,很多的用户发个视频就好几十万的赞,其实都是可以刷的!要想上精选有必要要有播放量等等一系列数据,这个数据很的重要,没有数据就没有展现

    测评 2021年10月20日
  • SequoiaDB 2 . 8 . 4中显示的打开文件中的值是怎么来的?

    技术SequoiaDB v2.8.4显示的open files中的值怎么来的这篇文章主要介绍“SequoiaDB v2.8.4显示的open files中的值怎么来的”,在日常操作中,相信很多人在SequoiaDB v2

    攻略 2021年12月22日