Hi,

I am writing a Instrumnetation using the
AvtivityInstrumnetationTestCase class and a test case about play
music. When I execute the test case, it is work fine. But there the
problem is the application play nothing. The Activity appear one
moment then back to HOME screen.

Reference my code:
File: MainActivity.java

-----------------------------------------------------------------
package  com.android.testapp;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;

import android.os.Bundle;
import android.util.Log;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;

public class MainActivity extends Activity {

        /** Called when the activity is first created. */

        @Override

        public void onCreate(Bundle savedInstanceState) {

                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);

        }

        public void PlayMyMusic(){
//----Pre set----
                AudioManager am=(AudioManager)
getApplicationContext().getSystemService(AUDIO_SERVICE);
try {
                        //Utility.PlayMusic("/storage/sample.mp3");

                        MediaPlayer mp = new MediaPlayer();
                        Log.e("debug","media player set data source...");
                        mp.setDataSource("/storage/sample.mp3");
                        Log.e("debug","media player set loop...");
                        mp.setLooping(true);

                        Log.e("debug","media player prepare...");
                        mp.prepare();
                        Log.e("debug","media player start...");
                        mp.start();
                        Log.e("debug","media player started...");
                        // i.e. react on the end of the music-file:
                        mp.setOnCompletionListener(new OnCompletionListener(){

                                // @Override
                                public void onCompletion(MediaPlayer arg0) {
                                        // File has ended !!!
                                }
                        });
                } catch (Exception e) {
                        Log.e("debug","media player error..."+e.toString());
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
}

File:PlayMyMusic.java
-----------------------------------------------------------------
package  test;

import com.android.testapp.MainActivity;
import android.test.ActivityInstrumentationTestCase2;
import android.test.suitebuilder.annotation.MediumTest;

public class PlayMyMusic extends
ActivityInstrumentationTestCase2<MainActivity> {

        public PlayMyMusic() {

                super("com.android.testapp", MainActivity.class);

        }

        public PlayMyMusic(String pkg, Class<MainActivity> activityClass) {

                super(pkg, activityClass);

        }

        @MediumTest

        public void testPlayMyMusic() throws Exception {



                getActivity().PlayMyMusic();


        }

}

File:TestApp.Manifest
-----------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android";
        package="com.android.testapp" android:versionCode="1"
        android:versionName="1.0">
        <application android:icon="@drawable/icon" android:label="@string/
app_name">
                <activity android:name=".MainActivity" android:label="@string/
app_name">
                        <intent-filter>
                                <action 
android:name="android.intent.action.MAIN" />
                                <category 
android:name="android.intent.category.LAUNCHER" />
                        </intent-filter>
                </activity>

                <uses-library android:name="android.test.runner" />
        </application>

        <instrumentation android:targetPackage="com.android.testapp"
                android:name="android.test.InstrumentationTestRunner"
android:label="Test Unit Tests"></instrumentation>

        <uses-permission android:name="android.permission.WRITE_SETTINGS"></
uses-permission>
        <uses-permission android:name="android.permission.INJECT_EVENT"></
uses-permission>

        <uses-permission android:name="android.permission.RESTART_PACKAGES"></
uses-permission>
</manifest>
-----------------------------------------------------------------

Type below command to run it.
>adb shell am instrument -e class test.PlayMyMusic -w 
>com.android.testapp/android.test.InstrumentationTestRunner
-----------------------------------------------------------------
Command logcat to get the log
>adb logcat debug:E *:S
E/debug   (15281): media player set data source...
E/debug   (15281): media player set loop...
E/debug   (15281): media player prepare...
E/debug   (15281): media player start...
E/debug   (15281): media player started...

-----------------------------------------------------------------
I get the output "OK (1 test)". This is so curious. Normally if it is
a pass test, I will get the output "OK (2 test)".
test.PlayMyMusic:.
Test results for InstrumentationTestRunner=.
Time: 3.625

OK (1 test)

Help me,
Perrot

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to