public final class

InstrumentationRegistry

extends java.lang.Object

 java.lang.Object

↳androidx.test.InstrumentationRegistry

Gradle dependencies

compile group: 'androidx.test', name: 'monitor', version: '1.6.0-alpha03'

  • groupId: androidx.test
  • artifactId: monitor
  • version: 1.6.0-alpha03

Artifact androidx.test:monitor:1.6.0-alpha03 it located at Google repository (https://maven.google.com/)

Androidx artifact mapping:

androidx.test:monitor com.android.support.test:monitor

Androidx class mapping:

androidx.test.InstrumentationRegistry android.support.test.InstrumentationRegistry

Overview

An exposed registry instance that holds a reference to the instrumentation running in the process and its arguments. Also provides an easy way for callers to get a hold of instrumentation, application context and instrumentation arguments Bundle.

Summary

Methods
public static BundlegetArguments()

Returns a copy of instrumentation arguments Bundle.

public static ContextgetContext()

Return the Context of this instrumentation's package.

public static InstrumentationgetInstrumentation()

Returns the instrumentation currently running.

public static ContextgetTargetContext()

Return a Context for the target application being instrumented.

public static voidregisterInstance(Instrumentation instrumentation, Bundle arguments)

Records/exposes the instrumentation currently running and stores a copy of the instrumentation arguments Bundle in the registry.

from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Methods

public static Instrumentation getInstrumentation()

Deprecated: use InstrumentationRegistry.getInstrumentation()

Returns the instrumentation currently running. Use this to get an into your test.

public static Bundle getArguments()

Deprecated: use InstrumentationRegistry.getArguments()

Returns a copy of instrumentation arguments Bundle. Use this to get a containing the command line arguments passed to into your test.

This Bundle is not guaranteed to be present under all instrumentations.

Returns:

Bundle the arguments for this instrumentation.

public static Context getContext()

Deprecated: In most scenarios, ApplicationProvider.getApplicationContext() should be used instead of the instrumentation test context. If you do need access to the test context for to access its resources, it is recommended to use android.content.pm.PackageManager instead.

Return the Context of this instrumentation's package. Use this to get a representing into your test.

public static Context getTargetContext()

Deprecated: use ApplicationProvider.getApplicationContext() instead.

Return a Context for the target application being instrumented. Use this to get a representing into your test.

public static void registerInstance(Instrumentation instrumentation, Bundle arguments)

Deprecated: use InstrumentationRegistry.registerInstance(Instrumentation, Bundle)

Records/exposes the instrumentation currently running and stores a copy of the instrumentation arguments Bundle in the registry.

This is a global registry - so be aware of the impact of calling this method!

Parameters:

instrumentation: the instrumentation currently running.
arguments: the arguments for this application. Null deregisters any existing arguments.

Source

/*
 * Copyright (C) 2014 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package androidx.test;

import android.app.Instrumentation;
import android.content.Context;
import android.os.Bundle;
import com.google.errorprone.annotations.InlineMe;

/**
 * An exposed registry instance that holds a reference to the instrumentation running in the process
 * and its arguments. Also provides an easy way for callers to get a hold of instrumentation,
 * application context and instrumentation arguments Bundle.
 *
 * @deprecated use {@link androidx.test.core.app.ApplicationProvider} or {@link
 *     androidx.test.platform.app.InstrumentationRegistry} instead
 */
@Deprecated
public final class InstrumentationRegistry {

  /**
   * Returns the instrumentation currently running. Use this to get an {@link Instrumentation} into
   * your test.
   *
   * @throws IllegalStateException if instrumentation hasn't been registered
   * @deprecated use {@link androidx.test.platform.app.InstrumentationRegistry#getInstrumentation()}
   */
  @InlineMe(replacement = "androidx.test.platform.app.InstrumentationRegistry.getInstrumentation()")
  @Deprecated
  public static Instrumentation getInstrumentation() {
    return androidx.test.platform.app.InstrumentationRegistry.getInstrumentation();
  }

  /**
   * Returns a copy of instrumentation arguments Bundle. Use this to get a {@link Bundle} containing
   * the command line arguments passed to {@link Instrumentation} into your test.
   *
   * <p>This Bundle is not guaranteed to be present under all instrumentations.
   *
   * @return Bundle the arguments for this instrumentation.
   * @throws IllegalStateException if no argument Bundle has been registered.
   * @deprecated use {@link androidx.test.platform.app.InstrumentationRegistry#getArguments()}
   */
  @InlineMe(replacement = "androidx.test.platform.app.InstrumentationRegistry.getArguments()")
  @Deprecated
  public static Bundle getArguments() {
    return androidx.test.platform.app.InstrumentationRegistry.getArguments();
  }

  /**
   * Return the Context of this instrumentation's package. Use this to get a {@link Context}
   * representing {@link Instrumentation#getContext()} into your test.
   *
   * @deprecated In most scenarios, {@link
   *     androidx.test.core.app.ApplicationProvider#getApplicationContext()} should be used instead
   *     of the instrumentation test context. If you do need access to the test context for to
   *     access its resources, it is recommended to use {@link
   *     android.content.pm.PackageManager#getResourcesForApplication(String)} instead.
   */
  @Deprecated
  public static Context getContext() {
    return androidx.test.platform.app.InstrumentationRegistry.getInstrumentation().getContext();
  }

  /**
   * Return a Context for the target application being instrumented. Use this to get a {@link
   * Context} representing {@link Instrumentation#getTargetContext()} into your test.
   *
   * @deprecated use {@link androidx.test.core.app.ApplicationProvider#getApplicationContext()}
   *     instead.
   */
  @Deprecated
  public static Context getTargetContext() {
    return androidx.test.platform.app.InstrumentationRegistry.getInstrumentation()
        .getTargetContext();
  }

  /**
   * Records/exposes the instrumentation currently running and stores a copy of the instrumentation
   * arguments Bundle in the registry.
   *
   * <p>This is a global registry - so be aware of the impact of calling this method!
   *
   * @param instrumentation the instrumentation currently running.
   * @param arguments the arguments for this application. Null deregisters any existing arguments.
   * @deprecated use {@link
   *     androidx.test.platform.app.InstrumentationRegistry#registerInstance(Instrumentation,
   *     Bundle)}
   */
  @InlineMe(
      replacement =
          "androidx.test.platform.app.InstrumentationRegistry.registerInstance(instrumentation,"
              + " arguments)")
  @Deprecated
  public static void registerInstance(Instrumentation instrumentation, Bundle arguments) {
    androidx.test.platform.app.InstrumentationRegistry.registerInstance(instrumentation, arguments);
  }

  private InstrumentationRegistry() {}
}