仪表
测试用例
用于实现应用程序检测代码的基类。运行时打开检测后,将为您实例化该类在任何应用程序代码之前,允许您监视系统与应用程序的交互。仪器通过AndroidManifest.xml的<instrumentation>标记。
addMonitor(活动监视器)
仪表。活动监视器
onCreate(捆绑包)
onNewIntent(意向)
onPause()
onPostCreate(捆绑包)
重新启动()
onRestoreInstanceState(捆绑包)
onResume()
启动()
on停止()
onUserLeaveHint()
创建时()
Ui自动化
活动
应用程序
addMonitor(Instrumentation.ActivityMonitor)
对象
等级
wait()
通知()
notifyAll()
如果包含在发送给IInstrumentationWatcher的状态或最终包中,则此键标识正在编写报告的类。这可以用于提供更结构化的IInstructionWatcher中的日志记录或报告功能。
如果包含在发送给IInstrumentationWatcher的状态或最终包中,则此键标识可以简单地打印到输出流的字符串。使用这些流提供状态和最终数据包的“漂亮的打印机”版本。任何捆绑包,包括该键还应该包括完整的一组原始键/值对,以便还可以通过自动化系统启动检测并收集结果。
方便的包装addMonitor(活动监视器)那个创建意向过滤器匹配仪表。活动监视器为您和返回它。
checkMonitorHit(检测活动监视器,int)
添加新的仪表。活动监视器每当活动已启动。添加监视器在任何现有的之后;只有当没有现有监控器可以自己处理Intent。
addMonitor(IntentFilter、ActivityResult、boolean)
方便的包装addMonitor(活动监视器)那个创建一个类匹配仪表。活动监视器并将其返回。
执行活动的调用onCreate(捆绑包)方法。默认实现只调用该方法。
执行活动的调用onNewIntent(意向)方法。默认实现只是直接调用该方法。
执行活动的调用onPause()方法。这个默认实现只调用该方法。
执行活动的调用onPostCreate(捆绑包)方法。默认实现只调用该方法。
执行活动的调用重新启动()方法。默认实现只调用该方法。
执行活动的调用onRestoreInstanceState(捆绑包)方法。默认实现只调用该方法。
执行活动的调用onResume()方法。这个默认实现只调用该方法。
执行活动的调用启动()方法。默认实现只调用该方法。
执行活动的调用on停止()方法。默认实现只调用该方法。
执行活动的调用onUserLeaveHint()方法。默认实现只调用该方法。
执行应用程序的调用创建时()方法。默认实现只调用该方法。
注意:此方法将在onCreate(捆绑包).通常,指令插入测试在onCreate()中启动其测试线程;你需要小心这两者之间的竞争。(介于两者之间其他的,但让我们从这里开始。)
测试现有仪表。活动监视器已被击中。如果监视器至少被击中最小点击数时间,那么它就会从活动监视器列表中删除并返回true。否则,它保留为-is,返回false。
终止应用程序的检测。这将导致退出应用程序进程,从下一个应用程序启动的时间。
返回一个包含分配计数的当前结果的捆绑包。
返回一个捆绑包,其中包含此进程的各种活页夹计数。目前只有两个报告的是发送的数量和接收的事务数量。
返回此检测的完整组件名称。
返回此检测程序包的上下文。请注意,这是通常与应用程序的上下文不同检测,因为检测代码通常存在于与运行它的应用程序的包不同。请参见获取目标上下文()检索目标的上下文应用程序。
获取目标上下文()
返回要检测的目标应用程序的上下文。注释这通常与检测的上下文不同代码,因为指令插入代码通常是一个不同的包而不是它所针对的应用程序。请参见获取上下文()检索检测代码的上下文。
获取上下文()
获取Ui自动化例如。
注:通过返回的Ui自动化跨应用程序边界工作,同时检测所公开的API不要。例如,发送指针同步(MotionEvent)将不允许在与检测不同的应用程序中注入事件目标,同时injectInputEvent(android.view.InputEvent,布尔值)无论当前应用程序如何,都可以运行。
发送指针同步(MotionEvent)
injectInputEvent(android.view.InputEvent,布尔值)
典型的测试用例应该使用Ui自动化或仪表API。不能同时使用这两个API这本身就是一个错误,但客户端必须了解API的限制。
显示当前焦点视图的上下文菜单并执行特定上下文菜单项。
执行特定菜单项。
检查此检测是否在启用分析的情况下启动。
执行进程的实例化活动对象。这个默认实现提供正常的系统行为。
执行的实例化活动对象。此方法用于单元测试,如android.test。活动单元测试用例。活动将可用但将缺少系统内使用的一些必要链接。
Activity.getLastNonConfigurationInstance()
执行进程的实例化应用程序对象。这个默认实现提供了正常的系统行为。
执行进程的实例化应用程序对象。这个默认实现提供正常的系统行为。
在启动检测时,在任何应用程序代码之前调用已加载。通常,这将实现为只调用启动()开始检测线程,然后在中继续执行启动().
如果你不需要自己的线程,那就是你正在写检测完全异步(返回事件循环,以便应用程序可以运行),只需开始此处插入指令,例如调用启动活动(意向)到开始应用程序的适当第一个活动。
启动活动(意向)
在所有发生了正常的应用程序清理。
只要系统捕获未处理的异常被应用程序引发。默认实现只是返回false,允许对异常进行正常的系统处理地点。
检测线程进入执行的方法。这允许您可以在一个单独的线程中运行检测代码,而不是应用程序,以便它可以执行阻塞操作,例如sendKeySync(KeyEvent)或startActivitySync(意向).
sendKeySync(KeyEvent)
startActivitySync(意向)
当这个函数完成时,通常需要调用finish(),结束你的仪器。
删除仪表。活动监视器之前添加了addMonitor(Instrumentation.ActivityMonitor).
在应用程序的主线程上执行调用,一直阻塞到完成。对于做一些不安全的事情很有用,例如查看或修改视图层次结构。
用于发送的向下和向上键事件的高级方法特定字符键代码。相当于创建两个KeyEvent手动和调用对象sendKeySync(KeyEvent)。事件出现就像它来自于键盘0,内置的一个。
向当前关注的窗口发送上下键事件同步。
将关键事件发送到当前关注的窗口/视图并等待被处理。收件人返回后某个时间完成尽管它可能不完全拥有已完成对事件的响应--例如,如果需要更新因此,它可能仍在进行显示。
调度指针事件。在收件人完成从其事件处理中返回,尽管它可能不有完全完成对事件的反应——例如,如果需要因此,要更新其显示,它可能仍在这样做。
获取(long、long、int、float、float,int)
正常运行时间Millis()
提供有关应用程序的状态报告。
将与文本对应的关键事件发送到应用程序已检测。
发送轨迹球事件。在收件人完成从其事件处理中返回,尽管它可能不有完全完成对事件的反应——例如,如果需要因此,要更新其显示,它可能仍在这样做。
强制全球系统进入或脱离接触模式。这可以用于以下情况您的指令插入依赖于一个或另一个中的UI当它开始的时候。
创建并启动要在其中运行检测的新线程。这个新的线程将调用启动()您可以在其中实现仪器。
开始一个新活动,等待它开始运行后再返回。除了同步之外,此方法还具有一些语义与标准的差异启动活动(意向)呼叫:在与活动管理器对话之前解决活动组件(其类名在该方法最终的意图中指定启动),并且它不允许您启动在不同的过程。此外,如果给定意图决定多个活动,而不是为用户显示一个对话框选择一个活动,将引发异常。
一旦活动空闲,函数就会返回调用其onCreate(捆绑包)一般来说,这意味着它已经消失了通过完整的初始化,包括onResume()和绘制并显示其初始窗口。
如果isProfile()返回true,则此方法将开始分析。你应该只有在将此检测的清单文件设置为true。
如果isProfiling()返回true,则停止分析。
为应用程序的主线程空闲时调度回调(没有更多的事件要处理)。
同步等待应用程序空闲。无法调用从主应用程序线程--使用启动()执行在自己的线程中插入指令。
等待现有仪表。活动监视器被击中。一旦监视器被击中,它将从活动监视器列表中删除,并且返回与之匹配的第一个创建的Activity对象。
等待现有仪表。活动监视器直到超时到期。一旦监视器被击中,它就会从活动中删除监视器列表和与之匹配的第一个创建的Activity对象是返回。如果超时过期,则返回空对象。