基于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)

相关推荐

  • 无停顿的GC算法翻译

    技术无停顿的GC算法翻译 无停顿的GC算法翻译无停顿的GC算法
    ? ·································译者:黄俊
    摘要
    现在对于响应时间敏感的应用受限

    礼包 2021年11月4日
  • Linux下如何查看mysql的历史操作记录

    技术Linux下如何查看mysql的历史操作记录这篇文章主要介绍了Linux下如何查看mysql的历史操作记录,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下

    攻略 2021年10月30日
  • python如何爬取基金股票最新数据并用excel绘制树状图

    技术python如何爬取基金股票最新数据并用excel绘制树状图python如何爬取基金股票最新数据并用excel绘制树状图,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到

    攻略 2021年10月26日
  • 线程池的创建方式有哪些

    技术线程池的创建方式有哪些这篇文章主要讲解了“线程池的创建方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“线程池的创建方式有哪些”吧!什么是线程池?线程池(Thr

    攻略 2021年10月21日
  • 如何使用数据库迁移神器Flyway

    技术如何使用数据库迁移神器Flyway本篇内容介绍了“如何使用数据库迁移神器Flyway”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,

    攻略 2021年10月22日
  • mysql table_open_cache 到底有什么影响

    技术mysql table_open_cache 到底有什么影响mysql table_open_cache 到底有什么影响,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴

    攻略 2021年11月4日