Using Instrumentation during ActivityInstrumentationTestCase

by James » Tue, 23 Dec 2008 22:17:34 GMT


Sponsored Links
 I'm running my ActivityInstrumentationTestCase.  it runs in the
emulator.  I can watch the Intents triggering Activities in 'adb
logcat".  I see in the logcat output that the Activity was displayed:

I/ActivityManager(   50): Displayed activity my.manifest.packate/
my.package.CountingActivity: 556 ms

so I believe I've sent the keys to press the button that fire the
startActivity.  What I'm not seeing is the monitor that I've added
through the test.  My waitForMonitorWithTimeout always times out.
Here is the part of the unit test that sets up the monitor, triggers
it, then waits:

                ActivityResult result = new ActivityResult(1, null);
                String activityClassName = "my.manifest.packate/
my.package.CountingActivity";
                ActivityMonitor monitor = getInstrumentation().addMonitor
(activityClassName, result, true);

                sendKeys(KeyEvent.KEYCODE_ENTER);

                System.out.println("wait for timeout");
                Activity actualActivity = getInstrumentation
().waitForMonitorWithTimeout(monitor, 20000);
                System.out.println("after timeout");
                assertNotNull("non null activity means the monitor was invoked",
actualActivity);

The activity implementation "CountingActivity" has a sysout, it always
prints in logcat after "wait for timeout" and before "after timeout",
but the actualActivity is always null.  I show here using the full
<package>/<full-class-name> for the activityClassName.  I began with
out the "<package>/" and used just the classname, but that had the
same effect -- never triggering the monitor.  Further evidence that
I'm not registering the monitor correctly is that that addMonitor call
with true at the end should skip the actual Activity and return my
canned result.

Has anyone successfully tested with this process?
--~--~---------~--~----~------------~-------~--~----~



Using Instrumentation during ActivityInstrumentationTestCase

by James » Tue, 30 Dec 2008 03:12:58 GMT


 I didn't get any responses from the "Android Beginners" group, so
after a few days wait I'm trying this group.  I'm trying to use the
provided methods on the Instrumentation instance given to
ActivityInstrumentationTestCase classes.  I could not find a book
listed on Amazon (available or pre-release) that covered unit
testing.  I scanned the table of contents of all the Android books I
found.  If you know of one, please point it out.

I'm running my ActivityInstrumentationTestCase.  it runs in the
emulator.  I can watch the Intents triggering Activities in 'adb
logcat".  I see in the logcat output that the Activity was displayed:

I/ActivityManager(   50): Displayed activity my.manifest.package/
my.package.CountingActivity: 556 ms

so I believe I've sent the keys to press the button that fire the
startActivity.  What I'm not seeing is the monitor that I've added
through the test.  My waitForMonitorWithTimeout always times out.
Here is the part of the unit test that sets up the monitor, triggers
it, then waits:

                ActivityResult result = new ActivityResult(1, null);
                String activityClassName = "my.manifest.packate/
my.package.CountingActivity";
                ActivityMonitor monitor = getInstrumentation
().addMonitor
(activityClassName, result, true);

                sendKeys(KeyEvent.KEYCODE_ENTER);

                System.out.println("wait for timeout");
                Activity actualActivity = getInstrumentation
().waitForMonitorWithTimeout(monitor, 20000);
                System.out.println("after timeout");
                assertNotNull("non null activity means the monitor was
invoked",
actualActivity);

The activity implementation "CountingActivity" has a sysout, it always
prints in logcat after "wait for timeout" and before "after timeout",
but the actualActivity is always null.  I show here using the full
<package>/<full-class-name> for the activityClassName.  I began with
out the "<package>/" and used just the classname, but that had the
same effect -- never triggering the monitor.  Further evidence that
I'm not registering the monitor correctly is that that addMonitor call
with true at the end should skip the actual Activity and return my
canned result.

Has anyone successfully tested with these methods from
Instrumentation?

--~--~---------~--~----~------------~-------~--~----~


Sponsored Links


Other Threads

1. OOT WTA: member Id-Android domisili Karawang

As subject,
Adakah?
Kalo ada saya mau berguru,sekalian silaturrahmi.lumayan juga kalo banyak
membernya,jadi bisa sekalian miring.:)

Thanks,

-- 
"Indonesian Android Community [id-android]" 

2. Omap 3530 evm

Hi Frank,

Thanks for the reply.

The build did not crash without the USB cable. Without the USB cable
connected to the host, i was able to get the Android boot screen.
I got the prebuilt images from the site, http://code.google.com/p/rowboat/.
Could there be some problem with the kernel image of the build?
Should i download the source and rebuild it ?

Regrads,,
Satish.






-- 

3. Gmail access from android application

4. Firmware froyo untuk spica

5. "Developer Console" page of Market not work correctly on Chromium browser

6. minimum Android 2.2 (froyo) hardware requirements?

7. Froyo HW requirements with flash 10.1 support