Update of tests + robotium

This commit is contained in:
Sylvain Berfini 2012-12-04 17:40:23 +01:00
parent 78468d10b3
commit b3b97ad8e0
12 changed files with 143 additions and 60 deletions

View file

@ -178,10 +178,8 @@ public class ContactFragment extends Fragment implements OnClickListener {
public void onClick(View v) { public void onClick(View v) {
int id = v.getId(); int id = v.getId();
switch (id) { if (id == R.id.editContact) {
case R.id.editContact:
LinphoneActivity.instance().editContact(contact); LinphoneActivity.instance().editContact(contact);
break;
} }
} }
} }

View file

@ -2,12 +2,12 @@
<classpath> <classpath>
<classpathentry kind="src" path="src"/> <classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/> <classpathentry kind="src" path="gen"/>
<classpathentry combineaccessrules="false" kind="src" path="/linphone-android-newUI"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry exported="true" kind="lib" path="libs/robotium-solo-3.4.1.jar"> <classpathentry combineaccessrules="false" kind="src" path="/Linphone-Android-NewUI"/>
<classpathentry kind="lib" path="libs/robotium-solo-3.6.jar">
<attributes> <attributes>
<attribute name="javadoc_location" value="jar:platform:/resource/linphone-android-test/libs/robotium-solo-3.4.1-javadoc.jar!/"/> <attribute name="javadoc_location" value="jar:platform:/resource/Linphone-Android-NewUI-Tests/libs/robotium-solo-3.6-javadoc.jar!/"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="output" path="bin/classes"/> <classpathentry kind="output" path="bin/classes"/>

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -4,6 +4,7 @@ import junit.framework.Assert;
import org.linphone.LinphoneActivity; import org.linphone.LinphoneActivity;
import org.linphone.R; import org.linphone.R;
import org.linphone.mediastream.video.capture.hwconf.Hacks;
import org.linphone.setup.SetupActivity; import org.linphone.setup.SetupActivity;
import android.content.Context; import android.content.Context;
@ -30,7 +31,6 @@ public class AccountsTest extends
private void selectItemInListOnUIThread(final int item) { private void selectItemInListOnUIThread(final int item) {
solo.sleep(500); solo.sleep(500);
getActivity().runOnUiThread(new Runnable() { getActivity().runOnUiThread(new Runnable() {
@Override
public void run() { public void run() {
ListView list = (ListView) solo.getView(android.R.id.list); ListView list = (ListView) solo.getView(android.R.id.list);
list.setSelection(item); list.setSelection(item);
@ -60,7 +60,10 @@ public class AccountsTest extends
solo.enterText((EditText) solo.getView(R.id.setup_password), "wizard15"); solo.enterText((EditText) solo.getView(R.id.setup_password), "wizard15");
solo.clickOnText(context.getString(R.string.setup_apply)); solo.clickOnText(context.getString(R.string.setup_apply));
solo.waitForActivity("LinphoneActivity", 2000); if (!Hacks.hasBuiltInEchoCanceller())
solo.waitForActivity("LinphoneActivity", 8000);
else
solo.waitForActivity("LinphoneActivity", 2000);
Assert.assertTrue(solo.searchText("wizard15@sip.linphone.org")); Assert.assertTrue(solo.searchText("wizard15@sip.linphone.org"));
int nbAccountsAfter = prefs.getInt(getActivity().getString(R.string.pref_extra_accounts), 0); int nbAccountsAfter = prefs.getInt(getActivity().getString(R.string.pref_extra_accounts), 0);
@ -71,8 +74,8 @@ public class AccountsTest extends
Assert.assertEquals(stunServer, context.getString(R.string.default_stun)); Assert.assertEquals(stunServer, context.getString(R.string.default_stun));
Log.testSuccess("Default stun server is configured"); Log.testSuccess("Default stun server is configured");
boolean tls = prefs.getBoolean(context.getString(R.string.pref_transport_tls_key), false); String transport = prefs.getString(context.getString(R.string.pref_transport_key), context.getString(R.string.pref_transport_udp_key));
Assert.assertEquals(tls, true); Assert.assertEquals(transport, context.getString(R.string.pref_transport_tls_key));
Log.testSuccess("TLS is set by default"); Log.testSuccess("TLS is set by default");
String proxy = prefs.getString(context.getString(R.string.pref_proxy_key), ""); String proxy = prefs.getString(context.getString(R.string.pref_proxy_key), "");
@ -122,6 +125,7 @@ public class AccountsTest extends
solo.clickOnText("junit@test.linphone.org"); solo.clickOnText("junit@test.linphone.org");
selectItemInListOnUIThread(6); selectItemInListOnUIThread(6);
solo.clickOnText(context.getString(R.string.pref_default_account)); solo.clickOnText(context.getString(R.string.pref_default_account));
solo.goBack();
int defaultAccount = prefs.getInt(context.getString(R.string.pref_default_account_key), 0); int defaultAccount = prefs.getInt(context.getString(R.string.pref_default_account_key), 0);
solo.sleep(1000); solo.sleep(1000);
Assert.assertEquals(1, defaultAccount); Assert.assertEquals(1, defaultAccount);

View file

@ -1,8 +1,12 @@
package org.linphone.test; package org.linphone.test;
import junit.framework.Assert;
import org.linphone.InCallActivity; import org.linphone.InCallActivity;
import org.linphone.LinphoneActivity; import org.linphone.LinphoneActivity;
import org.linphone.LinphoneManager;
import org.linphone.R; import org.linphone.R;
import org.linphone.core.LinphoneCall;
import org.linphone.setup.SetupActivity; import org.linphone.setup.SetupActivity;
import android.content.Context; import android.content.Context;
@ -24,7 +28,6 @@ public class AccountzFreephonieTest extends ActivityInstrumentationTestCase2<Lin
private void selectItemInListOnUIThread(final int item) { private void selectItemInListOnUIThread(final int item) {
solo.sleep(500); solo.sleep(500);
getActivity().runOnUiThread(new Runnable() { getActivity().runOnUiThread(new Runnable() {
@Override
public void run() { public void run() {
ListView list = (ListView) solo.getView(android.R.id.list); ListView list = (ListView) solo.getView(android.R.id.list);
list.setSelection(item); list.setSelection(item);
@ -39,8 +42,9 @@ public class AccountzFreephonieTest extends ActivityInstrumentationTestCase2<Lin
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
solo.clickOnView(solo.getView(R.id.settings)); solo.clickOnView(solo.getView(R.id.settings));
selectItemInListOnUIThread(19); selectItemInListOnUIThread(6);
solo.clickOnText(context.getString(R.string.pref_network_title)); solo.clickOnText(context.getString(R.string.pref_network_title));
solo.clickOnText(context.getString(R.string.pref_transport));
solo.clickOnText(context.getString(R.string.pref_transport_udp)); solo.clickOnText(context.getString(R.string.pref_transport_udp));
solo.goBack(); solo.goBack();
selectItemInListOnUIThread(0); selectItemInListOnUIThread(0);
@ -88,8 +92,9 @@ public class AccountzFreephonieTest extends ActivityInstrumentationTestCase2<Lin
selectItemInListOnUIThread(7); selectItemInListOnUIThread(7);
solo.clickOnText(context.getString(R.string.pref_delete_account)); solo.clickOnText(context.getString(R.string.pref_delete_account));
selectItemInListOnUIThread(19); selectItemInListOnUIThread(6);
solo.clickOnText(context.getString(R.string.pref_network_title)); solo.clickOnText(context.getString(R.string.pref_network_title));
solo.clickOnText(context.getString(R.string.pref_transport));
solo.clickOnText(context.getString(R.string.pref_transport_tls)); solo.clickOnText(context.getString(R.string.pref_transport_tls));
solo.goBack(); solo.goBack();
@ -104,8 +109,13 @@ public class AccountzFreephonieTest extends ActivityInstrumentationTestCase2<Lin
solo.waitForActivity("InCallActivity", 2000); solo.waitForActivity("InCallActivity", 2000);
solo.assertCurrentActivity("Expected InCall Activity", InCallActivity.class); solo.assertCurrentActivity("Expected InCall Activity", InCallActivity.class);
solo.waitForText("01", 1, 15000); solo.sleep(2000);
solo.clickOnView(solo.getView(R.id.hangUp)); try {
Assert.assertEquals(LinphoneManager.getLcIfManagerNotDestroyedOrNull().getCalls()[0].getState(), LinphoneCall.State.OutgoingEarlyMedia);
} catch (AssertionError ae) {
} finally {
solo.clickOnView(solo.getView(R.id.hangUp));
}
solo.waitForActivity("LinphoneActivity", 2000); solo.waitForActivity("LinphoneActivity", 2000);
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);

View file

@ -10,6 +10,7 @@ import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.preference.PreferenceManager; import android.preference.PreferenceManager;
import android.test.ActivityInstrumentationTestCase2; import android.test.ActivityInstrumentationTestCase2;
import android.view.View;
import android.widget.EditText; import android.widget.EditText;
import android.widget.ListView; import android.widget.ListView;
@ -27,7 +28,6 @@ public class AudioAndVideoCodecsTest extends ActivityInstrumentationTestCase2<Li
private void selectItemInListOnUIThread(final int item) { private void selectItemInListOnUIThread(final int item) {
solo.sleep(500); solo.sleep(500);
getActivity().runOnUiThread(new Runnable() { getActivity().runOnUiThread(new Runnable() {
@Override
public void run() { public void run() {
ListView list = (ListView) solo.getView(android.R.id.list); ListView list = (ListView) solo.getView(android.R.id.list);
list.setSelection(item); list.setSelection(item);
@ -41,6 +41,10 @@ public class AudioAndVideoCodecsTest extends ActivityInstrumentationTestCase2<Li
solo = new Solo(getInstrumentation(), getActivity()); solo = new Solo(getInstrumentation(), getActivity());
} }
private boolean getBoolean(int key) {
return getActivity().getResources().getBoolean(key);
}
private void goToAudioCodecsSettings() { private void goToAudioCodecsSettings() {
Context context = getActivity(); Context context = getActivity();
@ -48,8 +52,8 @@ public class AudioAndVideoCodecsTest extends ActivityInstrumentationTestCase2<Li
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
solo.clickOnView(solo.getView(R.id.settings)); solo.clickOnView(solo.getView(R.id.settings));
selectItemInListOnUIThread(11); selectItemInListOnUIThread(4);
solo.clickOnText(context.getString(R.string.pref_codecs)); solo.clickOnText(context.getString(R.string.pref_audio));
solo.sleep(500); solo.sleep(500);
} }
@ -60,8 +64,11 @@ public class AudioAndVideoCodecsTest extends ActivityInstrumentationTestCase2<Li
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
solo.clickOnView(solo.getView(R.id.settings)); solo.clickOnView(solo.getView(R.id.settings));
selectItemInListOnUIThread(14); selectItemInListOnUIThread(6);
solo.clickOnText(context.getString(R.string.pref_video_codecs_title), 2); //Hack: since pref_codecs = pref_video_codecs_title, we have to select the 2nd button if (solo.searchText(context.getString(R.string.pref_video), 2)) // Needed in case pref_video_enable_title contains pref_video
solo.clickOnText(context.getString(R.string.pref_video), 2);
else
solo.clickOnText(context.getString(R.string.pref_video));
solo.sleep(500); solo.sleep(500);
} }
@ -71,52 +78,62 @@ public class AudioAndVideoCodecsTest extends ActivityInstrumentationTestCase2<Li
goToAudioCodecsSettings(); goToAudioCodecsSettings();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
if (prefs.getBoolean(context.getString(R.string.pref_codec_speex16_key), false)) { if (prefs.getBoolean(context.getString(R.string.pref_codec_speex16_key), getBoolean(R.bool.pref_codec_speex16_default))) {
solo.clickOnText(context.getString(R.string.pref_codec_speex16)); solo.clickOnText(context.getString(R.string.pref_codec_speex16));
solo.sleep(500); solo.sleep(500);
} }
if (prefs.getBoolean(context.getString(R.string.pref_codec_speex8_key), false)) { if (prefs.getBoolean(context.getString(R.string.pref_codec_speex8_key), getBoolean(R.bool.pref_codec_speex8_default))) {
solo.clickOnText(context.getString(R.string.pref_codec_speex8)); solo.clickOnText(context.getString(R.string.pref_codec_speex8));
solo.sleep(500); solo.sleep(500);
} }
if (prefs.getBoolean(context.getString(R.string.pref_codec_ilbc_key), false)) { if (prefs.getBoolean(context.getString(R.string.pref_codec_ilbc_key), getBoolean(R.bool.pref_codec_ilbc_default))) {
solo.clickOnText(context.getString(R.string.pref_codec_ilbc)); solo.clickOnText(context.getString(R.string.pref_codec_ilbc));
solo.sleep(500); solo.sleep(500);
} }
if (prefs.getBoolean(context.getString(R.string.pref_codec_amr_key), false)) { if (prefs.getBoolean(context.getString(R.string.pref_codec_amr_key), getBoolean(R.bool.pref_codec_amr_default))) {
solo.clickOnText(context.getString(R.string.pref_codec_amr)); solo.clickOnText(context.getString(R.string.pref_codec_amr));
solo.sleep(500); solo.sleep(500);
} }
if (prefs.getBoolean(context.getString(R.string.pref_codec_gsm_key), false)) { if (prefs.getBoolean(context.getString(R.string.pref_codec_amrwb_key), getBoolean(R.bool.pref_codec_amrwb_default))) {
solo.clickOnText(context.getString(R.string.pref_codec_amrwb));
solo.sleep(500);
}
if (prefs.getBoolean(context.getString(R.string.pref_codec_g729_key), getBoolean(R.bool.pref_codec_g729_default))) {
solo.clickOnText(context.getString(R.string.pref_codec_g729));
solo.sleep(500);
}
if (prefs.getBoolean(context.getString(R.string.pref_codec_gsm_key), getBoolean(R.bool.pref_codec_gsm_default))) {
solo.clickOnText(context.getString(R.string.pref_codec_gsm)); solo.clickOnText(context.getString(R.string.pref_codec_gsm));
solo.sleep(500); solo.sleep(500);
} }
if (prefs.getBoolean(context.getString(R.string.pref_codec_g722_key), false)) { if (prefs.getBoolean(context.getString(R.string.pref_codec_g722_key), getBoolean(R.bool.pref_codec_g722_default))) {
solo.clickOnText(context.getString(R.string.pref_codec_g722)); solo.clickOnText(context.getString(R.string.pref_codec_g722));
solo.sleep(500); solo.sleep(500);
} }
if (prefs.getBoolean(context.getString(R.string.pref_codec_silk24_key), false)) { if (prefs.getBoolean(context.getString(R.string.pref_codec_silk24_key), getBoolean(R.bool.pref_codec_silk24_default))) {
solo.clickOnText(context.getString(R.string.pref_codec_silk24)); solo.clickOnText(context.getString(R.string.pref_codec_silk24));
solo.sleep(500); solo.sleep(500);
} }
if (prefs.getBoolean(context.getString(R.string.pref_codec_silk16_key), false)) { if (prefs.getBoolean(context.getString(R.string.pref_codec_silk16_key), getBoolean(R.bool.pref_codec_silk16_default))) {
solo.clickOnText(context.getString(R.string.pref_codec_silk16)); solo.clickOnText(context.getString(R.string.pref_codec_silk16));
solo.sleep(500); solo.sleep(500);
} }
if (prefs.getBoolean(context.getString(R.string.pref_codec_pcmu_key), false)) { if (prefs.getBoolean(context.getString(R.string.pref_codec_pcmu_key), getBoolean(R.bool.pref_codec_pcmu_default))) {
solo.clickOnText(context.getString(R.string.pref_codec_pcmu)); solo.clickOnText(context.getString(R.string.pref_codec_pcmu));
solo.sleep(500); solo.sleep(500);
} }
if (prefs.getBoolean(context.getString(R.string.pref_codec_pcma_key), false)) { if (prefs.getBoolean(context.getString(R.string.pref_codec_pcma_key), getBoolean(R.bool.pref_codec_pcma_default))) {
solo.clickOnText(context.getString(R.string.pref_codec_pcma)); solo.clickOnText(context.getString(R.string.pref_codec_pcma));
solo.sleep(500); solo.sleep(500);
} }
@ -128,34 +145,49 @@ public class AudioAndVideoCodecsTest extends ActivityInstrumentationTestCase2<Li
goToVideoCodecsSettings(); goToVideoCodecsSettings();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
if (prefs.getBoolean(context.getString(R.string.pref_video_codec_vp8_key), false)) { if (prefs.getBoolean(context.getString(R.string.pref_video_codec_vp8_key), getBoolean(R.bool.pref_video_codec_vp8_default))) {
solo.clickOnText(context.getString(R.string.pref_video_codec_vp8_title)); solo.clickOnText(context.getString(R.string.pref_video_codec_vp8_title));
solo.sleep(500); solo.sleep(500);
} }
if (prefs.getBoolean(context.getString(R.string.pref_video_codec_h264_key), false)) { if (prefs.getBoolean(context.getString(R.string.pref_video_codec_h264_key), getBoolean(R.bool.pref_video_codec_h264_default))) {
solo.clickOnText(context.getString(R.string.pref_video_codec_h264_title)); solo.clickOnText(context.getString(R.string.pref_video_codec_h264_title));
solo.sleep(500); solo.sleep(500);
} }
if (prefs.getBoolean(context.getString(R.string.pref_video_codec_mpeg4_key), false)) { if (prefs.getBoolean(context.getString(R.string.pref_video_codec_mpeg4_key), getBoolean(R.bool.pref_video_codec_mpeg4_default))) {
solo.clickOnText(context.getString(R.string.pref_video_codec_mpeg4_title)); solo.clickOnText(context.getString(R.string.pref_video_codec_mpeg4_title));
solo.sleep(500); solo.sleep(500);
} }
} }
private void goToDialerAndOutgoingCall(String codecTextToAssert) { private void goToDialerAndOutgoingCall(String codecTextToAssert) {
Context context = getActivity();
solo.clickOnView(solo.getView(R.id.dialer)); solo.clickOnView(solo.getView(R.id.dialer));
solo.clickOnView(solo.getView(R.id.Adress)); solo.clickOnView(solo.getView(R.id.Adress));
solo.enterText((EditText) solo.getView(R.id.Adress), sipAdressToCall); solo.enterText((EditText) solo.getView(R.id.Adress), sipAdressToCall);
solo.clickOnView(solo.getView(R.id.Call)); solo.clickOnView(solo.getView(R.id.Call));
solo.waitForActivity("InCallActivity", 2000); boolean incompatibleMediaParams = solo.waitForText(context.getString(R.string.error_incompatible_media), 1, 1000);
solo.assertCurrentActivity("Expected InCall Activity", InCallActivity.class); if (!incompatibleMediaParams) { // There is a possiblity the callee doesn't support the codec, in which case we don't have to wait for the incall view
solo.clickOnView(solo.getView(R.id.status)); solo.waitForActivity("InCallActivity", 1000);
solo.waitForText(codecTextToAssert, 1, 6000); solo.assertCurrentActivity("Expected InCall Activity", InCallActivity.class);
Assert.assertTrue(solo.searchText(codecTextToAssert, 1)); solo.clickOnView(solo.getView(R.id.status));
solo.clickOnView(solo.getView(R.id.hangUp)); solo.waitForText(codecTextToAssert, 1, 6000);
Assert.assertTrue(solo.searchText(codecTextToAssert, 1));
View hangUp = solo.getView(R.id.hangUp);
if (hangUp.getVisibility() == View.VISIBLE)
solo.clickOnView(hangUp);
else { // While on video, menu can hide. Click the first time to display it back, then click again to really hang up
solo.clickOnView(hangUp);
solo.sleep(500);
solo.clickOnView(hangUp);
}
} else {
Log.testFailure("Incompatible media parameters for codec " + codecTextToAssert);
}
solo.waitForActivity("LinphoneActivity", 2000); solo.waitForActivity("LinphoneActivity", 2000);
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
@ -170,7 +202,7 @@ public class AudioAndVideoCodecsTest extends ActivityInstrumentationTestCase2<Li
selectItemInListOnUIThread(4); selectItemInListOnUIThread(4);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
if (prefs.getBoolean(context.getString(R.string.pref_video_enable_key), false)) { if (prefs.getBoolean(context.getString(R.string.pref_video_enable_key), getBoolean(R.bool.pref_video_enable_default))) {
solo.clickOnText(context.getString(R.string.pref_video_enable_title)); solo.clickOnText(context.getString(R.string.pref_video_enable_title));
solo.sleep(500); solo.sleep(500);
} }
@ -183,6 +215,7 @@ public class AudioAndVideoCodecsTest extends ActivityInstrumentationTestCase2<Li
solo.goBack(); solo.goBack();
goToDialerAndOutgoingCall("PCMA"); goToDialerAndOutgoingCall("PCMA");
solo.sleep(1000);
} }
public void testCOutgoingAudioCallPCMU() { public void testCOutgoingAudioCallPCMU() {
@ -192,6 +225,7 @@ public class AudioAndVideoCodecsTest extends ActivityInstrumentationTestCase2<Li
solo.goBack(); solo.goBack();
goToDialerAndOutgoingCall("PCMU"); goToDialerAndOutgoingCall("PCMU");
solo.sleep(1000);
} }
public void testDOutgoingAudioCallSilk16() { public void testDOutgoingAudioCallSilk16() {
@ -201,15 +235,18 @@ public class AudioAndVideoCodecsTest extends ActivityInstrumentationTestCase2<Li
solo.goBack(); solo.goBack();
goToDialerAndOutgoingCall("SILK"); goToDialerAndOutgoingCall("SILK");
solo.sleep(1000);
} }
public void testEOutgoingAudioCallSilk24() { public void testEOutgoingAudioCallSilk24() {
Context context = getActivity(); // Silk24 no longer available
disableAllEnabledAudioCodecs(); // Context context = getActivity();
solo.clickOnText(context.getString(R.string.pref_codec_silk24)); // disableAllEnabledAudioCodecs();
solo.goBack(); // solo.clickOnText(context.getString(R.string.pref_codec_silk24));
// solo.goBack();
goToDialerAndOutgoingCall("SILK"); //
// goToDialerAndOutgoingCall("SILK");
// solo.sleep(1000);
} }
public void testFOutgoingAudioCallG722() { public void testFOutgoingAudioCallG722() {
@ -219,6 +256,7 @@ public class AudioAndVideoCodecsTest extends ActivityInstrumentationTestCase2<Li
solo.goBack(); solo.goBack();
goToDialerAndOutgoingCall("G722"); goToDialerAndOutgoingCall("G722");
solo.sleep(1000);
} }
public void testGOutgoingAudioCallGSM() { public void testGOutgoingAudioCallGSM() {
@ -228,6 +266,7 @@ public class AudioAndVideoCodecsTest extends ActivityInstrumentationTestCase2<Li
solo.goBack(); solo.goBack();
goToDialerAndOutgoingCall("GSM"); goToDialerAndOutgoingCall("GSM");
solo.sleep(1000);
} }
public void testHOutgoingAudioCallAMR() { public void testHOutgoingAudioCallAMR() {
@ -237,36 +276,60 @@ public class AudioAndVideoCodecsTest extends ActivityInstrumentationTestCase2<Li
solo.goBack(); solo.goBack();
goToDialerAndOutgoingCall("AMR"); goToDialerAndOutgoingCall("AMR");
solo.sleep(1000);
} }
public void testIOutgoingAudioCallILBC() { public void testIOutgoingAudioCallAMRWB() {
Context context = getActivity();
disableAllEnabledAudioCodecs();
solo.clickOnText(context.getString(R.string.pref_codec_amrwb));
solo.goBack();
goToDialerAndOutgoingCall("AMRWB");
solo.sleep(1000);
}
public void testJOutgoingAudioCallG729() {
Context context = getActivity();
disableAllEnabledAudioCodecs();
solo.clickOnText(context.getString(R.string.pref_codec_g729));
solo.goBack();
goToDialerAndOutgoingCall("G729");
solo.sleep(1000);
}
public void testKOutgoingAudioCallILBC() {
Context context = getActivity(); Context context = getActivity();
disableAllEnabledAudioCodecs(); disableAllEnabledAudioCodecs();
solo.clickOnText(context.getString(R.string.pref_codec_ilbc)); solo.clickOnText(context.getString(R.string.pref_codec_ilbc));
solo.goBack(); solo.goBack();
goToDialerAndOutgoingCall("iLBC"); goToDialerAndOutgoingCall("iLBC");
solo.sleep(1000);
} }
public void testJOutgoingAudioCallSpeex8() { public void testLOutgoingAudioCallSpeex8() {
Context context = getActivity(); Context context = getActivity();
disableAllEnabledAudioCodecs(); disableAllEnabledAudioCodecs();
solo.clickOnText(context.getString(R.string.pref_codec_speex8)); solo.clickOnText(context.getString(R.string.pref_codec_speex8));
solo.goBack(); solo.goBack();
goToDialerAndOutgoingCall("speex"); goToDialerAndOutgoingCall("speex");
solo.sleep(1000);
} }
public void testKOutgoingAudioCallSpeex16() { public void testMOutgoingAudioCallSpeex16() {
Context context = getActivity(); Context context = getActivity();
disableAllEnabledAudioCodecs(); disableAllEnabledAudioCodecs();
solo.clickOnText(context.getString(R.string.pref_codec_speex16)); solo.clickOnText(context.getString(R.string.pref_codec_speex16));
solo.goBack(); solo.goBack();
goToDialerAndOutgoingCall("speex"); goToDialerAndOutgoingCall("speex");
solo.sleep(1000);
} }
public void testLEnableVideo() { public void testNEnableVideo() {
Context context = getActivity(); Context context = getActivity();
solo.waitForActivity("LinphoneActivity", 2000); solo.waitForActivity("LinphoneActivity", 2000);
@ -276,37 +339,40 @@ public class AudioAndVideoCodecsTest extends ActivityInstrumentationTestCase2<Li
solo.sleep(500); solo.sleep(500);
selectItemInListOnUIThread(4); selectItemInListOnUIThread(4);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
if (!prefs.getBoolean(context.getString(R.string.pref_video_enable_key), true)) { if (!prefs.getBoolean(context.getString(R.string.pref_video_enable_key), getBoolean(R.bool.pref_video_enable_default))) {
solo.clickOnText(context.getString(R.string.pref_video_enable_title)); solo.clickOnText(context.getString(R.string.pref_video_enable_title));
solo.sleep(500); solo.sleep(500);
} }
} }
public void testMOutgoingVideoCallVP8() { public void testOOutgoingVideoCallVP8() {
Context context = getActivity(); Context context = getActivity();
disableAllEnabledVideoCodecs(); disableAllEnabledVideoCodecs();
solo.clickOnText(context.getString(R.string.pref_video_codec_vp8_title)); solo.clickOnText(context.getString(R.string.pref_video_codec_vp8_title));
solo.goBack(); solo.goBack();
goToDialerAndOutgoingCall("VP8"); goToDialerAndOutgoingCall("VP8");
solo.sleep(1000);
} }
public void testNOutgoingVideoCallH264() { public void testPOutgoingVideoCallH264() {
Context context = getActivity(); Context context = getActivity();
disableAllEnabledVideoCodecs(); disableAllEnabledVideoCodecs();
solo.clickOnText(context.getString(R.string.pref_video_codec_h264_title)); solo.clickOnText(context.getString(R.string.pref_video_codec_h264_title));
solo.goBack(); solo.goBack();
goToDialerAndOutgoingCall("H264"); goToDialerAndOutgoingCall("H264");
solo.sleep(1000);
} }
public void testOOutgoingVideoCallMPG4() { public void testQOutgoingVideoCallMPG4() {
Context context = getActivity(); Context context = getActivity();
disableAllEnabledVideoCodecs(); disableAllEnabledVideoCodecs();
solo.clickOnText(context.getString(R.string.pref_video_codec_mpeg4_title)); solo.clickOnText(context.getString(R.string.pref_video_codec_mpeg4_title));
solo.goBack(); solo.goBack();
goToDialerAndOutgoingCall("MP4V-ES"); goToDialerAndOutgoingCall("MP4V-ES");
solo.sleep(1000);
} }
@Override @Override

View file

@ -26,7 +26,6 @@ public class HistoryTest extends ActivityInstrumentationTestCase2<LinphoneActivi
private void selectItemInListOnUIThread(final int item) { private void selectItemInListOnUIThread(final int item) {
solo.sleep(500); solo.sleep(500);
getActivity().runOnUiThread(new Runnable() { getActivity().runOnUiThread(new Runnable() {
@Override
public void run() { public void run() {
ListView list = (ListView) solo.getView(android.R.id.list); ListView list = (ListView) solo.getView(android.R.id.list);
list.setSelection(item); list.setSelection(item);
@ -94,10 +93,14 @@ public class HistoryTest extends ActivityInstrumentationTestCase2<LinphoneActivi
} }
public void testDCallBackFromHistoryEntry() { public void testDCallBackFromHistoryEntry() {
Context context = getActivity();
solo.waitForActivity("LinphoneActivity", 2000); solo.waitForActivity("LinphoneActivity", 2000);
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
solo.clickOnView(solo.getView(R.id.history)); solo.clickOnView(solo.getView(R.id.history));
solo.clickOnText(context.getString(R.string.button_all_call));
solo.sleep(500);
solo.clickOnText("cotcot"); solo.clickOnText("cotcot");
solo.waitForActivity("InCallActivity", 2000); solo.waitForActivity("InCallActivity", 2000);
solo.assertCurrentActivity("Expected InCall Activity", InCallActivity.class); solo.assertCurrentActivity("Expected InCall Activity", InCallActivity.class);

View file

@ -25,7 +25,6 @@ public class SignalingTest extends ActivityInstrumentationTestCase2<LinphoneActi
private void selectItemInListOnUIThread(final int item) { private void selectItemInListOnUIThread(final int item) {
solo.sleep(500); solo.sleep(500);
getActivity().runOnUiThread(new Runnable() { getActivity().runOnUiThread(new Runnable() {
@Override
public void run() { public void run() {
ListView list = (ListView) solo.getView(android.R.id.list); ListView list = (ListView) solo.getView(android.R.id.list);
list.setSelection(item); list.setSelection(item);
@ -40,7 +39,7 @@ public class SignalingTest extends ActivityInstrumentationTestCase2<LinphoneActi
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
solo.clickOnView(solo.getView(R.id.settings)); solo.clickOnView(solo.getView(R.id.settings));
selectItemInListOnUIThread(19); selectItemInListOnUIThread(6);
solo.clickOnText(context.getString(R.string.pref_network_title)); solo.clickOnText(context.getString(R.string.pref_network_title));
solo.sleep(500); solo.sleep(500);
} }
@ -70,6 +69,7 @@ public class SignalingTest extends ActivityInstrumentationTestCase2<LinphoneActi
Context context = getActivity(); Context context = getActivity();
goToNetworkSettings(); goToNetworkSettings();
solo.clickOnText(context.getString(R.string.pref_transport));
solo.clickOnText(context.getString(R.string.pref_transport_udp)); solo.clickOnText(context.getString(R.string.pref_transport_udp));
solo.goBack(); solo.goBack();
solo.goBack(); solo.goBack();
@ -85,6 +85,7 @@ public class SignalingTest extends ActivityInstrumentationTestCase2<LinphoneActi
Context context = getActivity(); Context context = getActivity();
goToNetworkSettings(); goToNetworkSettings();
solo.clickOnText(context.getString(R.string.pref_transport));
solo.clickOnText(context.getString(R.string.pref_transport_tcp)); solo.clickOnText(context.getString(R.string.pref_transport_tcp));
solo.goBack(); solo.goBack();
solo.goBack(); solo.goBack();
@ -100,6 +101,7 @@ public class SignalingTest extends ActivityInstrumentationTestCase2<LinphoneActi
Context context = getActivity(); Context context = getActivity();
goToNetworkSettings(); goToNetworkSettings();
solo.clickOnText(context.getString(R.string.pref_transport));
solo.clickOnText(context.getString(R.string.pref_transport_tls)); solo.clickOnText(context.getString(R.string.pref_transport_tls));
solo.goBack(); solo.goBack();
solo.goBack(); solo.goBack();