171f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau/* 271f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau * Copyright (C) 2009 The Android Open Source Project 371f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau * 471f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau * Licensed under the Apache License, Version 2.0 (the "License"); 571f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau * you may not use this file except in compliance with the License. 671f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau * You may obtain a copy of the License at 771f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau * 871f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau * http://www.apache.org/licenses/LICENSE-2.0 971f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau * 1071f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau * Unless required by applicable law or agreed to in writing, software 1171f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau * distributed under the License is distributed on an "AS IS" BASIS, 1271f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1371f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau * See the License for the specific language governing permissions and 1471f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau * limitations under the License. 1571f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau */ 1671f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau 1771f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau 1807d483e5da80176484bff536d118cc061f28e586Tom Taylorpackage com.android.mms; 1971f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau 2071f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lauimport com.android.mms.R; 2171f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lauimport com.android.mms.ui.ComposeMessageActivity; 2271f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau 2371f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lauimport android.app.Instrumentation; 2471f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau 2571f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lauimport android.test.suitebuilder.annotation.LargeTest; 2671f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lauimport android.test.ActivityInstrumentationTestCase2; 2771f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau 2871f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lauimport android.util.Log; 2971f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lauimport android.view.KeyEvent; 3071f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lauimport android.widget.Button; 3171f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau 3271f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau/** 3371f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau * 3471f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau * Junit / Instrumentation test case for mms stability test 3571f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau * 3671f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau */ 3771f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau 3871f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Laupublic class MmsStability extends ActivityInstrumentationTestCase2 <ComposeMessageActivity> { 3971f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau private static String TAG = "MmsStability"; 4071f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau private static int NO_OF_MESSAGE_SEND = 5; //Total number of messages 4171f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau private static String MESSAGE_CONTENT = "This is a system stability " + 4271f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau "test for MMS. This test case send 5 message " + 4371f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau "to the number which will reply automatically"; 4471f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau private static int WAIT_TIME = 2000; //Set the short wait time for 2 sec. 4571f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau private static String RECIPIENT_NUMBER = "46645"; 4671f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau 4771f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau public MmsStability() { 4871f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau super("com.android.mms", ComposeMessageActivity.class); 4971f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau } 5071f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau 5171f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau @Override 5271f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau protected void setUp() throws Exception { 5371f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau getActivity(); 5471f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau super.setUp(); 5571f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau } 5671f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau 5771f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau @Override 5871f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau protected void tearDown() throws Exception { 5971f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau super.tearDown(); 6071f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau } 6171f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau 6271f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau // Create the object with the run() method 6371f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau Runnable runnable = new sendMms(); 6471f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau 6571f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau class sendMms implements Runnable { 6671f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau // This method is called when the thread runs 6771f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau public void run() { 6871f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau Instrumentation inst = getInstrumentation(); 6971f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau 7071f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau Button mSendButton = (Button) getActivity().getWindow().findViewById(R.id.send_button); 7171f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau mSendButton.performClick(); 7271f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau 7371f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau boolean messageSend = mSendButton.performClick(); 7471f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau if (!messageSend) { 7571f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau assertTrue("Fails to send mms", false); 7671f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau Log.v(TAG, "messageSend is true"); 7771f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau } 7871f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau } 7971f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau } 8071f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau 8171f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau // Send 5 mms to the same contact. 8271f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau @LargeTest 8313d289abe209ad91ac310655ffb762f74c5a7f49Yu Shan Emily Lau public void testSend5MMS(){ 8471f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau try{ 8571f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau Instrumentation inst = getInstrumentation(); 8671f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau //This number will send automatic reply 8771f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau inst.sendStringSync(RECIPIENT_NUMBER); 8871f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_DOWN); 8971f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER); 9071f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau 9171f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau for (int i = 0; i < NO_OF_MESSAGE_SEND; i++) { 9271f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau // Enter the message 9371f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_DOWN); 9471f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau inst.sendStringSync(MESSAGE_CONTENT); 9571f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau // Send the mms message 9671f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau inst.runOnMainSync(runnable); 9771f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau Thread.sleep(WAIT_TIME); 9871f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau } 9971f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau assertTrue("Send MMS", true); 10071f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau } catch (Exception e){ 10171f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau assertTrue("Fails to send mms", false); 10271f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau Log.v(TAG, e.toString()); 10371f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau } 10471f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau } 105217bc6faaba728027141ad5f67030946d141d468Yu Shan Emily Lau 106217bc6faaba728027141ad5f67030946d141d468Yu Shan Emily Lau @LargeTest 10713d289abe209ad91ac310655ffb762f74c5a7f49Yu Shan Emily Lau public void testLaunchMMS() { 108217bc6faaba728027141ad5f67030946d141d468Yu Shan Emily Lau // Added a do nothing test case to capture 109217bc6faaba728027141ad5f67030946d141d468Yu Shan Emily Lau // the mms power usage base line. 110217bc6faaba728027141ad5f67030946d141d468Yu Shan Emily Lau try { 111217bc6faaba728027141ad5f67030946d141d468Yu Shan Emily Lau Thread.sleep(WAIT_TIME); 112217bc6faaba728027141ad5f67030946d141d468Yu Shan Emily Lau } catch (Exception e) { 113217bc6faaba728027141ad5f67030946d141d468Yu Shan Emily Lau assertTrue("MMS do nothing", false); 114217bc6faaba728027141ad5f67030946d141d468Yu Shan Emily Lau } 115217bc6faaba728027141ad5f67030946d141d468Yu Shan Emily Lau assertTrue("MMS do nothing", true); 116217bc6faaba728027141ad5f67030946d141d468Yu Shan Emily Lau } 11771f6d218070b3fc12ded92aa83222c972013d466Yu Shan Emily Lau} 118