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