Change Android test
This commit is contained in:
parent
074a676d80
commit
baa4cfda50
41 changed files with 478 additions and 959 deletions
213
build.gradle
213
build.gradle
|
@ -28,7 +28,8 @@ buildscript {
|
||||||
apply plugin: 'com.android.application'
|
apply plugin: 'com.android.application'
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile fileTree(dir: 'libs', include: '*.jar')
|
compile fileTree(include: '*.jar', dir: 'libs')
|
||||||
|
androidTestCompile fileTree(include: '*.jar', dir: 'libs-test')
|
||||||
if (firebaseEnable()) {
|
if (firebaseEnable()) {
|
||||||
compile 'com.google.firebase:firebase-messaging:9.0.0'
|
compile 'com.google.firebase:firebase-messaging:9.0.0'
|
||||||
} else {
|
} else {
|
||||||
|
@ -82,138 +83,98 @@ android {
|
||||||
println '[Push Notification] Firebase enabled'
|
println '[Push Notification] Firebase enabled'
|
||||||
}
|
}
|
||||||
manifest.srcFile 'AndroidManifest.xml'
|
manifest.srcFile 'AndroidManifest.xml'
|
||||||
java.srcDirs = ['submodules/linphone/mediastreamer2/java/src','submodules/linphone/java/j2se','submodules/linphone/java/common','submodules/linphone/java/impl','submodules/externals/axmlrpc/src/main/java','submodules/linphone/coreapi/help/java','src']
|
java.srcDirs = ['submodules/linphone/mediastreamer2/java/src',
|
||||||
resources.srcDirs = ['submodules/linphone/mediastreamer2/java/src','submodules/linphone/java/j2se','submodules/linphone/java/common','submodules/linphone/java/impl','submodules/externals/axmlrpc/src/main/java','submodules/linphone/coreapi/help/java','src']
|
'submodules/linphone/java/j2se',
|
||||||
aidl.srcDirs = ['submodules/linphone/mediastreamer2/java/src','submodules/linphone/java/j2se','submodules/linphone/java/common','submodules/linphone/java/impl','submodules/externals/axmlrpc/src/main/java','submodules/linphone/coreapi/help/java','src']
|
'submodules/linphone/java/common',
|
||||||
renderscript.srcDirs = ['submodules/linphone/mediastreamer2/java/src','submodules/linphone/java/j2se','submodules/linphone/java/common','submodules/linphone/java/impl','submodules/externals/axmlrpc/src/main/java','submodules/linphone/coreapi/help/java','src']
|
'submodules/linphone/java/impl',
|
||||||
|
'submodules/linphone/coreapi/help/java',
|
||||||
|
'src/com',
|
||||||
|
'src/org']
|
||||||
|
resources.srcDirs = ['submodules/linphone/mediastreamer2/java/src',
|
||||||
|
'submodules/linphone/java/j2se',
|
||||||
|
'submodules/linphone/java/common',
|
||||||
|
'submodules/linphone/java/impl',
|
||||||
|
'submodules/linphone/coreapi/help/java',
|
||||||
|
'src/com',
|
||||||
|
'src/org']
|
||||||
|
aidl.srcDirs = ['submodules/linphone/mediastreamer2/java/src',
|
||||||
|
'submodules/linphone/java/j2se',
|
||||||
|
'submodules/linphone/java/common',
|
||||||
|
'submodules/linphone/java/impl',
|
||||||
|
'submodules/linphone/coreapi/help/java',
|
||||||
|
'src/com',
|
||||||
|
'src/org']
|
||||||
|
renderscript.srcDirs = ['submodules/linphone/mediastreamer2/java/src',
|
||||||
|
'submodules/linphone/java/j2se',
|
||||||
|
'submodules/linphone/java/common',
|
||||||
|
'submodules/linphone/java/impl',
|
||||||
|
'submodules/linphone/coreapi/help/java',
|
||||||
|
'src/com',
|
||||||
|
'src/org']
|
||||||
res.srcDirs = ['res']
|
res.srcDirs = ['res']
|
||||||
assets.srcDirs = ['assets']
|
assets.srcDirs = ['assets']
|
||||||
jniLibs.srcDir 'libs'
|
jniLibs.srcDirs = ['libs']
|
||||||
|
|
||||||
java.exclude '**/mediastream/MediastreamerActivity.java'
|
java.excludes = ['**/mediastream/MediastreamerActivity.java', firebase]
|
||||||
java.exclude firebase
|
|
||||||
|
// Exclude some useless files
|
||||||
|
packagingOptions {
|
||||||
|
exclude '**/gdb.*'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Move the tests to tests/java, tests/res, etc...
|
|
||||||
instrumentTest.setRoot('tests')
|
|
||||||
|
|
||||||
// Move the build types to build-types/<type>
|
|
||||||
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
|
|
||||||
// This moves them out of them default location under src/<type>/... which would
|
|
||||||
// conflict with src/ being used by the main source set.
|
|
||||||
// Adding new build types or product flavors should be accompanied
|
|
||||||
// by a similar customization.
|
|
||||||
debug.setRoot('build-types/debug')
|
debug.setRoot('build-types/debug')
|
||||||
release.setRoot('build-types/release')
|
release.setRoot('build-types/release')
|
||||||
}
|
}
|
||||||
buildToolsVersion '25.0.2'
|
|
||||||
}
|
|
||||||
|
|
||||||
///////////// Task /////////////
|
sourceSets {
|
||||||
// TODO
|
androidTest {
|
||||||
def getSdkDir() {
|
String firebase = ''
|
||||||
Properties local = new Properties()
|
// Exclude firebase file if not enable
|
||||||
if (new File("${rootDir}/local.properties").exists()) {
|
if (!firebaseEnable()) {
|
||||||
local.load(new FileInputStream("${rootDir}/local.properties"))
|
firebase = '**/Firebase*'
|
||||||
|
println '[Push Notification] Firebase disabled'
|
||||||
|
} else {
|
||||||
|
println '[Push Notification] Firebase enabled'
|
||||||
|
}
|
||||||
|
manifest.srcFile 'AndroidManifest.xml'
|
||||||
|
java.srcDirs = ['submodules/linphone/mediastreamer2/java/src',
|
||||||
|
'submodules/linphone/java/j2se',
|
||||||
|
'submodules/linphone/java/common',
|
||||||
|
'submodules/linphone/java/impl',
|
||||||
|
'submodules/linphone/coreapi/help/java',
|
||||||
|
'src']
|
||||||
|
resources.srcDirs = ['submodules/linphone/mediastreamer2/java/src',
|
||||||
|
'submodules/linphone/java/j2se',
|
||||||
|
'submodules/linphone/java/common',
|
||||||
|
'submodules/linphone/java/impl',
|
||||||
|
'submodules/linphone/coreapi/help/java',
|
||||||
|
'src']
|
||||||
|
aidl.srcDirs = ['submodules/linphone/mediastreamer2/java/src',
|
||||||
|
'submodules/linphone/java/j2se',
|
||||||
|
'submodules/linphone/java/common',
|
||||||
|
'submodules/linphone/java/impl',
|
||||||
|
'submodules/linphone/coreapi/help/java',
|
||||||
|
'src']
|
||||||
|
renderscript.srcDirs = ['submodules/linphone/mediastreamer2/java/src',
|
||||||
|
'submodules/linphone/java/j2se',
|
||||||
|
'submodules/linphone/java/common',
|
||||||
|
'submodules/linphone/java/impl',
|
||||||
|
'submodules/linphone/coreapi/help/java',
|
||||||
|
'src']
|
||||||
|
res.srcDirs = ['res']
|
||||||
|
assets.srcDirs = ['assets']
|
||||||
|
jniLibs.srcDirs = ['libs']
|
||||||
|
|
||||||
|
java.excludes = ['**/mediastream/MediastreamerActivity.java', firebase]
|
||||||
|
|
||||||
|
// Exclude some useless files
|
||||||
|
packagingOptions {
|
||||||
|
exclude '**/gdb.*'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
debug.setRoot('build-types/debug')
|
||||||
|
release.setRoot('build-types/release')
|
||||||
}
|
}
|
||||||
return local.getProperty('sdk.dir')
|
}
|
||||||
}
|
|
||||||
|
|
||||||
def getTarget() {
|
|
||||||
Properties local = new Properties()
|
|
||||||
if (new File("${rootDir}/project.properties").exists()) {
|
|
||||||
local.load(new FileInputStream("${rootDir}/project.properties"))
|
|
||||||
}
|
|
||||||
return local.getProperty('target')
|
|
||||||
}
|
|
||||||
|
|
||||||
def getVersionName() {
|
|
||||||
Properties local = new Properties()
|
|
||||||
if (new File("${rootDir}/default.properties").exists()) {
|
|
||||||
local.load(new FileInputStream("${rootDir}/default.properties"))
|
|
||||||
}
|
|
||||||
return local.getProperty('version.name')
|
|
||||||
}
|
|
||||||
|
|
||||||
ext.toolsDir = getSdkDir()
|
|
||||||
ext.versionName = getVersionName()
|
|
||||||
|
|
||||||
//task myJavadocs(type: Javadoc) {
|
|
||||||
//source = sourceSets.main.allJava
|
|
||||||
//classpath = ${toolsDir}/platforms/${target}/android.jar:libs/android-support-v4.jar:libs/gcm.jar
|
|
||||||
//}
|
|
||||||
|
|
||||||
task createLibJar(type: Jar) {
|
|
||||||
doLast {
|
|
||||||
baseName = "liblinphone"
|
|
||||||
String classDir = compileReleaseJavaWithJavac.destinationDir
|
|
||||||
|
|
||||||
from ('submodules/linphone/java')
|
|
||||||
include "common/org/linphone/core/*.java j2se/org/linphone/core/*.java"
|
|
||||||
|
|
||||||
from (classDir)
|
|
||||||
include "org/linphone/mediastream/**/*.class org/linphone/core/**/*.class org/linphone/tools/**/*.class"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
task createAndroidJar(type: Jar) {
|
|
||||||
doLast {
|
|
||||||
baseName = "linphone"
|
|
||||||
String classDir = compileReleaseJavaWithJavac.destinationDir
|
|
||||||
|
|
||||||
from (['submodules/linphone/java',classDir])
|
|
||||||
include ("common/org/linphone/core/*.java", "j2se/org/linphone/core/*.java", "org/linphone/mediastream/**/*.class", "org/linphone/core/**/*.class", "org/linphone/**/*.class, org/linphone/tools/**/*.class")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
task liblinphoneAndroidSdk(type: Zip) {
|
|
||||||
doLast {
|
|
||||||
createLibJar()
|
|
||||||
archiveName = 'liblinphone-android-sdk-${versionName}.zip'
|
|
||||||
|
|
||||||
from ('libs') {
|
|
||||||
into 'libs'
|
|
||||||
}
|
|
||||||
include "**/*.so"
|
|
||||||
from ('.') {
|
|
||||||
into 'libs'
|
|
||||||
}
|
|
||||||
include "liblinphone.jar"
|
|
||||||
|
|
||||||
from ('libs-debug') {
|
|
||||||
into 'libs-debug'
|
|
||||||
}
|
|
||||||
include "**/*.so"
|
|
||||||
|
|
||||||
from ('.') {
|
|
||||||
into 'libs-debug'
|
|
||||||
}
|
|
||||||
include "liblinphone.jar"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
task linphoneAndroidSdk(type: Zip) {
|
|
||||||
doLast {
|
|
||||||
createAndroidJar()
|
|
||||||
archiveName = 'linphone-android-sdk-${versionName}.zip'
|
|
||||||
|
|
||||||
from ('libs') {
|
|
||||||
into 'libs'
|
|
||||||
}
|
|
||||||
include "**/*.so"
|
|
||||||
from ('.') {
|
|
||||||
into 'libs'
|
|
||||||
}
|
|
||||||
include "linphone.jar"
|
|
||||||
|
|
||||||
from ('libs-debug') {
|
|
||||||
into 'libs-debug'
|
|
||||||
}
|
|
||||||
include "**/*.so"
|
|
||||||
|
|
||||||
from ('.') {
|
|
||||||
into 'libs-debug'
|
|
||||||
}
|
|
||||||
include "linphone.jar"
|
|
||||||
}
|
|
||||||
}
|
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
4
gradle/wrapper/gradle-wrapper.properties
vendored
4
gradle/wrapper/gradle-wrapper.properties
vendored
|
@ -1,6 +1,6 @@
|
||||||
#Wed Mar 22 15:25:45 CET 2017
|
#Wed Mar 29 17:34:30 CEST 2017
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-3.4-bin.zip
|
||||||
|
|
BIN
libs-test/junit-4.12.jar
Normal file
BIN
libs-test/junit-4.12.jar
Normal file
Binary file not shown.
BIN
libs-test/robotium-solo-5.2.1.jar
Normal file
BIN
libs-test/robotium-solo-5.2.1.jar
Normal file
Binary file not shown.
|
@ -332,7 +332,7 @@ release: java-clean build copy-libs
|
||||||
generate-sdk: liblinphone-android-sdk
|
generate-sdk: liblinphone-android-sdk
|
||||||
|
|
||||||
liblinphone-android-sdk: generate-apk
|
liblinphone-android-sdk: generate-apk
|
||||||
\tant liblinphone-android-sdk
|
\ttant liblinphone-android-sdk
|
||||||
|
|
||||||
linphone-android-sdk: generate-apk
|
linphone-android-sdk: generate-apk
|
||||||
\tant linphone-android-sdk
|
\tant linphone-android-sdk
|
||||||
|
@ -351,11 +351,8 @@ run-liblinphone-tests:
|
||||||
\t@cd liblinphone_tester && \\
|
\t@cd liblinphone_tester && \\
|
||||||
\tmake run-all-tests
|
\tmake run-all-tests
|
||||||
|
|
||||||
run-basic-tests: clean
|
|
||||||
\t$(MAKE) -C tests run-basic-tests ANT_SILENT=$(ANT_SILENT)
|
|
||||||
|
|
||||||
run-all-tests: clean
|
run-all-tests: clean
|
||||||
\t$(MAKE) -C tests run-all-tests ANT_SILENT=$(ANT_SILENT)
|
\t./gradlew connectedAndroidTest
|
||||||
|
|
||||||
pull-transifex:
|
pull-transifex:
|
||||||
\ttx pull -af
|
\ttx pull -af
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
package org.linphone.test;
|
|
||||||
|
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
|
||||||
import org.linphone.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
|
@ -40,8 +38,8 @@ public class AccountAssistant extends SampleTest {
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.login_linphone));
|
solo.clickOnView(solo.getView(org.linphone.R.id.login_linphone));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.use_username));
|
solo.clickOnView(solo.getView(org.linphone.R.id.use_username));
|
||||||
solo.enterText((EditText) solo.getView(org.linphone.R.id.assistant_username), iContext.getString(R.string.account_linphone_login));
|
solo.enterText((EditText) solo.getView(org.linphone.R.id.assistant_username), iContext.getString(org.linphone.R.string.account_linphone_login));
|
||||||
solo.enterText((EditText) solo.getView(org.linphone.R.id.assistant_password), iContext.getString(R.string.account_linphone_pwd));
|
solo.enterText((EditText) solo.getView(org.linphone.R.id.assistant_password), iContext.getString(org.linphone.R.string.account_linphone_pwd));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.assistant_apply));
|
solo.clickOnView(solo.getView(org.linphone.R.id.assistant_apply));
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.assistant_skip));
|
solo.clickOnView(solo.getView(org.linphone.R.id.assistant_skip));
|
||||||
|
@ -53,7 +51,7 @@ public class AccountAssistant extends SampleTest {
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.answerNo));
|
solo.clickOnView(solo.getView(org.linphone.R.id.answerNo));
|
||||||
|
|
||||||
solo.waitForActivity("LinphoneActivity", 8000);
|
solo.waitForActivity("LinphoneActivity", 8000);
|
||||||
Assert.assertTrue(solo.searchText(iContext.getString(R.string.account_linphone_login) + "@sip.linphone.org"));
|
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.account_linphone_login) + "@sip.linphone.org"));
|
||||||
|
|
||||||
solo.sleep(3000); //Wait for registration to be done
|
solo.sleep(3000); //Wait for registration to be done
|
||||||
LinphoneProxyConfig[] proxyConfigs = LinphoneManager.getLc().getProxyConfigList();
|
LinphoneProxyConfig[] proxyConfigs = LinphoneManager.getLc().getProxyConfigList();
|
||||||
|
@ -65,16 +63,16 @@ public class AccountAssistant extends SampleTest {
|
||||||
LinphonePreferences prefs = LinphonePreferences.instance();
|
LinphonePreferences prefs = LinphonePreferences.instance();
|
||||||
String stunServer = prefs.getStunServer();
|
String stunServer = prefs.getStunServer();
|
||||||
Assert.assertEquals(aContext.getString(org.linphone.R.string.default_stun), stunServer);
|
Assert.assertEquals(aContext.getString(org.linphone.R.string.default_stun), stunServer);
|
||||||
|
|
||||||
String transport = prefs.getAccountTransportKey(0);
|
String transport = prefs.getAccountTransportKey(0);
|
||||||
Assert.assertEquals(aContext.getString(org.linphone.R.string.pref_transport_tls_key), transport);
|
Assert.assertEquals(aContext.getString(org.linphone.R.string.pref_transport_tls_key), transport);
|
||||||
|
|
||||||
String proxy = prefs.getAccountProxy(0);
|
String proxy = prefs.getAccountProxy(0);
|
||||||
Assert.assertEquals("<sip:" + aContext.getString(org.linphone.R.string.default_domain) + ";transport=tls>", proxy);
|
Assert.assertEquals("<sip:" + aContext.getString(org.linphone.R.string.default_domain) + ";transport=tls>", proxy);
|
||||||
|
|
||||||
String username = prefs.getAccountUsername(0);
|
String username = prefs.getAccountUsername(0);
|
||||||
Assert.assertEquals(iContext.getString(R.string.account_linphone_login), username);
|
Assert.assertEquals(iContext.getString(org.linphone.R.string.account_linphone_login), username);
|
||||||
|
|
||||||
boolean ice = prefs.isIceEnabled();
|
boolean ice = prefs.isIceEnabled();
|
||||||
Assert.assertEquals(ice, true);
|
Assert.assertEquals(ice, true);
|
||||||
}
|
}
|
||||||
|
@ -90,17 +88,17 @@ public class AccountAssistant extends SampleTest {
|
||||||
startAssistant();
|
startAssistant();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.login_generic));
|
solo.clickOnView(solo.getView(org.linphone.R.id.login_generic));
|
||||||
solo.enterText((EditText) solo.getView(org.linphone.R.id.assistant_username), iContext.getString(R.string.account_generic_login));
|
solo.enterText((EditText) solo.getView(org.linphone.R.id.assistant_username), iContext.getString(org.linphone.R.string.account_generic_login));
|
||||||
solo.enterText((EditText) solo.getView(org.linphone.R.id.assistant_password), iContext.getString(R.string.account_generic_pwd));
|
solo.enterText((EditText) solo.getView(org.linphone.R.id.assistant_password), iContext.getString(org.linphone.R.string.account_generic_pwd));
|
||||||
solo.enterText((EditText) solo.getView(org.linphone.R.id.assistant_domain), iContext.getString(R.string.account_generic_domain));
|
solo.enterText((EditText) solo.getView(org.linphone.R.id.assistant_domain), iContext.getString(org.linphone.R.string.account_generic_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.assistant_apply));
|
solo.clickOnView(solo.getView(org.linphone.R.id.assistant_apply));
|
||||||
|
|
||||||
if (!Hacks.hasBuiltInEchoCanceller())
|
if (!Hacks.hasBuiltInEchoCanceller())
|
||||||
solo.waitForActivity("LinphoneActivity", 8000);
|
solo.waitForActivity("LinphoneActivity", 8000);
|
||||||
else
|
else
|
||||||
solo.waitForActivity("LinphoneActivity", 2000);
|
solo.waitForActivity("LinphoneActivity", 2000);
|
||||||
Assert.assertTrue(solo.searchText(iContext.getString(R.string.account_generic_login) + "@" + iContext.getString(R.string.account_generic_domain)));
|
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.account_generic_login) + "@" + iContext.getString(org.linphone.R.string.account_generic_domain)));
|
||||||
|
|
||||||
solo.sleep(3000); //Wait for registration to be done
|
solo.sleep(3000); //Wait for registration to be done
|
||||||
LinphoneProxyConfig[] proxyConfigs = LinphoneManager.getLc().getProxyConfigList();
|
LinphoneProxyConfig[] proxyConfigs = LinphoneManager.getLc().getProxyConfigList();
|
||||||
Assert.assertEquals(proxyConfigs.length, 2);
|
Assert.assertEquals(proxyConfigs.length, 2);
|
||||||
|
@ -114,7 +112,7 @@ public class AccountAssistant extends SampleTest {
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.create_account));
|
solo.clickOnView(solo.getView(org.linphone.R.id.create_account));
|
||||||
|
|
||||||
solo.enterText((EditText) solo.getView(org.linphone.R.id.username), iContext.getString(R.string.account_create_login).substring(0, 2));
|
solo.enterText((EditText) solo.getView(org.linphone.R.id.username), iContext.getString(org.linphone.R.string.account_create_login).substring(0, 2));
|
||||||
solo.sleep(200);
|
solo.sleep(200);
|
||||||
TextView error = (TextView) solo.getView(org.linphone.R.id.username_error);
|
TextView error = (TextView) solo.getView(org.linphone.R.id.username_error);
|
||||||
int sleepingTime = 1500;
|
int sleepingTime = 1500;
|
||||||
|
@ -124,39 +122,39 @@ public class AccountAssistant extends SampleTest {
|
||||||
Assert.assertFalse(createAccount.isEnabled());
|
Assert.assertFalse(createAccount.isEnabled());
|
||||||
|
|
||||||
solo.clearEditText((EditText) solo.getView(org.linphone.R.id.username));
|
solo.clearEditText((EditText) solo.getView(org.linphone.R.id.username));
|
||||||
solo.enterText((EditText) solo.getView(org.linphone.R.id.username), iContext.getString(R.string.account_linphone_login));
|
solo.enterText((EditText) solo.getView(org.linphone.R.id.username), iContext.getString(org.linphone.R.string.account_linphone_login));
|
||||||
solo.sleep(sleepingTime * 2);
|
solo.sleep(sleepingTime * 2);
|
||||||
Assert.assertEquals(error.getText(), aContext.getString(org.linphone.R.string.wizard_username_unavailable));
|
Assert.assertEquals(error.getText(), aContext.getString(org.linphone.R.string.wizard_username_unavailable));
|
||||||
Assert.assertFalse(createAccount.isEnabled());
|
Assert.assertFalse(createAccount.isEnabled());
|
||||||
|
|
||||||
solo.enterText((EditText) solo.getView(org.linphone.R.id.password), iContext.getString(R.string.account_create_pwd).substring(0, 2));
|
solo.enterText((EditText) solo.getView(org.linphone.R.id.password), iContext.getString(org.linphone.R.string.account_create_pwd).substring(0, 2));
|
||||||
solo.sleep(sleepingTime);
|
solo.sleep(sleepingTime);
|
||||||
error = (TextView) solo.getView(org.linphone.R.id.confirm_password_error);
|
error = (TextView) solo.getView(org.linphone.R.id.confirm_password_error);
|
||||||
Assert.assertEquals(error.getText(), aContext.getString(org.linphone.R.string.wizard_passwords_unmatched));
|
Assert.assertEquals(error.getText(), aContext.getString(org.linphone.R.string.wizard_passwords_unmatched));
|
||||||
Assert.assertFalse(createAccount.isEnabled());
|
Assert.assertFalse(createAccount.isEnabled());
|
||||||
|
|
||||||
solo.clearEditText((EditText) solo.getView(org.linphone.R.id.password));
|
solo.clearEditText((EditText) solo.getView(org.linphone.R.id.password));
|
||||||
solo.enterText((EditText) solo.getView(org.linphone.R.id.password), iContext.getString(R.string.account_create_pwd).substring(0, 2));
|
solo.enterText((EditText) solo.getView(org.linphone.R.id.password), iContext.getString(org.linphone.R.string.account_create_pwd).substring(0, 2));
|
||||||
solo.enterText((EditText) solo.getView(org.linphone.R.id.confirm_password), iContext.getString(R.string.account_create_pwd).substring(0,2));
|
solo.enterText((EditText) solo.getView(org.linphone.R.id.confirm_password), iContext.getString(org.linphone.R.string.account_create_pwd).substring(0,2));
|
||||||
solo.sleep(sleepingTime);
|
solo.sleep(sleepingTime);
|
||||||
error = (TextView) solo.getView(org.linphone.R.id.password_error);
|
error = (TextView) solo.getView(org.linphone.R.id.password_error);
|
||||||
Assert.assertEquals(error.getText(), aContext.getString(org.linphone.R.string.wizard_password_incorrect));
|
Assert.assertEquals(error.getText(), aContext.getString(org.linphone.R.string.wizard_password_incorrect));
|
||||||
Assert.assertFalse(createAccount.isEnabled());
|
Assert.assertFalse(createAccount.isEnabled());
|
||||||
|
|
||||||
solo.enterText((EditText) solo.getView(org.linphone.R.id.email), iContext.getString(R.string.account_create_email).substring(0, 12));
|
solo.enterText((EditText) solo.getView(org.linphone.R.id.email), iContext.getString(org.linphone.R.string.account_create_email).substring(0, 12));
|
||||||
solo.sleep(sleepingTime);
|
solo.sleep(sleepingTime);
|
||||||
error = (TextView) solo.getView(org.linphone.R.id.email_error);
|
error = (TextView) solo.getView(org.linphone.R.id.email_error);
|
||||||
Assert.assertEquals(error.getText(), aContext.getString(org.linphone.R.string.wizard_email_incorrect));
|
Assert.assertEquals(error.getText(), aContext.getString(org.linphone.R.string.wizard_email_incorrect));
|
||||||
Assert.assertFalse(createAccount.isEnabled());
|
Assert.assertFalse(createAccount.isEnabled());
|
||||||
|
|
||||||
solo.clearEditText((EditText) solo.getView(org.linphone.R.id.username));
|
solo.clearEditText((EditText) solo.getView(org.linphone.R.id.username));
|
||||||
solo.clearEditText((EditText) solo.getView(org.linphone.R.id.password));
|
solo.clearEditText((EditText) solo.getView(org.linphone.R.id.password));
|
||||||
solo.clearEditText((EditText) solo.getView(org.linphone.R.id.confirm_password));
|
solo.clearEditText((EditText) solo.getView(org.linphone.R.id.confirm_password));
|
||||||
solo.clearEditText((EditText) solo.getView(org.linphone.R.id.email));
|
solo.clearEditText((EditText) solo.getView(org.linphone.R.id.email));
|
||||||
solo.enterText((EditText) solo.getView(org.linphone.R.id.username), iContext.getString(R.string.account_create_login));
|
solo.enterText((EditText) solo.getView(org.linphone.R.id.username), iContext.getString(org.linphone.R.string.account_create_login));
|
||||||
solo.enterText((EditText) solo.getView(org.linphone.R.id.password), iContext.getString(R.string.account_create_pwd));
|
solo.enterText((EditText) solo.getView(org.linphone.R.id.password), iContext.getString(org.linphone.R.string.account_create_pwd));
|
||||||
solo.enterText((EditText) solo.getView(org.linphone.R.id.confirm_password), iContext.getString(R.string.account_create_pwd));
|
solo.enterText((EditText) solo.getView(org.linphone.R.id.confirm_password), iContext.getString(org.linphone.R.string.account_create_pwd));
|
||||||
solo.enterText((EditText) solo.getView(org.linphone.R.id.email), iContext.getString(R.string.account_create_email));
|
solo.enterText((EditText) solo.getView(org.linphone.R.id.email), iContext.getString(org.linphone.R.string.account_create_email));
|
||||||
solo.sleep(sleepingTime);
|
solo.sleep(sleepingTime);
|
||||||
Assert.assertEquals(error.getText(), "");
|
Assert.assertEquals(error.getText(), "");
|
||||||
Assert.assertTrue(createAccount.isEnabled());
|
Assert.assertTrue(createAccount.isEnabled());
|
||||||
|
@ -166,11 +164,11 @@ public class AccountAssistant extends SampleTest {
|
||||||
public void testFCancelWizard() {
|
public void testFCancelWizard() {
|
||||||
startAssistant();
|
startAssistant();
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.assistant_cancel));
|
solo.clickOnView(solo.getView(org.linphone.R.id.assistant_cancel));
|
||||||
|
|
||||||
solo.waitForActivity("LinphoneActivity", 2000);
|
solo.waitForActivity("LinphoneActivity", 2000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startAssistant() {
|
private void startAssistant() {
|
||||||
solo.waitForActivity("LinphoneActivity", 2000);
|
solo.waitForActivity("LinphoneActivity", 2000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
|
@ -1,5 +1,3 @@
|
||||||
package org.linphone.test;
|
|
||||||
|
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
|
||||||
import org.linphone.FragmentsAvailable;
|
import org.linphone.FragmentsAvailable;
|
||||||
|
@ -17,16 +15,16 @@ public class AccountManagement extends SampleTest {
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testAEditAccount() {
|
public void testAEditAccount() {
|
||||||
goToSettings();
|
goToSettings();
|
||||||
solo.clickOnText(iContext.getString(R.string.account_generic_login) + "@" + iContext.getString(R.string.account_generic_domain));
|
solo.clickOnText(iContext.getString(org.linphone.R.string.account_generic_login) + "@" + iContext.getString(org.linphone.R.string.account_generic_domain));
|
||||||
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_username));
|
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_username));
|
||||||
solo.enterText(0, "new");
|
solo.enterText(0, "new");
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(android.R.id.button1));
|
solo.clickOnView(solo.getView(android.R.id.button1));
|
||||||
|
|
||||||
solo.goBack();
|
solo.goBack();
|
||||||
solo.goBack();
|
solo.goBack();
|
||||||
solo.waitForFragmentByTag(FragmentsAvailable.DIALER.toString(), 2000);
|
solo.waitForFragmentByTag(FragmentsAvailable.DIALER.toString(), 2000);
|
||||||
|
|
||||||
LinphoneProxyConfig[] proxyConfigs = LinphoneManager.getLc().getProxyConfigList();
|
LinphoneProxyConfig[] proxyConfigs = LinphoneManager.getLc().getProxyConfigList();
|
||||||
LinphoneProxyConfig proxyConfig = proxyConfigs[0];
|
LinphoneProxyConfig proxyConfig = proxyConfigs[0];
|
||||||
waitForRegistration(proxyConfig);
|
waitForRegistration(proxyConfig);
|
||||||
|
@ -39,13 +37,13 @@ public class AccountManagement extends SampleTest {
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testBDeleteAccount() {
|
public void testBDeleteAccount() {
|
||||||
goToSettings();
|
goToSettings();
|
||||||
solo.clickOnText(iContext.getString(R.string.account_generic_login) + "new");
|
solo.clickOnText(iContext.getString(org.linphone.R.string.account_generic_login) + "new");
|
||||||
selectItemInListOnUIThread(16);
|
selectItemInListOnUIThread(16);
|
||||||
solo.clickLongOnText(aContext.getString(org.linphone.R.string.pref_delete_account));
|
solo.clickLongOnText(aContext.getString(org.linphone.R.string.pref_delete_account));
|
||||||
|
|
||||||
solo.goBack();
|
solo.goBack();
|
||||||
solo.goBack();
|
solo.goBack();
|
||||||
|
|
||||||
LinphoneProxyConfig[] proxyConfigs = LinphoneManager.getLc().getProxyConfigList();
|
LinphoneProxyConfig[] proxyConfigs = LinphoneManager.getLc().getProxyConfigList();
|
||||||
Assert.assertEquals(1, proxyConfigs.length);
|
Assert.assertEquals(1, proxyConfigs.length);
|
||||||
}
|
}
|
||||||
|
@ -53,29 +51,29 @@ public class AccountManagement extends SampleTest {
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testCDisableAccount() {
|
public void testCDisableAccount() {
|
||||||
goToSettings();
|
goToSettings();
|
||||||
solo.clickOnText(iContext.getString(R.string.account_linphone_login));
|
solo.clickOnText(iContext.getString(org.linphone.R.string.account_linphone_login));
|
||||||
selectItemInListOnUIThread(14);
|
selectItemInListOnUIThread(14);
|
||||||
solo.clickLongOnText(aContext.getString(org.linphone.R.string.pref_disable_account));
|
solo.clickLongOnText(aContext.getString(org.linphone.R.string.pref_disable_account));
|
||||||
|
|
||||||
solo.goBack();
|
solo.goBack();
|
||||||
solo.goBack();
|
solo.goBack();
|
||||||
|
|
||||||
Assert.assertFalse(LinphonePreferences.instance().isAccountEnabled(0));
|
Assert.assertFalse(LinphonePreferences.instance().isAccountEnabled(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testDEnableAccount() {
|
public void testDEnableAccount() {
|
||||||
goToSettings();
|
goToSettings();
|
||||||
solo.clickOnText(iContext.getString(R.string.account_linphone_login));
|
solo.clickOnText(iContext.getString(org.linphone.R.string.account_linphone_login));
|
||||||
selectItemInListOnUIThread(14);
|
selectItemInListOnUIThread(14);
|
||||||
solo.clickLongOnText(aContext.getString(org.linphone.R.string.pref_disable_account));
|
solo.clickLongOnText(aContext.getString(org.linphone.R.string.pref_disable_account));
|
||||||
|
|
||||||
solo.goBack();
|
solo.goBack();
|
||||||
solo.goBack();
|
solo.goBack();
|
||||||
|
|
||||||
Assert.assertTrue(LinphonePreferences.instance().isAccountEnabled(0));
|
Assert.assertTrue(LinphonePreferences.instance().isAccountEnabled(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void goToSettings() {
|
private void goToSettings() {
|
||||||
solo.waitForActivity("LinphoneActivity", 2000);
|
solo.waitForActivity("LinphoneActivity", 2000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
|
@ -1,5 +1,3 @@
|
||||||
package org.linphone.test;
|
|
||||||
|
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
|
||||||
import android.test.suitebuilder.annotation.LargeTest;
|
import android.test.suitebuilder.annotation.LargeTest;
|
||||||
|
@ -14,9 +12,9 @@ public class AinitTestEnv extends SampleTest {
|
||||||
@SmallTest
|
@SmallTest
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testAInitLinphoneCore() {
|
public void testAInitLinphoneCore() {
|
||||||
LinphoneTestManager.createAndStart(aContext, iContext, 1);
|
LinphoneTestManager.createAndStart(aContext, iContext, 1);
|
||||||
|
|
||||||
solo.sleep(5000);
|
solo.sleep(5000);
|
||||||
Assert.assertEquals(1, LinphoneTestManager.getLc().getProxyConfigList().length);
|
Assert.assertEquals(1, LinphoneTestManager.getLc().getProxyConfigList().length);
|
||||||
waitForRegistration(LinphoneTestManager.getLc().getProxyConfigList()[0]);
|
waitForRegistration(LinphoneTestManager.getLc().getProxyConfigList()[0]);
|
|
@ -1,5 +1,3 @@
|
||||||
package org.linphone.test;
|
|
||||||
|
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
|
||||||
import org.linphone.CallActivity;
|
import org.linphone.CallActivity;
|
||||||
|
@ -22,7 +20,7 @@ import android.view.View;
|
||||||
* @author Sylvain Berfini
|
* @author Sylvain Berfini
|
||||||
*/
|
*/
|
||||||
public class CallsAudio extends SampleTest {
|
public class CallsAudio extends SampleTest {
|
||||||
|
|
||||||
@SmallTest
|
@SmallTest
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
|
@ -34,24 +32,24 @@ public class CallsAudio extends SampleTest {
|
||||||
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_title));
|
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_title));
|
||||||
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_enable_title));
|
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_enable_title));
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
|
|
||||||
solo.goBack();
|
solo.goBack();
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
Assert.assertFalse(LinphoneManager.getLc().isVideoEnabled());
|
Assert.assertFalse(LinphoneManager.getLc().isVideoEnabled());
|
||||||
}
|
}
|
||||||
|
|
||||||
@SmallTest
|
@SmallTest
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testBOutgoingCallWithDefaultConfig() {
|
public void testBOutgoingCallWithDefaultConfig() {
|
||||||
LinphoneTestManager.getInstance().declineCall = false; // Just in case
|
LinphoneTestManager.getInstance().declineCall = false; // Just in case
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertOutgoingCallIsCorrectlyRunning();
|
assertOutgoingCallIsCorrectlyRunning();
|
||||||
assertCallIsCorrectlyRunning();
|
assertCallIsCorrectlyRunning();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
|
@ -64,26 +62,26 @@ public class CallsAudio extends SampleTest {
|
||||||
solo.clickOnText("PCMU");
|
solo.clickOnText("PCMU");
|
||||||
goBackToDialerAfterCodecChanges();
|
goBackToDialerAfterCodecChanges();
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
|
|
||||||
LinphoneManager.getLc().setUseRfc2833ForDtmfs(true);
|
LinphoneManager.getLc().setUseRfc2833ForDtmfs(true);
|
||||||
LinphoneManager.getLc().setUseSipInfoForDtmfs(false);
|
LinphoneManager.getLc().setUseSipInfoForDtmfs(false);
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning();
|
assertCallIsCorrectlyRunning();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.dialer));
|
solo.clickOnView(solo.getView(org.linphone.R.id.dialer));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.Digit3));
|
solo.clickOnView(solo.getView(org.linphone.R.id.Digit3));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.dialer));
|
solo.clickOnView(solo.getView(org.linphone.R.id.dialer));
|
||||||
|
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
|
|
||||||
//To enable when issue http://git.linphone.org/mantis/view.php?id=750 will be fixed
|
//To enable when issue http://git.linphone.org/mantis/view.php?id=750 will be fixed
|
||||||
//Assert.assertTrue(LinphoneTestManager.getInstance().isDTMFReceived);
|
//Assert.assertTrue(LinphoneTestManager.getInstance().isDTMFReceived);
|
||||||
LinphoneTestManager.getInstance().isDTMFReceived = false;
|
LinphoneTestManager.getInstance().isDTMFReceived = false;
|
||||||
|
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
}
|
}
|
||||||
|
@ -93,23 +91,23 @@ public class CallsAudio extends SampleTest {
|
||||||
public void testDDTMFSIPINFO() {
|
public void testDDTMFSIPINFO() {
|
||||||
LinphoneManager.getLc().setUseRfc2833ForDtmfs(false);
|
LinphoneManager.getLc().setUseRfc2833ForDtmfs(false);
|
||||||
LinphoneManager.getLc().setUseSipInfoForDtmfs(true);
|
LinphoneManager.getLc().setUseSipInfoForDtmfs(true);
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning();
|
assertCallIsCorrectlyRunning();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.dialer));
|
solo.clickOnView(solo.getView(org.linphone.R.id.dialer));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.Digit3));
|
solo.clickOnView(solo.getView(org.linphone.R.id.Digit3));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.dialer));
|
solo.clickOnView(solo.getView(org.linphone.R.id.dialer));
|
||||||
|
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
|
|
||||||
//To enable when issue http://git.linphone.org/mantis/view.php?id=751 will be fixed
|
//To enable when issue http://git.linphone.org/mantis/view.php?id=751 will be fixed
|
||||||
//Assert.assertTrue(LinphoneTestManager.getInstance().isDTMFReceived);
|
//Assert.assertTrue(LinphoneTestManager.getInstance().isDTMFReceived);
|
||||||
LinphoneTestManager.getInstance().isDTMFReceived = false;
|
LinphoneTestManager.getInstance().isDTMFReceived = false;
|
||||||
|
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
}
|
}
|
||||||
|
@ -118,12 +116,12 @@ public class CallsAudio extends SampleTest {
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testEOutgoingCallToAudioClient() {
|
public void testEOutgoingCallToAudioClient() {
|
||||||
LinphoneTestManager.getLc().enableVideo(false, false);
|
LinphoneTestManager.getLc().enableVideo(false, false);
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
solo.waitForActivity("CallOutgoingActivity", 2000);
|
solo.waitForActivity("CallOutgoingActivity", 2000);
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
|
@ -133,12 +131,12 @@ public class CallsAudio extends SampleTest {
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testFOutgoingCallToVideoClient() {
|
public void testFOutgoingCallToVideoClient() {
|
||||||
LinphoneTestManager.getLc().enableVideo(true, true);
|
LinphoneTestManager.getLc().enableVideo(true, true);
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
solo.waitForActivity("CallOutgoingActivity", 5000);
|
solo.waitForActivity("CallOutgoingActivity", 5000);
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
|
@ -148,8 +146,8 @@ public class CallsAudio extends SampleTest {
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testGOutgoingCallCancelled() {
|
public void testGOutgoingCallCancelled() {
|
||||||
LinphoneTestManager.getInstance().autoAnswer = false;
|
LinphoneTestManager.getInstance().autoAnswer = false;
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
solo.waitForActivity("CallOutgoingActivity", 200);
|
solo.waitForActivity("CallOutgoingActivity", 200);
|
||||||
|
@ -157,9 +155,9 @@ public class CallsAudio extends SampleTest {
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
waitForCallState(LinphoneManager.getLc().getCalls()[0],LinphoneCall.State.OutgoingRinging);
|
waitForCallState(LinphoneManager.getLc().getCalls()[0],LinphoneCall.State.OutgoingRinging);
|
||||||
|
|
||||||
LinphoneTestManager.getInstance().autoAnswer = true;
|
LinphoneTestManager.getInstance().autoAnswer = true;
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.outgoing_hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.outgoing_hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
|
@ -170,16 +168,16 @@ public class CallsAudio extends SampleTest {
|
||||||
public void testHOutgoingCallDeclined() {
|
public void testHOutgoingCallDeclined() {
|
||||||
LinphoneTestManager.getInstance().autoAnswer = true; // Just in case
|
LinphoneTestManager.getInstance().autoAnswer = true; // Just in case
|
||||||
LinphoneTestManager.getInstance().declineCall = true;
|
LinphoneTestManager.getInstance().declineCall = true;
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
solo.sleep(1500);
|
solo.sleep(1500);
|
||||||
Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.error_call_declined)));
|
Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.error_call_declined)));
|
||||||
|
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
|
|
||||||
LinphoneTestManager.getInstance().declineCall = false;
|
LinphoneTestManager.getInstance().declineCall = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -189,14 +187,14 @@ public class CallsAudio extends SampleTest {
|
||||||
public void testIIncomingAudioCall() {
|
public void testIIncomingAudioCall() {
|
||||||
LinphoneTestManager.getInstance().declineCall = false; // Just in case
|
LinphoneTestManager.getInstance().declineCall = false; // Just in case
|
||||||
LinphoneTestManager.getLc().enableVideo(false, false);
|
LinphoneTestManager.getLc().enableVideo(false, false);
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
try {
|
try {
|
||||||
LinphoneTestManager.getLc().invite("sip:" + iContext.getString(org.linphone.test.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.test.R.string.account_linphone_domain));
|
LinphoneTestManager.getLc().invite("sip:" + iContext.getString(org.linphone.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.R.string.account_linphone_domain));
|
||||||
} catch (LinphoneCoreException e) {
|
} catch (LinphoneCoreException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
solo.waitForActivity("CallIncomingActivity", 2000);
|
solo.waitForActivity("CallIncomingActivity", 2000);
|
||||||
solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class);
|
solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class);
|
||||||
|
|
||||||
|
@ -210,7 +208,7 @@ public class CallsAudio extends SampleTest {
|
||||||
solo.drag(10, topLayout.getMeasuredWidth() - 10, slidersTop, slidersTop, 10);*/
|
solo.drag(10, topLayout.getMeasuredWidth() - 10, slidersTop, slidersTop, 10);*/
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.accept));
|
solo.clickOnView(solo.getView(org.linphone.R.id.accept));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning();
|
assertCallIsCorrectlyRunning();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -220,11 +218,11 @@ public class CallsAudio extends SampleTest {
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
try {
|
try {
|
||||||
LinphoneTestManager.getLc().invite("sip:" + iContext.getString(org.linphone.test.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.test.R.string.account_linphone_domain));
|
LinphoneTestManager.getLc().invite("sip:" + iContext.getString(org.linphone.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.R.string.account_linphone_domain));
|
||||||
} catch (LinphoneCoreException e) {
|
} catch (LinphoneCoreException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
solo.waitForActivity("CallIncomingActivity", 5000);
|
solo.waitForActivity("CallIncomingActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class);
|
solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class);
|
||||||
|
|
||||||
|
@ -238,18 +236,18 @@ public class CallsAudio extends SampleTest {
|
||||||
solo.drag(10, topLayout.getMeasuredWidth() - 10, slidersTop, slidersTop, 10);*/
|
solo.drag(10, topLayout.getMeasuredWidth() - 10, slidersTop, slidersTop, 10);*/
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.accept));
|
solo.clickOnView(solo.getView(org.linphone.R.id.accept));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning();
|
assertCallIsCorrectlyRunning();
|
||||||
}
|
}
|
||||||
|
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testKSelfPauseResumeCall() {
|
public void testKSelfPauseResumeCall() {
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning();
|
assertCallIsCorrectlyRunning();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.pause));
|
solo.clickOnView(solo.getView(org.linphone.R.id.pause));
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
|
|
||||||
|
@ -259,7 +257,7 @@ public class CallsAudio extends SampleTest {
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
|
|
||||||
waitForCallResumed(LinphoneManager.getLc().getCalls()[0]);
|
waitForCallResumed(LinphoneManager.getLc().getCalls()[0]);
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
|
@ -268,11 +266,11 @@ public class CallsAudio extends SampleTest {
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testLRemotePauseResumeCall() {
|
public void testLRemotePauseResumeCall() {
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning();
|
assertCallIsCorrectlyRunning();
|
||||||
|
|
||||||
LinphoneTestManager.getLc().pauseAllCalls();
|
LinphoneTestManager.getLc().pauseAllCalls();
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
|
|
||||||
|
@ -282,7 +280,7 @@ public class CallsAudio extends SampleTest {
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
|
|
||||||
waitForCallResumed(LinphoneManager.getLc().getCalls()[0]);
|
waitForCallResumed(LinphoneManager.getLc().getCalls()[0]);
|
||||||
|
|
||||||
solo.clickLongOnScreen(200, 200); //To ensure controls are shown
|
solo.clickLongOnScreen(200, 200); //To ensure controls are shown
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
|
@ -291,13 +289,13 @@ public class CallsAudio extends SampleTest {
|
||||||
|
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testMSwitchOnVideoInCallIsNotAllowed() {
|
public void testMSwitchOnVideoInCallIsNotAllowed() {
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning();
|
assertCallIsCorrectlyRunning();
|
||||||
|
|
||||||
Assert.assertFalse(solo.getView(org.linphone.R.id.video).isEnabled());
|
Assert.assertFalse(solo.getView(org.linphone.R.id.video).isEnabled());
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
|
@ -310,14 +308,14 @@ public class CallsAudio extends SampleTest {
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
try {
|
try {
|
||||||
LinphoneTestManager.getLc().invite("sip:" + iContext.getString(org.linphone.test.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.test.R.string.account_linphone_domain));
|
LinphoneTestManager.getLc().invite("sip:" + iContext.getString(org.linphone.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.R.string.account_linphone_domain));
|
||||||
} catch (LinphoneCoreException e) {
|
} catch (LinphoneCoreException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
solo.waitForActivity("CallIncomingActivity", 5000);
|
solo.waitForActivity("CallIncomingActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class);
|
solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class);
|
||||||
|
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
View topLayout = solo.getView(org.linphone.R.id.topLayout);
|
View topLayout = solo.getView(org.linphone.R.id.topLayout);
|
||||||
int topLayoutHeigh = topLayout.getMeasuredHeight();
|
int topLayoutHeigh = topLayout.getMeasuredHeight();
|
||||||
|
@ -336,16 +334,16 @@ public class CallsAudio extends SampleTest {
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
try {
|
try {
|
||||||
LinphoneTestManager.getLc().invite("sip:" + iContext.getString(org.linphone.test.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.test.R.string.account_linphone_domain));
|
LinphoneTestManager.getLc().invite("sip:" + iContext.getString(org.linphone.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.R.string.account_linphone_domain));
|
||||||
} catch (LinphoneCoreException e) {
|
} catch (LinphoneCoreException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
solo.waitForActivity("CallIncomingActivity", 5000);
|
solo.waitForActivity("CallIncomingActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class);
|
solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class);
|
||||||
|
|
||||||
LinphoneTestManager.getLc().terminateAllCalls();
|
LinphoneTestManager.getLc().terminateAllCalls();
|
||||||
|
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
}
|
}
|
||||||
|
@ -355,10 +353,10 @@ public class CallsAudio extends SampleTest {
|
||||||
public void testPDisplayMissedCallsNumber() {
|
public void testPDisplayMissedCallsNumber() {
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
|
|
||||||
Assert.assertTrue(solo.searchText("1"));
|
Assert.assertTrue(solo.searchText("1"));
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: Test each audio codec
|
//TODO: Test each audio codec
|
||||||
|
|
||||||
private void assertOutgoingCallIsCorrectlyRunning() {
|
private void assertOutgoingCallIsCorrectlyRunning() {
|
||||||
|
@ -368,7 +366,7 @@ public class CallsAudio extends SampleTest {
|
||||||
LinphoneCall call = LinphoneManager.getLc().getCalls()[0];
|
LinphoneCall call = LinphoneManager.getLc().getCalls()[0];
|
||||||
waitForCallState(call, LinphoneCall.State.OutgoingProgress);
|
waitForCallState(call, LinphoneCall.State.OutgoingProgress);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assertCallIsCorrectlyRunning() {
|
private void assertCallIsCorrectlyRunning() {
|
||||||
solo.waitForActivity("CallActivity", 5000);
|
solo.waitForActivity("CallActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected InCall Activity", CallActivity.class);
|
solo.assertCurrentActivity("Expected InCall Activity", CallActivity.class);
|
||||||
|
@ -376,23 +374,23 @@ public class CallsAudio extends SampleTest {
|
||||||
LinphoneCall call = LinphoneManager.getLc().getCalls()[0];
|
LinphoneCall call = LinphoneManager.getLc().getCalls()[0];
|
||||||
waitForCallState(call, LinphoneCall.State.StreamsRunning);
|
waitForCallState(call, LinphoneCall.State.StreamsRunning);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void goToSettings() {
|
private void goToSettings() {
|
||||||
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(org.linphone.R.id.side_menu_button));
|
solo.clickOnView(solo.getView(org.linphone.R.id.side_menu_button));
|
||||||
solo.clickOnText(aContext.getString(org.linphone.R.string.menu_settings));
|
solo.clickOnText(aContext.getString(org.linphone.R.string.menu_settings));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void goToAudioCodecsSettings() {
|
private void goToAudioCodecsSettings() {
|
||||||
goToSettings();
|
goToSettings();
|
||||||
|
|
||||||
selectItemInListOnUIThread(4);
|
selectItemInListOnUIThread(4);
|
||||||
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_audio_title));
|
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_audio_title));
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isAudioCodecEnabled(String mime, int rate) {
|
private boolean isAudioCodecEnabled(String mime, int rate) {
|
||||||
LinphoneCore lc = LinphoneTestManager.getLc();
|
LinphoneCore lc = LinphoneTestManager.getLc();
|
||||||
for (final PayloadType pt : lc.getAudioCodecs()) {
|
for (final PayloadType pt : lc.getAudioCodecs()) {
|
||||||
|
@ -401,85 +399,85 @@ public class CallsAudio extends SampleTest {
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void disableAllEnabledAudioCodecs() {
|
private void disableAllEnabledAudioCodecs() {
|
||||||
goToAudioCodecsSettings();
|
goToAudioCodecsSettings();
|
||||||
|
|
||||||
if (isAudioCodecEnabled("opus", 48000)) {
|
if (isAudioCodecEnabled("opus", 48000)) {
|
||||||
solo.clickOnText("opus");
|
solo.clickOnText("opus");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("speex", 16000)) {
|
if (isAudioCodecEnabled("speex", 16000)) {
|
||||||
solo.clickOnText("speex");
|
solo.clickOnText("speex");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("speex", 8000)) {
|
if (isAudioCodecEnabled("speex", 8000)) {
|
||||||
solo.clickOnText("speex", 1);
|
solo.clickOnText("speex", 1);
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("iLBC", 8000)) {
|
if (isAudioCodecEnabled("iLBC", 8000)) {
|
||||||
solo.clickOnText("iLBC");
|
solo.clickOnText("iLBC");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("AMR", 8000)) {
|
if (isAudioCodecEnabled("AMR", 8000)) {
|
||||||
solo.clickOnText("AMR");
|
solo.clickOnText("AMR");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("AMRWB", 8000)) {
|
if (isAudioCodecEnabled("AMRWB", 8000)) {
|
||||||
solo.clickOnText("AMRWB");
|
solo.clickOnText("AMRWB");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("G729", 8000)) {
|
if (isAudioCodecEnabled("G729", 8000)) {
|
||||||
solo.clickOnText("G729");
|
solo.clickOnText("G729");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("GSM", 8000)) {
|
if (isAudioCodecEnabled("GSM", 8000)) {
|
||||||
solo.clickOnText("GSM");
|
solo.clickOnText("GSM");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("G722", 8000)) {
|
if (isAudioCodecEnabled("G722", 8000)) {
|
||||||
solo.clickOnText("G722");
|
solo.clickOnText("G722");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("SILK", 24000)) {
|
if (isAudioCodecEnabled("SILK", 24000)) {
|
||||||
solo.clickOnText("SILK");
|
solo.clickOnText("SILK");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("SILK", 16000)) {
|
if (isAudioCodecEnabled("SILK", 16000)) {
|
||||||
solo.clickOnText("SILK", 1);
|
solo.clickOnText("SILK", 1);
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("SILK", 8000)) {
|
if (isAudioCodecEnabled("SILK", 8000)) {
|
||||||
solo.clickOnText("SILK", 2);
|
solo.clickOnText("SILK", 2);
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("PCMU", 8000)) {
|
if (isAudioCodecEnabled("PCMU", 8000)) {
|
||||||
solo.clickOnText("PCMU");
|
solo.clickOnText("PCMU");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("PCMA", 8000)) {
|
if (isAudioCodecEnabled("PCMA", 8000)) {
|
||||||
solo.clickOnText("PCMA");
|
solo.clickOnText("PCMA");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void goBackToDialerAfterCodecChanges() {
|
private void goBackToDialerAfterCodecChanges() {
|
||||||
solo.goBack();
|
solo.goBack();
|
||||||
solo.goBack();
|
solo.goBack();
|
||||||
|
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
}
|
}
|
|
@ -1,5 +1,3 @@
|
||||||
package org.linphone.test;
|
|
||||||
|
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
|
||||||
import org.linphone.CallActivity;
|
import org.linphone.CallActivity;
|
||||||
|
@ -23,7 +21,7 @@ import android.view.View;
|
||||||
* @author Sylvain Berfini
|
* @author Sylvain Berfini
|
||||||
*/
|
*/
|
||||||
public class CallsVideo extends SampleTest {
|
public class CallsVideo extends SampleTest {
|
||||||
|
|
||||||
@SmallTest
|
@SmallTest
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
|
@ -39,22 +37,22 @@ public class CallsVideo extends SampleTest {
|
||||||
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_automatically_accept_video_title));
|
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_automatically_accept_video_title));
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
solo.goBack();
|
solo.goBack();
|
||||||
|
|
||||||
solo.goBack();
|
solo.goBack();
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
Assert.assertTrue(LinphoneManager.getLc().isVideoEnabled());
|
Assert.assertTrue(LinphoneManager.getLc().isVideoEnabled());
|
||||||
Assert.assertTrue(LinphoneManager.getLc().getVideoAutoAcceptPolicy());
|
Assert.assertTrue(LinphoneManager.getLc().getVideoAutoAcceptPolicy());
|
||||||
Assert.assertTrue(LinphoneManager.getLc().getVideoAutoInitiatePolicy());
|
Assert.assertTrue(LinphoneManager.getLc().getVideoAutoInitiatePolicy());
|
||||||
}
|
}
|
||||||
|
|
||||||
@SmallTest
|
@SmallTest
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testBOutgoingCallWithDefaultConfig() {
|
public void testBOutgoingCallWithDefaultConfig() {
|
||||||
LinphoneTestManager.getInstance().declineCall = false; // Just in case
|
LinphoneTestManager.getInstance().declineCall = false; // Just in case
|
||||||
LinphoneTestManager.getLc().enableVideo(true, true);
|
LinphoneTestManager.getLc().enableVideo(true, true);
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertOutgoingCallIsCorrectlyRunning();
|
assertOutgoingCallIsCorrectlyRunning();
|
||||||
|
@ -75,26 +73,26 @@ public class CallsVideo extends SampleTest {
|
||||||
solo.clickOnText("PCMU");
|
solo.clickOnText("PCMU");
|
||||||
goBackToDialerAfterCodecChanges();
|
goBackToDialerAfterCodecChanges();
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
|
|
||||||
LinphoneManager.getLc().setUseRfc2833ForDtmfs(true);
|
LinphoneManager.getLc().setUseRfc2833ForDtmfs(true);
|
||||||
LinphoneManager.getLc().setUseSipInfoForDtmfs(false);
|
LinphoneManager.getLc().setUseSipInfoForDtmfs(false);
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning();
|
assertCallIsCorrectlyRunning();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.dialer));
|
solo.clickOnView(solo.getView(org.linphone.R.id.dialer));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.Digit3));
|
solo.clickOnView(solo.getView(org.linphone.R.id.Digit3));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.dialer));
|
solo.clickOnView(solo.getView(org.linphone.R.id.dialer));
|
||||||
|
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
|
|
||||||
//To enable when issue http://git.linphone.org/mantis/view.php?id=750 will be fixed
|
//To enable when issue http://git.linphone.org/mantis/view.php?id=750 will be fixed
|
||||||
//Assert.assertTrue(LinphoneTestManager.getInstance().isDTMFReceived);
|
//Assert.assertTrue(LinphoneTestManager.getInstance().isDTMFReceived);
|
||||||
LinphoneTestManager.getInstance().isDTMFReceived = false;
|
LinphoneTestManager.getInstance().isDTMFReceived = false;
|
||||||
|
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
}
|
}
|
||||||
|
@ -104,23 +102,23 @@ public class CallsVideo extends SampleTest {
|
||||||
public void testDDTMFSIPINFO() {
|
public void testDDTMFSIPINFO() {
|
||||||
LinphoneManager.getLc().setUseRfc2833ForDtmfs(false);
|
LinphoneManager.getLc().setUseRfc2833ForDtmfs(false);
|
||||||
LinphoneManager.getLc().setUseSipInfoForDtmfs(true);
|
LinphoneManager.getLc().setUseSipInfoForDtmfs(true);
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning();
|
assertCallIsCorrectlyRunning();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.dialer));
|
solo.clickOnView(solo.getView(org.linphone.R.id.dialer));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.Digit3));
|
solo.clickOnView(solo.getView(org.linphone.R.id.Digit3));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.dialer));
|
solo.clickOnView(solo.getView(org.linphone.R.id.dialer));
|
||||||
|
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
|
|
||||||
//To enable when issue http://git.linphone.org/mantis/view.php?id=751 will be fixed
|
//To enable when issue http://git.linphone.org/mantis/view.php?id=751 will be fixed
|
||||||
//Assert.assertTrue(LinphoneTestManager.getInstance().isDTMFReceived);
|
//Assert.assertTrue(LinphoneTestManager.getInstance().isDTMFReceived);
|
||||||
LinphoneTestManager.getInstance().isDTMFReceived = false;
|
LinphoneTestManager.getInstance().isDTMFReceived = false;
|
||||||
|
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
}
|
}
|
||||||
|
@ -129,13 +127,13 @@ public class CallsVideo extends SampleTest {
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testEOutgoingCallToAudioClient() {
|
public void testEOutgoingCallToAudioClient() {
|
||||||
LinphoneTestManager.getLc().enableVideo(false, false);
|
LinphoneTestManager.getLc().enableVideo(false, false);
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertOutgoingCallIsCorrectlyRunning();
|
assertOutgoingCallIsCorrectlyRunning();
|
||||||
assertCallIsCorrectlyRunning();
|
assertCallIsCorrectlyRunning();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
|
@ -146,7 +144,7 @@ public class CallsVideo extends SampleTest {
|
||||||
public void testFOutgoingCallToVideoClient() {
|
public void testFOutgoingCallToVideoClient() {
|
||||||
LinphoneTestManager.getLc().enableVideo(true, true);
|
LinphoneTestManager.getLc().enableVideo(true, true);
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertOutgoingCallIsCorrectlyRunning();
|
assertOutgoingCallIsCorrectlyRunning();
|
||||||
|
@ -163,18 +161,18 @@ public class CallsVideo extends SampleTest {
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testGOutgoingCallCancelled() {
|
public void testGOutgoingCallCancelled() {
|
||||||
LinphoneTestManager.getInstance().autoAnswer = false;
|
LinphoneTestManager.getInstance().autoAnswer = false;
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
solo.waitForActivity("InCallActivity", 5000);
|
solo.waitForActivity("InCallActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected InCall Activity", CallActivity.class);
|
solo.assertCurrentActivity("Expected InCall Activity", CallActivity.class);
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
waitForCallState(LinphoneManager.getLc().getCalls()[0],LinphoneCall.State.OutgoingRinging);
|
waitForCallState(LinphoneManager.getLc().getCalls()[0],LinphoneCall.State.OutgoingRinging);
|
||||||
|
|
||||||
LinphoneTestManager.getInstance().autoAnswer = true;
|
LinphoneTestManager.getInstance().autoAnswer = true;
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
|
@ -184,16 +182,16 @@ public class CallsVideo extends SampleTest {
|
||||||
public void testHOutgoingCallDeclined() {
|
public void testHOutgoingCallDeclined() {
|
||||||
LinphoneTestManager.getInstance().autoAnswer = true; // Just in case
|
LinphoneTestManager.getInstance().autoAnswer = true; // Just in case
|
||||||
LinphoneTestManager.getInstance().declineCall = true;
|
LinphoneTestManager.getInstance().declineCall = true;
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
solo.sleep(1500);
|
solo.sleep(1500);
|
||||||
Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.error_call_declined)));
|
Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.error_call_declined)));
|
||||||
|
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
|
|
||||||
LinphoneTestManager.getInstance().declineCall = false;
|
LinphoneTestManager.getInstance().declineCall = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -201,20 +199,20 @@ public class CallsVideo extends SampleTest {
|
||||||
public void testIIncomingAudioCall() {
|
public void testIIncomingAudioCall() {
|
||||||
LinphoneTestManager.getInstance().declineCall = false; // Just in case
|
LinphoneTestManager.getInstance().declineCall = false; // Just in case
|
||||||
LinphoneTestManager.getLc().enableVideo(false, false);
|
LinphoneTestManager.getLc().enableVideo(false, false);
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
try {
|
try {
|
||||||
LinphoneTestManager.getLc().invite("sip:" + iContext.getString(org.linphone.test.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.test.R.string.account_linphone_domain));
|
LinphoneTestManager.getLc().invite("sip:" + iContext.getString(org.linphone.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.R.string.account_linphone_domain));
|
||||||
} catch (LinphoneCoreException e) {
|
} catch (LinphoneCoreException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
solo.waitForActivity("IncomingCallActivity", 5000);
|
solo.waitForActivity("IncomingCallActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class);
|
solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class);
|
||||||
|
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.accept));
|
solo.clickOnView(solo.getView(org.linphone.R.id.accept));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning();
|
assertCallIsCorrectlyRunning();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -226,20 +224,20 @@ public class CallsVideo extends SampleTest {
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
try {
|
try {
|
||||||
LinphoneTestManager.getLc().invite("sip:" + iContext.getString(org.linphone.test.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.test.R.string.account_linphone_domain));
|
LinphoneTestManager.getLc().invite("sip:" + iContext.getString(org.linphone.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.R.string.account_linphone_domain));
|
||||||
} catch (LinphoneCoreException e) {
|
} catch (LinphoneCoreException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
solo.waitForActivity("IncomingCallActivity", 5000);
|
solo.waitForActivity("IncomingCallActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class);
|
solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class);
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.accept));
|
solo.clickOnView(solo.getView(org.linphone.R.id.accept));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning();
|
assertCallIsCorrectlyRunning();
|
||||||
assertCallIsRunningWithVideo();
|
assertCallIsRunningWithVideo();
|
||||||
}
|
}
|
||||||
|
|
||||||
// @SmallTest
|
// @SmallTest
|
||||||
// @MediumTest
|
// @MediumTest
|
||||||
// @LargeTest
|
// @LargeTest
|
||||||
|
@ -248,15 +246,15 @@ public class CallsVideo extends SampleTest {
|
||||||
// Thread.sleep(2000);
|
// Thread.sleep(2000);
|
||||||
// callPlayerTest();
|
// callPlayerTest();
|
||||||
// }
|
// }
|
||||||
|
|
||||||
//TODO: Test each video codec
|
//TODO: Test each video codec
|
||||||
|
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testKSelfPauseResumeCall() {
|
public void testKSelfPauseResumeCall() {
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning();
|
assertCallIsCorrectlyRunning();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.video_frame));
|
solo.clickOnView(solo.getView(org.linphone.R.id.video_frame));
|
||||||
|
@ -267,7 +265,7 @@ public class CallsVideo extends SampleTest {
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.video_frame));
|
solo.clickOnView(solo.getView(org.linphone.R.id.video_frame));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call_pause));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call_pause));
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
|
|
||||||
waitForCallResumed(LinphoneManager.getLc().getCalls()[0]);
|
waitForCallResumed(LinphoneManager.getLc().getCalls()[0]);
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.video_frame));
|
solo.clickOnView(solo.getView(org.linphone.R.id.video_frame));
|
||||||
|
@ -279,11 +277,11 @@ public class CallsVideo extends SampleTest {
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testLRemotePauseResumeCall() {
|
public void testLRemotePauseResumeCall() {
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning();
|
assertCallIsCorrectlyRunning();
|
||||||
|
|
||||||
LinphoneTestManager.getLc().pauseAllCalls();
|
LinphoneTestManager.getLc().pauseAllCalls();
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
|
|
||||||
|
@ -303,23 +301,23 @@ public class CallsVideo extends SampleTest {
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testMSwitchOffVideoInCall() {
|
public void testMSwitchOffVideoInCall() {
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning();
|
assertCallIsCorrectlyRunning();
|
||||||
assertCallIsRunningWithVideo();
|
assertCallIsRunningWithVideo();
|
||||||
|
|
||||||
Assert.assertTrue(solo.getView(org.linphone.R.id.video).isEnabled());
|
Assert.assertTrue(solo.getView(org.linphone.R.id.video).isEnabled());
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.video_frame));
|
solo.clickOnView(solo.getView(org.linphone.R.id.video_frame));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.video));
|
solo.clickOnView(solo.getView(org.linphone.R.id.video));
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
Assert.assertFalse(LinphoneManager.getLc().getCurrentCall().getCurrentParamsCopy().getVideoEnabled());
|
Assert.assertFalse(LinphoneManager.getLc().getCurrentCall().getCurrentParamsCopy().getVideoEnabled());
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assertCallIsRunningWithVideo() {
|
private void assertCallIsRunningWithVideo() {
|
||||||
LinphoneCall call = LinphoneManager.getLc().getCalls()[0];
|
LinphoneCall call = LinphoneManager.getLc().getCalls()[0];
|
||||||
Assert.assertTrue(call.getCurrentParamsCopy().getVideoEnabled());
|
Assert.assertTrue(call.getCurrentParamsCopy().getVideoEnabled());
|
||||||
|
@ -341,22 +339,22 @@ public class CallsVideo extends SampleTest {
|
||||||
|
|
||||||
waitForCallState(call, LinphoneCall.State.StreamsRunning);
|
waitForCallState(call, LinphoneCall.State.StreamsRunning);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void goToSettings() {
|
private void goToSettings() {
|
||||||
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(org.linphone.R.id.side_menu_button));
|
solo.clickOnView(solo.getView(org.linphone.R.id.side_menu_button));
|
||||||
solo.clickOnText(aContext.getString(org.linphone.R.string.menu_settings));
|
solo.clickOnText(aContext.getString(org.linphone.R.string.menu_settings));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void goToAudioCodecsSettings() {
|
private void goToAudioCodecsSettings() {
|
||||||
goToSettings();
|
goToSettings();
|
||||||
|
|
||||||
selectItemInListOnUIThread(4);
|
selectItemInListOnUIThread(4);
|
||||||
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_audio_title));
|
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_audio_title));
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void goToVideoCodecsSettings() {
|
private void goToVideoCodecsSettings() {
|
||||||
//goToSettings();
|
//goToSettings();
|
||||||
|
|
||||||
|
@ -367,7 +365,7 @@ public class CallsVideo extends SampleTest {
|
||||||
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_title));
|
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_title));
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isAudioCodecEnabled(String mime, int rate) {
|
private boolean isAudioCodecEnabled(String mime, int rate) {
|
||||||
LinphoneCore lc = LinphoneTestManager.getLc();
|
LinphoneCore lc = LinphoneTestManager.getLc();
|
||||||
for (final PayloadType pt : lc.getAudioCodecs()) {
|
for (final PayloadType pt : lc.getAudioCodecs()) {
|
||||||
|
@ -376,81 +374,81 @@ public class CallsVideo extends SampleTest {
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void disableAllEnabledAudioCodecs() {
|
private void disableAllEnabledAudioCodecs() {
|
||||||
goToAudioCodecsSettings();
|
goToAudioCodecsSettings();
|
||||||
|
|
||||||
if (isAudioCodecEnabled("opus", 48000)) {
|
if (isAudioCodecEnabled("opus", 48000)) {
|
||||||
solo.clickOnText("opus");
|
solo.clickOnText("opus");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("speex", 16000)) {
|
if (isAudioCodecEnabled("speex", 16000)) {
|
||||||
solo.clickOnText("speex");
|
solo.clickOnText("speex");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("speex", 8000)) {
|
if (isAudioCodecEnabled("speex", 8000)) {
|
||||||
solo.clickOnText("speex", 1);
|
solo.clickOnText("speex", 1);
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("iLBC", 8000)) {
|
if (isAudioCodecEnabled("iLBC", 8000)) {
|
||||||
solo.clickOnText("iLBC");
|
solo.clickOnText("iLBC");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("AMR", 8000)) {
|
if (isAudioCodecEnabled("AMR", 8000)) {
|
||||||
solo.clickOnText("AMR");
|
solo.clickOnText("AMR");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("AMRWB", 8000)) {
|
if (isAudioCodecEnabled("AMRWB", 8000)) {
|
||||||
solo.clickOnText("AMRWB");
|
solo.clickOnText("AMRWB");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("G729", 8000)) {
|
if (isAudioCodecEnabled("G729", 8000)) {
|
||||||
solo.clickOnText("G729");
|
solo.clickOnText("G729");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("GSM", 8000)) {
|
if (isAudioCodecEnabled("GSM", 8000)) {
|
||||||
solo.clickOnText("GSM");
|
solo.clickOnText("GSM");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("G722", 8000)) {
|
if (isAudioCodecEnabled("G722", 8000)) {
|
||||||
solo.clickOnText("G722");
|
solo.clickOnText("G722");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("SILK", 24000)) {
|
if (isAudioCodecEnabled("SILK", 24000)) {
|
||||||
solo.clickOnText("SILK");
|
solo.clickOnText("SILK");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("SILK", 16000)) {
|
if (isAudioCodecEnabled("SILK", 16000)) {
|
||||||
solo.clickOnText("SILK", 1);
|
solo.clickOnText("SILK", 1);
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("SILK", 8000)) {
|
if (isAudioCodecEnabled("SILK", 8000)) {
|
||||||
solo.clickOnText("SILK", 2);
|
solo.clickOnText("SILK", 2);
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("PCMU", 8000)) {
|
if (isAudioCodecEnabled("PCMU", 8000)) {
|
||||||
solo.clickOnText("PCMU");
|
solo.clickOnText("PCMU");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isAudioCodecEnabled("PCMA", 8000)) {
|
if (isAudioCodecEnabled("PCMA", 8000)) {
|
||||||
solo.clickOnText("PCMA");
|
solo.clickOnText("PCMA");
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isVideoCodecEnabled(String mime) {
|
private boolean isVideoCodecEnabled(String mime) {
|
||||||
LinphoneCore lc = LinphoneTestManager.getLc();
|
LinphoneCore lc = LinphoneTestManager.getLc();
|
||||||
for (final PayloadType pt : lc.getVideoCodecs()) {
|
for (final PayloadType pt : lc.getVideoCodecs()) {
|
||||||
|
@ -459,73 +457,73 @@ public class CallsVideo extends SampleTest {
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void disableAllEnabledVideoCodecs() {
|
private void disableAllEnabledVideoCodecs() {
|
||||||
goToVideoCodecsSettings();
|
goToVideoCodecsSettings();
|
||||||
|
|
||||||
if (isVideoCodecEnabled("VP8")) {
|
if (isVideoCodecEnabled("VP8")) {
|
||||||
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_vp8_title));
|
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_vp8_title));
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isVideoCodecEnabled("H264")) {
|
if (isVideoCodecEnabled("H264")) {
|
||||||
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_h264_title));
|
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_h264_title));
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isVideoCodecEnabled("MP4V-ES")) {
|
if (isVideoCodecEnabled("MP4V-ES")) {
|
||||||
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_mpeg4_title));
|
solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_mpeg4_title));
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// private void forceH264Codec() {
|
// private void forceH264Codec() {
|
||||||
// goToVideoCodecsSettings();
|
// goToVideoCodecsSettings();
|
||||||
//
|
//
|
||||||
// if (isVideoCodecEnabled("VP8")) {
|
// if (isVideoCodecEnabled("VP8")) {
|
||||||
// solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_vp8_title));
|
// solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_vp8_title));
|
||||||
// solo.sleep(500);
|
// solo.sleep(500);
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// if (!isVideoCodecEnabled("H264")) {
|
// if (!isVideoCodecEnabled("H264")) {
|
||||||
// solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_h264_title));
|
// solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_h264_title));
|
||||||
// solo.sleep(500);
|
// solo.sleep(500);
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// if (isVideoCodecEnabled("MP4V-ES")) {
|
// if (isVideoCodecEnabled("MP4V-ES")) {
|
||||||
// solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_mpeg4_title));
|
// solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_mpeg4_title));
|
||||||
// solo.sleep(500);
|
// solo.sleep(500);
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// private void enableAllDisabledVideoCodecs() {
|
// private void enableAllDisabledVideoCodecs() {
|
||||||
// goToVideoCodecsSettings();
|
// goToVideoCodecsSettings();
|
||||||
//
|
//
|
||||||
// if (!isVideoCodecEnabled("VP8")) {
|
// if (!isVideoCodecEnabled("VP8")) {
|
||||||
// solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_vp8_title));
|
// solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_vp8_title));
|
||||||
// solo.sleep(500);
|
// solo.sleep(500);
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// if (!isVideoCodecEnabled("H264")) {
|
// if (!isVideoCodecEnabled("H264")) {
|
||||||
// solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_h264_title));
|
// solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_h264_title));
|
||||||
// solo.sleep(500);
|
// solo.sleep(500);
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// if (!isVideoCodecEnabled("MP4V-ES")) {
|
// if (!isVideoCodecEnabled("MP4V-ES")) {
|
||||||
// solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_mpeg4_title));
|
// solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_mpeg4_title));
|
||||||
// solo.sleep(500);
|
// solo.sleep(500);
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
private void goBackToDialerAfterCodecChanges()
|
private void goBackToDialerAfterCodecChanges()
|
||||||
{
|
{
|
||||||
solo.goBack();
|
solo.goBack();
|
||||||
solo.goBack();
|
solo.goBack();
|
||||||
|
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
// private void callPlayerTest() throws InterruptedException {
|
// private void callPlayerTest() throws InterruptedException {
|
||||||
// LinphoneCall call = LinphoneTestManager.getLc().getCurrentCall();
|
// LinphoneCall call = LinphoneTestManager.getLc().getCurrentCall();
|
||||||
// Assert.assertNotNull(call);
|
// Assert.assertNotNull(call);
|
||||||
|
@ -547,15 +545,15 @@ public class CallsVideo extends SampleTest {
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// private class EofListenerImpl implements LinphonePlayer.Listener {
|
// private class EofListenerImpl implements LinphonePlayer.Listener {
|
||||||
// private boolean mEof = false;
|
// private boolean mEof = false;
|
||||||
//
|
//
|
||||||
// @Override
|
// @Override
|
||||||
// public void endOfFile(LinphonePlayer player) {
|
// public void endOfFile(LinphonePlayer player) {
|
||||||
// mEof = true;
|
// mEof = true;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// public boolean waitForEof(int timeout) throws InterruptedException {
|
// public boolean waitForEof(int timeout) throws InterruptedException {
|
||||||
// final int refreshTime = 100;
|
// final int refreshTime = 100;
|
||||||
// int time = 0;
|
// int time = 0;
|
|
@ -1,5 +1,3 @@
|
||||||
package org.linphone.test;
|
|
||||||
|
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
|
||||||
import org.linphone.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
|
@ -27,22 +25,22 @@ public class Chat extends SampleTest {
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testAEmptyChatHistory() {
|
public void testAEmptyChatHistory() {
|
||||||
goToChat();
|
goToChat();
|
||||||
|
|
||||||
LinphoneChatRoom[] chats = LinphoneTestManager.getInstance().getLc().getChatRooms();
|
LinphoneChatRoom[] chats = LinphoneTestManager.getInstance().getLc().getChatRooms();
|
||||||
for (LinphoneChatRoom chatroom : chats) {
|
for (LinphoneChatRoom chatroom : chats) {
|
||||||
chatroom.deleteHistory();
|
chatroom.deleteHistory();
|
||||||
}
|
}
|
||||||
|
|
||||||
Assert.assertEquals(0, LinphoneActivity.instance().getUnreadMessageCount());
|
Assert.assertEquals(0, LinphoneActivity.instance().getUnreadMessageCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testBDisplayEmptyChatHistory() {
|
public void testBDisplayEmptyChatHistory() {
|
||||||
goToChat();
|
goToChat();
|
||||||
|
|
||||||
Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.no_chat_history)));
|
Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.no_chat_history)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@SmallTest
|
@SmallTest
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
|
@ -50,32 +48,32 @@ public class Chat extends SampleTest {
|
||||||
goToChat();
|
goToChat();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.new_discussion));
|
solo.clickOnView(solo.getView(org.linphone.R.id.new_discussion));
|
||||||
solo.enterText((EditText)solo.getView(org.linphone.R.id.search_contact_field), "sip:" + iContext.getString(R.string.account_test_calls_login) + "@" + iContext.getString(R.string.account_test_calls_domain));
|
solo.enterText((EditText)solo.getView(org.linphone.R.id.search_contact_field), "sip:" + iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
|
|
||||||
solo.enterText((EditText)solo.getView(org.linphone.R.id.message), iContext.getString(R.string.chat_test_text_sent));
|
solo.enterText((EditText)solo.getView(org.linphone.R.id.message), iContext.getString(org.linphone.R.string.chat_test_text_sent));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.send_message));
|
solo.clickOnView(solo.getView(org.linphone.R.id.send_message));
|
||||||
|
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
Assert.assertTrue(solo.searchText(iContext.getString(R.string.chat_test_text_sent)));
|
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.chat_test_text_sent)));
|
||||||
Assert.assertEquals(iContext.getString(R.string.chat_test_text_sent), LinphoneTestManager.getInstance().lastMessageReceived);
|
Assert.assertEquals(iContext.getString(org.linphone.R.string.chat_test_text_sent), LinphoneTestManager.getInstance().lastMessageReceived);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testDIsNotEmptyChatHistory() {
|
public void testDIsNotEmptyChatHistory() {
|
||||||
goToChat();
|
goToChat();
|
||||||
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.test.R.string.account_test_calls_login)));
|
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.account_test_calls_login)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@SmallTest
|
@SmallTest
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testEReceiveTextMessage() {
|
public void testEReceiveTextMessage() {
|
||||||
goToChat();
|
goToChat();
|
||||||
solo.clickOnText(iContext.getString(org.linphone.test.R.string.account_test_calls_login));
|
solo.clickOnText(iContext.getString(org.linphone.R.string.account_test_calls_login));
|
||||||
|
|
||||||
LinphoneChatRoom chatRoom = LinphoneTestManager.getLc().getOrCreateChatRoom("sip:" + iContext.getString(R.string.account_linphone_login) + "@" + iContext.getString(R.string.account_linphone_domain));
|
LinphoneChatRoom chatRoom = LinphoneTestManager.getLc().getOrCreateChatRoom("sip:" + iContext.getString(org.linphone.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.R.string.account_linphone_domain));
|
||||||
LinphoneChatMessage msg = chatRoom.createLinphoneChatMessage(iContext.getString(R.string.chat_test_text_received));
|
LinphoneChatMessage msg = chatRoom.createLinphoneChatMessage(iContext.getString(org.linphone.R.string.chat_test_text_received));
|
||||||
chatRoom.sendMessage(msg, new LinphoneChatMessage.StateListener() {
|
chatRoom.sendMessage(msg, new LinphoneChatMessage.StateListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onLinphoneChatMessageStateChanged(LinphoneChatMessage msg,
|
public void onLinphoneChatMessageStateChanged(LinphoneChatMessage msg,
|
||||||
|
@ -85,20 +83,20 @@ public class Chat extends SampleTest {
|
||||||
});
|
});
|
||||||
|
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
Assert.assertTrue(solo.searchText(iContext.getString(R.string.chat_test_text_received)));
|
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.chat_test_text_received)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testFDeleteMessage() {
|
public void testFDeleteMessage() {
|
||||||
goToChat();
|
goToChat();
|
||||||
solo.clickOnText(iContext.getString(org.linphone.test.R.string.account_test_calls_login));
|
solo.clickOnText(iContext.getString(org.linphone.R.string.account_test_calls_login));
|
||||||
|
|
||||||
solo.clickLongOnText(iContext.getString(R.string.chat_test_text_received));
|
solo.clickLongOnText(iContext.getString(org.linphone.R.string.chat_test_text_received));
|
||||||
solo.clickOnText(aContext.getString(org.linphone.R.string.delete));
|
solo.clickOnText(aContext.getString(org.linphone.R.string.delete));
|
||||||
|
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
Assert.assertFalse(solo.searchText(iContext.getString(R.string.chat_test_text_received)));
|
Assert.assertFalse(solo.searchText(iContext.getString(org.linphone.R.string.chat_test_text_received)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@MediumTest
|
@MediumTest
|
||||||
|
@ -106,30 +104,30 @@ public class Chat extends SampleTest {
|
||||||
public void testGChatLandscape() {
|
public void testGChatLandscape() {
|
||||||
goToChat();
|
goToChat();
|
||||||
|
|
||||||
solo.clickOnText(iContext.getString(org.linphone.test.R.string.account_test_calls_login));
|
solo.clickOnText(iContext.getString(org.linphone.R.string.account_test_calls_login));
|
||||||
|
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
solo.setActivityOrientation(Solo.LANDSCAPE);
|
solo.setActivityOrientation(Solo.LANDSCAPE);
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
|
|
||||||
solo.enterText((EditText) solo.getView(org.linphone.R.id.message), iContext.getString(R.string.chat_test_text_sent));
|
solo.enterText((EditText) solo.getView(org.linphone.R.id.message), iContext.getString(org.linphone.R.string.chat_test_text_sent));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.send_message));
|
solo.clickOnView(solo.getView(org.linphone.R.id.send_message));
|
||||||
|
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
Assert.assertTrue(solo.searchText(iContext.getString(R.string.chat_test_text_sent)));
|
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.chat_test_text_sent)));
|
||||||
Assert.assertEquals(iContext.getString(R.string.chat_test_text_sent), LinphoneTestManager.getInstance().lastMessageReceived);
|
Assert.assertEquals(iContext.getString(org.linphone.R.string.chat_test_text_sent), LinphoneTestManager.getInstance().lastMessageReceived);
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.back));
|
solo.clickOnView(solo.getView(org.linphone.R.id.back));
|
||||||
|
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
Assert.assertTrue(solo.searchText(iContext.getString(R.string.account_test_calls_login)));
|
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.account_test_calls_login)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testHDeleteConversation() {
|
public void testHDeleteConversation() {
|
||||||
goToChat();
|
goToChat();
|
||||||
|
|
||||||
/*solo.clickOnText(aContext.getString(org.linphone.R.string.button_edit));
|
/*solo.clickOnText(aContext.getString(org.linphone.R.string.button_edit));
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.delete));
|
solo.clickOnView(solo.getView(org.linphone.R.id.delete));
|
||||||
|
@ -138,12 +136,12 @@ public class Chat extends SampleTest {
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.no_chat_history)));*/
|
Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.no_chat_history)));*/
|
||||||
}
|
}
|
||||||
|
|
||||||
private void goToChat() {
|
private void goToChat() {
|
||||||
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(org.linphone.R.id.chat));
|
solo.clickOnView(solo.getView(org.linphone.R.id.chat));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,5 +1,3 @@
|
||||||
package org.linphone.test;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
@ -97,7 +95,7 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testEPauseAllCalls() {
|
public void testEPauseAllCalls() {
|
||||||
startTwoCalls();
|
startTwoCalls();
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
LinphoneCall call1 = LinphoneTestManager.getLc(1).getCalls()[0];
|
LinphoneCall call1 = LinphoneTestManager.getLc(1).getCalls()[0];
|
||||||
LinphoneCall call2 = LinphoneTestManager.getLc(2).getCalls()[0];
|
LinphoneCall call2 = LinphoneTestManager.getLc(2).getCalls()[0];
|
||||||
|
@ -108,7 +106,7 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
waitForCallState(call2,LinphoneCall.State.PausedByRemote);
|
waitForCallState(call2,LinphoneCall.State.PausedByRemote);
|
||||||
waitForCallState(call1,LinphoneCall.State.PausedByRemote);
|
waitForCallState(call1,LinphoneCall.State.PausedByRemote);
|
||||||
|
|
||||||
// All calls are paused, one click on hang_up terminates them all
|
// All calls are paused, one click on hang_up terminates them all
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
|
@ -117,18 +115,18 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
|
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testFAddNewCallAndCancelIt() {
|
public void testFAddNewCallAndCancelIt() {
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning(1);
|
assertCallIsCorrectlyRunning(1);
|
||||||
LinphoneTestManager.getInstance().autoAnswer = false;
|
LinphoneTestManager.getInstance().autoAnswer = false;
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.options));
|
solo.clickOnView(solo.getView(org.linphone.R.id.options));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.add_call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.add_call));
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.test.R.string.conference_account_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.R.string.conference_account_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.outgoing_hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.outgoing_hang_up));
|
||||||
|
|
||||||
|
@ -136,58 +134,58 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.pause));
|
solo.clickOnView(solo.getView(org.linphone.R.id.pause));
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
waitForCallState(LinphoneTestManager.getLc(1).getCalls()[0],LinphoneCall.State.StreamsRunning);
|
waitForCallState(LinphoneTestManager.getLc(1).getCalls()[0],LinphoneCall.State.StreamsRunning);
|
||||||
|
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
|
|
||||||
LinphoneTestManager.getInstance().autoAnswer = true;
|
LinphoneTestManager.getInstance().autoAnswer = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testGAddNewCallDeclined() {
|
public void testGAddNewCallDeclined() {
|
||||||
LinphoneTestManager.getInstance().autoAnswer = true; // Just in case
|
LinphoneTestManager.getInstance().autoAnswer = true; // Just in case
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning(1);
|
assertCallIsCorrectlyRunning(1);
|
||||||
LinphoneTestManager.getInstance().declineCall = true;
|
LinphoneTestManager.getInstance().declineCall = true;
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.options));
|
solo.clickOnView(solo.getView(org.linphone.R.id.options));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.add_call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.add_call));
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.test.R.string.conference_account_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.R.string.conference_account_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
waitForCallState(LinphoneTestManager.getLc(1).getCalls()[0],LinphoneCall.State.PausedByRemote);
|
waitForCallState(LinphoneTestManager.getLc(1).getCalls()[0],LinphoneCall.State.PausedByRemote);
|
||||||
|
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
|
|
||||||
LinphoneTestManager.getInstance().declineCall = false;
|
LinphoneTestManager.getInstance().declineCall = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testHIncomingCallWhileInCallAndDecline() {
|
public void testHIncomingCallWhileInCallAndDecline() {
|
||||||
LinphoneTestManager.getInstance().declineCall = false; //Just in case
|
LinphoneTestManager.getInstance().declineCall = false; //Just in case
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning(1);
|
assertCallIsCorrectlyRunning(1);
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
try {
|
try {
|
||||||
LinphoneTestManager.getLc(2).invite("sip:" + iContext.getString(org.linphone.test.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.test.R.string.account_linphone_domain));
|
LinphoneTestManager.getLc(2).invite("sip:" + iContext.getString(org.linphone.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.R.string.account_linphone_domain));
|
||||||
} catch (LinphoneCoreException e) {
|
} catch (LinphoneCoreException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
solo.waitForActivity("IncomingCallActivity", 5000);
|
solo.waitForActivity("IncomingCallActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Incoming call Activity", CallIncomingActivity.class);
|
solo.assertCurrentActivity("Expected Incoming call Activity", CallIncomingActivity.class);
|
||||||
|
|
||||||
|
@ -199,9 +197,9 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
int topOffset = dm.heightPixels - topLayoutHeigh;
|
int topOffset = dm.heightPixels - topLayoutHeigh;
|
||||||
int slidersTop = topLayoutHeigh - 80 - topOffset; // 80 is the bottom margin set in incoming.xml
|
int slidersTop = topLayoutHeigh - 80 - topOffset; // 80 is the bottom margin set in incoming.xml
|
||||||
solo.drag(topLayout.getMeasuredWidth() - 10, 10, slidersTop, slidersTop, 10);
|
solo.drag(topLayout.getMeasuredWidth() - 10, 10, slidersTop, slidersTop, 10);
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning(1);
|
assertCallIsCorrectlyRunning(1);
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
|
@ -209,19 +207,19 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testIIncomingCallWhileInCallAndAccept() {
|
public void testIIncomingCallWhileInCallAndAccept() {
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning(1);
|
assertCallIsCorrectlyRunning(1);
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
try {
|
try {
|
||||||
LinphoneTestManager.getLc(2).invite("sip:" + iContext.getString(org.linphone.test.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.test.R.string.account_linphone_domain));
|
LinphoneTestManager.getLc(2).invite("sip:" + iContext.getString(org.linphone.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.R.string.account_linphone_domain));
|
||||||
} catch (LinphoneCoreException e) {
|
} catch (LinphoneCoreException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
solo.waitForActivity("IncomingCallActivity", 5000);
|
solo.waitForActivity("IncomingCallActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Incoming call Activity", CallIncomingActivity.class);
|
solo.assertCurrentActivity("Expected Incoming call Activity", CallIncomingActivity.class);
|
||||||
|
|
||||||
|
@ -238,46 +236,46 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
LinphoneCall call1 = LinphoneTestManager.getLc(1).getCalls()[0];
|
LinphoneCall call1 = LinphoneTestManager.getLc(1).getCalls()[0];
|
||||||
waitForCallState(call1,LinphoneCall.State.PausedByRemote);
|
waitForCallState(call1,LinphoneCall.State.PausedByRemote);
|
||||||
assertCallIsCorrectlyRunning(2);
|
assertCallIsCorrectlyRunning(2);
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void goToSettings() {
|
private void goToSettings() {
|
||||||
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(org.linphone.R.id.side_menu_button));
|
solo.clickOnView(solo.getView(org.linphone.R.id.side_menu_button));
|
||||||
solo.clickOnText(aContext.getString(org.linphone.R.string.menu_settings));
|
solo.clickOnText(aContext.getString(org.linphone.R.string.menu_settings));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startTwoCalls() {
|
private void startTwoCalls() {
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
assertCallIsCorrectlyRunning(1);
|
assertCallIsCorrectlyRunning(1);
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.options));
|
solo.clickOnView(solo.getView(org.linphone.R.id.options));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.add_call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.add_call));
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.test.R.string.conference_account_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.R.string.conference_account_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
assertCallIsCorrectlyRunning(2);
|
assertCallIsCorrectlyRunning(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startConference() {
|
private void startConference() {
|
||||||
startTwoCalls();
|
startTwoCalls();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.options));
|
solo.clickOnView(solo.getView(org.linphone.R.id.options));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.conference));
|
solo.clickOnView(solo.getView(org.linphone.R.id.conference));
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning(1);
|
assertCallIsCorrectlyRunning(1);
|
||||||
assertCallIsCorrectlyRunning(2);
|
assertCallIsCorrectlyRunning(2);
|
||||||
Assert.assertTrue(LinphoneManager.getLc().isInConference());
|
Assert.assertTrue(LinphoneManager.getLc().isInConference());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assertCallIsCorrectlyRunning(int lcId) {
|
private void assertCallIsCorrectlyRunning(int lcId) {
|
||||||
solo.waitForActivity("CallActivity", 5000);
|
solo.waitForActivity("CallActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected InCall Activity", CallActivity.class);
|
solo.assertCurrentActivity("Expected InCall Activity", CallActivity.class);
|
||||||
|
@ -285,7 +283,7 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
Assert.assertEquals(1, LinphoneTestManager.getLc(lcId).getCallsNb());
|
Assert.assertEquals(1, LinphoneTestManager.getLc(lcId).getCallsNb());
|
||||||
LinphoneCall call = LinphoneTestManager.getLc(lcId).getCalls()[0];
|
LinphoneCall call = LinphoneTestManager.getLc(lcId).getCalls()[0];
|
||||||
|
|
||||||
int retry = 0;
|
int retry = 0;
|
||||||
while ((call.getState() == LinphoneCall.State.OutgoingProgress || call.getState() == LinphoneCall.State.IncomingReceived) && retry < 5) {
|
while ((call.getState() == LinphoneCall.State.OutgoingProgress || call.getState() == LinphoneCall.State.IncomingReceived) && retry < 5) {
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
|
@ -1,5 +1,3 @@
|
||||||
package org.linphone.test;
|
|
||||||
|
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
|
||||||
import org.linphone.ContactsListFragment;
|
import org.linphone.ContactsListFragment;
|
||||||
|
@ -21,24 +19,24 @@ public class Contacts extends SampleTest {
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testAAddContactFromHistoryAndDeleteIt() {
|
public void testAAddContactFromHistoryAndDeleteIt() {
|
||||||
goToHistory();
|
goToHistory();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.detail));
|
solo.clickOnView(solo.getView(org.linphone.R.id.detail));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.add_contact));
|
solo.clickOnView(solo.getView(org.linphone.R.id.add_contact));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.newContact));
|
solo.clickOnView(solo.getView(org.linphone.R.id.newContact));
|
||||||
|
|
||||||
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain)));
|
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)));
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.contact_name));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.contact_name));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.ok));
|
solo.clickOnView(solo.getView(org.linphone.R.id.ok));
|
||||||
|
|
||||||
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.test.R.string.contact_name)));
|
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.contact_name)));
|
||||||
|
|
||||||
solo.clickOnText(iContext.getString(org.linphone.test.R.string.contact_name));
|
solo.clickOnText(iContext.getString(org.linphone.R.string.contact_name));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.deleteContact));
|
solo.clickOnView(solo.getView(org.linphone.R.id.deleteContact));
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.delete_button));
|
solo.clickOnView(solo.getView(org.linphone.R.id.delete_button));
|
||||||
|
|
||||||
Assert.assertFalse(solo.searchText(iContext.getString(org.linphone.test.R.string.contact_name)));
|
Assert.assertFalse(solo.searchText(iContext.getString(org.linphone.R.string.contact_name)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@SmallTest
|
@SmallTest
|
||||||
|
@ -48,11 +46,11 @@ public class Contacts extends SampleTest {
|
||||||
goToContacts();
|
goToContacts();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.newContact));
|
solo.clickOnView(solo.getView(org.linphone.R.id.newContact));
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.contact_name));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.contact_name));
|
||||||
solo.enterText(3, iContext.getString(org.linphone.test.R.string.contact_number));
|
solo.enterText(3, iContext.getString(org.linphone.R.string.contact_number));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.ok));
|
solo.clickOnView(solo.getView(org.linphone.R.id.ok));
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.test.R.string.contact_name)));
|
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.contact_name)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@MediumTest
|
@MediumTest
|
||||||
|
@ -60,9 +58,9 @@ public class Contacts extends SampleTest {
|
||||||
public void testCTestContactFilter1() {
|
public void testCTestContactFilter1() {
|
||||||
goToContacts();
|
goToContacts();
|
||||||
|
|
||||||
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.test.R.string.contact_name)));
|
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.contact_name)));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.linphone_contacts));
|
solo.clickOnView(solo.getView(org.linphone.R.id.linphone_contacts));
|
||||||
Assert.assertFalse(solo.searchText(iContext.getString(org.linphone.test.R.string.contact_name)));
|
Assert.assertFalse(solo.searchText(iContext.getString(org.linphone.R.string.contact_name)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@MediumTest
|
@MediumTest
|
||||||
|
@ -70,26 +68,26 @@ public class Contacts extends SampleTest {
|
||||||
public void testDEditContactAddSipAddressAndRemoveNumber() {
|
public void testDEditContactAddSipAddressAndRemoveNumber() {
|
||||||
goToContacts();
|
goToContacts();
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.all_contacts));
|
solo.clickOnView(solo.getView(org.linphone.R.id.all_contacts));
|
||||||
|
|
||||||
solo.clickOnText(iContext.getString(org.linphone.test.R.string.contact_name));
|
solo.clickOnText(iContext.getString(org.linphone.R.string.contact_name));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.editContact));
|
solo.clickOnView(solo.getView(org.linphone.R.id.editContact));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.delete_field));
|
solo.clickOnView(solo.getView(org.linphone.R.id.delete_field));
|
||||||
solo.enterText(2, iContext.getString(org.linphone.test.R.string.contact_sip));
|
solo.enterText(2, iContext.getString(org.linphone.R.string.contact_sip));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.ok));
|
solo.clickOnView(solo.getView(org.linphone.R.id.ok));
|
||||||
|
|
||||||
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.test.R.string.contact_sip)));
|
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.contact_sip)));
|
||||||
Assert.assertFalse(solo.searchText(iContext.getString(org.linphone.test.R.string.contact_number)));
|
Assert.assertFalse(solo.searchText(iContext.getString(org.linphone.R.string.contact_number)));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testETestContactFilter2() {
|
public void testETestContactFilter2() {
|
||||||
goToContacts();
|
goToContacts();
|
||||||
|
|
||||||
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.test.R.string.contact_name)));
|
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.contact_name)));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.linphone_contacts));
|
solo.clickOnView(solo.getView(org.linphone.R.id.linphone_contacts));
|
||||||
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.test.R.string.contact_name)));
|
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.contact_name)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@MediumTest
|
@MediumTest
|
||||||
|
@ -97,7 +95,7 @@ public class Contacts extends SampleTest {
|
||||||
public void testFStartChatFromContact() {
|
public void testFStartChatFromContact() {
|
||||||
goToContacts();
|
goToContacts();
|
||||||
|
|
||||||
solo.clickOnText(iContext.getString(org.linphone.test.R.string.contact_name));
|
solo.clickOnText(iContext.getString(org.linphone.R.string.contact_name));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.contact_chat));
|
solo.clickOnView(solo.getView(org.linphone.R.id.contact_chat));
|
||||||
//Assert.assertTrue(solo.search(aContext.get(org.linphone.R.string.send_message)));
|
//Assert.assertTrue(solo.search(aContext.get(org.linphone.R.string.send_message)));
|
||||||
}
|
}
|
||||||
|
@ -107,25 +105,25 @@ public class Contacts extends SampleTest {
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testGDeleteContact() {
|
public void testGDeleteContact() {
|
||||||
goToContacts();
|
goToContacts();
|
||||||
|
|
||||||
solo.clickOnText(iContext.getString(org.linphone.test.R.string.contact_name));
|
solo.clickOnText(iContext.getString(org.linphone.R.string.contact_name));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.deleteContact));
|
solo.clickOnView(solo.getView(org.linphone.R.id.deleteContact));
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.delete_button));
|
solo.clickOnView(solo.getView(org.linphone.R.id.delete_button));
|
||||||
Assert.assertFalse(solo.searchText(iContext.getString(org.linphone.test.R.string.contact_name)));
|
Assert.assertFalse(solo.searchText(iContext.getString(org.linphone.R.string.contact_name)));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void goToContacts() {
|
private void goToContacts() {
|
||||||
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(org.linphone.R.id.contacts));
|
solo.clickOnView(solo.getView(org.linphone.R.id.contacts));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void goToHistory() {
|
private void goToHistory() {
|
||||||
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(org.linphone.R.id.history));
|
solo.clickOnView(solo.getView(org.linphone.R.id.history));
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,5 +1,3 @@
|
||||||
package org.linphone.test;
|
|
||||||
|
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
|
||||||
import org.linphone.CallActivity;
|
import org.linphone.CallActivity;
|
||||||
|
@ -14,46 +12,46 @@ import android.test.suitebuilder.annotation.SmallTest;
|
||||||
* @author Sylvain Berfini
|
* @author Sylvain Berfini
|
||||||
*/
|
*/
|
||||||
public class History extends SampleTest {
|
public class History extends SampleTest {
|
||||||
|
|
||||||
@SmallTest
|
@SmallTest
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testACheckForTestCallInHistory() {
|
public void testACheckForTestCallInHistory() {
|
||||||
goToHistory();
|
goToHistory();
|
||||||
|
|
||||||
Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.today)));
|
Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.today)));
|
||||||
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.test.R.string.account_test_calls_login)));
|
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.account_test_calls_login)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testBFilterMissedCalls() {
|
public void testBFilterMissedCalls() {
|
||||||
goToHistory();
|
goToHistory();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.missed_calls));
|
solo.clickOnView(solo.getView(org.linphone.R.id.missed_calls));
|
||||||
Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.no_missed_call_history)));
|
Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.no_missed_call_history)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testCCallBackFromHistory() {
|
public void testCCallBackFromHistory() {
|
||||||
goToHistory();
|
goToHistory();
|
||||||
|
|
||||||
solo.clickOnText(iContext.getString(org.linphone.test.R.string.account_test_calls_login));
|
solo.clickOnText(iContext.getString(org.linphone.R.string.account_test_calls_login));
|
||||||
|
|
||||||
solo.waitForActivity("InCallActivity", 5000);
|
solo.waitForActivity("InCallActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected InCall Activity", CallActivity.class);
|
solo.assertCurrentActivity("Expected InCall Activity", CallActivity.class);
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
Assert.assertEquals(1, LinphoneTestManager.getLc().getCallsNb());
|
Assert.assertEquals(1, LinphoneTestManager.getLc().getCallsNb());
|
||||||
waitForCallState(LinphoneTestManager.getLc().getCalls()[0],LinphoneCall.State.StreamsRunning);
|
waitForCallState(LinphoneTestManager.getLc().getCalls()[0],LinphoneCall.State.StreamsRunning);
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testDDeleteOne() {
|
public void testDDeleteOne() {
|
||||||
goToHistory();
|
goToHistory();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.edit));
|
solo.clickOnView(solo.getView(org.linphone.R.id.edit));
|
||||||
|
@ -67,7 +65,7 @@ public class History extends SampleTest {
|
||||||
@SmallTest
|
@SmallTest
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testEDeleteAll() {
|
public void testEDeleteAll() {
|
||||||
goToHistory();
|
goToHistory();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.edit));
|
solo.clickOnView(solo.getView(org.linphone.R.id.edit));
|
||||||
|
@ -78,11 +76,11 @@ public class History extends SampleTest {
|
||||||
|
|
||||||
Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.no_call_history)));
|
Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.no_call_history)));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void goToHistory() {
|
private void goToHistory() {
|
||||||
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(org.linphone.R.id.history));
|
solo.clickOnView(solo.getView(org.linphone.R.id.history));
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,5 +1,3 @@
|
||||||
package org.linphone.test;
|
|
||||||
|
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.util.Timer;
|
import java.util.Timer;
|
||||||
import java.util.TimerTask;
|
import java.util.TimerTask;
|
||||||
|
@ -190,13 +188,13 @@ public class LinphoneTestManager implements LinphoneCoreListener{
|
||||||
|
|
||||||
String username, password, domain;
|
String username, password, domain;
|
||||||
if (mLc.equals(mLc1)) {
|
if (mLc.equals(mLc1)) {
|
||||||
username = mIContext.getString(org.linphone.test.R.string.account_test_calls_login);
|
username = mIContext.getString(org.linphone.R.string.account_test_calls_login);
|
||||||
password = mIContext.getString(org.linphone.test.R.string.account_test_calls_pwd);
|
password = mIContext.getString(org.linphone.R.string.account_test_calls_pwd);
|
||||||
domain = mIContext.getString(org.linphone.test.R.string.account_test_calls_domain);
|
domain = mIContext.getString(org.linphone.R.string.account_test_calls_domain);
|
||||||
} else {
|
} else {
|
||||||
username = mIContext.getString(org.linphone.test.R.string.conference_account_login);
|
username = mIContext.getString(org.linphone.R.string.conference_account_login);
|
||||||
password = mIContext.getString(org.linphone.test.R.string.conference_account_password);
|
password = mIContext.getString(org.linphone.R.string.conference_account_password);
|
||||||
domain = mIContext.getString(org.linphone.test.R.string.conference_account_domain);
|
domain = mIContext.getString(org.linphone.R.string.conference_account_domain);
|
||||||
}
|
}
|
||||||
|
|
||||||
LinphoneAuthInfo lAuthInfo = LinphoneCoreFactory.instance().createAuthInfo(username, password, null, domain);
|
LinphoneAuthInfo lAuthInfo = LinphoneCoreFactory.instance().createAuthInfo(username, password, null, domain);
|
||||||
|
@ -436,14 +434,14 @@ public class LinphoneTestManager implements LinphoneCoreListener{
|
||||||
public void authInfoRequested(LinphoneCore lc, String realm,
|
public void authInfoRequested(LinphoneCore lc, String realm,
|
||||||
String username, String domain) {
|
String username, String domain) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void authenticationRequested(LinphoneCore lc,
|
public void authenticationRequested(LinphoneCore lc,
|
||||||
LinphoneAuthInfo authInfo, AuthMethod method) {
|
LinphoneAuthInfo authInfo, AuthMethod method) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -492,9 +490,20 @@ public class LinphoneTestManager implements LinphoneCoreListener{
|
||||||
public void friendListCreated(LinphoneCore lc, LinphoneFriendList list) {
|
public void friendListCreated(LinphoneCore lc, LinphoneFriendList list) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void friendListRemoved(LinphoneCore lc, LinphoneFriendList list) {
|
public void friendListRemoved(LinphoneCore lc, LinphoneFriendList list) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void networkReachableChanged(LinphoneCore lc, boolean enable) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void messageReceivedUnableToDecrypted(LinphoneCore lc, LinphoneChatRoom cr,
|
||||||
|
LinphoneChatMessage message) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -1,5 +1,3 @@
|
||||||
package org.linphone.test;
|
|
||||||
|
|
||||||
import org.linphone.LinphoneLauncherActivity;
|
import org.linphone.LinphoneLauncherActivity;
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.core.LinphoneCall;
|
import org.linphone.core.LinphoneCall;
|
||||||
|
@ -22,7 +20,7 @@ import com.robotium.solo.Solo;
|
||||||
public abstract class SampleTest extends ActivityInstrumentationTestCase2<LinphoneLauncherActivity>{
|
public abstract class SampleTest extends ActivityInstrumentationTestCase2<LinphoneLauncherActivity>{
|
||||||
|
|
||||||
protected final int STRING_LENGTH_MAX = 20;
|
protected final int STRING_LENGTH_MAX = 20;
|
||||||
|
|
||||||
protected Solo solo;
|
protected Solo solo;
|
||||||
protected Context aContext, iContext;
|
protected Context aContext, iContext;
|
||||||
|
|
||||||
|
@ -45,7 +43,7 @@ public abstract class SampleTest extends ActivityInstrumentationTestCase2<Linpho
|
||||||
}
|
}
|
||||||
solo.finishOpenedActivities();
|
solo.finishOpenedActivities();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void selectItemInListOnUIThread(final int item) {
|
protected void selectItemInListOnUIThread(final int item) {
|
||||||
solo.sleep(500);
|
solo.sleep(500);
|
||||||
getActivity().runOnUiThread(new Runnable() {
|
getActivity().runOnUiThread(new Runnable() {
|
||||||
|
@ -55,7 +53,7 @@ public abstract class SampleTest extends ActivityInstrumentationTestCase2<Linpho
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void waitForRegistration(final LinphoneProxyConfig lpc) {
|
protected void waitForRegistration(final LinphoneProxyConfig lpc) {
|
||||||
if(lpc == null) return;
|
if(lpc == null) return;
|
||||||
solo.waitForCondition(new Condition() {
|
solo.waitForCondition(new Condition() {
|
|
@ -1,5 +1,3 @@
|
||||||
package org.linphone.test;
|
|
||||||
|
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
|
||||||
import org.linphone.CallActivity;
|
import org.linphone.CallActivity;
|
||||||
|
@ -17,21 +15,21 @@ public class Transfer extends SampleTest {
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testACallTransfer() {
|
public void testACallTransfer() {
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain));
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning();
|
assertCallIsCorrectlyRunning();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.options));
|
solo.clickOnView(solo.getView(org.linphone.R.id.options));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.transfer));
|
solo.clickOnView(solo.getView(org.linphone.R.id.transfer));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.test.R.string.conference_account_domain));
|
solo.enterText(0, iContext.getString(org.linphone.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.R.string.conference_account_domain));
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.call)); // Transfer button as the same id, only the image changes
|
solo.clickOnView(solo.getView(org.linphone.R.id.call)); // Transfer button as the same id, only the image changes
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
Assert.assertTrue(LinphoneTestManager.getLc(1).getCallsNb() > 0);
|
Assert.assertTrue(LinphoneTestManager.getLc(1).getCallsNb() > 0);
|
||||||
Assert.assertTrue(LinphoneTestManager.getLc(2).getCallsNb() > 0);
|
Assert.assertTrue(LinphoneTestManager.getLc(2).getCallsNb() > 0);
|
||||||
|
@ -40,21 +38,21 @@ public class Transfer extends SampleTest {
|
||||||
Assert.assertTrue(LinphoneTestManager.getLc(1).getCallsNb() == 0);
|
Assert.assertTrue(LinphoneTestManager.getLc(1).getCallsNb() == 0);
|
||||||
Assert.assertTrue(LinphoneTestManager.getLc(2).getCallsNb() == 0);
|
Assert.assertTrue(LinphoneTestManager.getLc(2).getCallsNb() == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assertCallIsCorrectlyRunning() {
|
private void assertCallIsCorrectlyRunning() {
|
||||||
solo.waitForActivity("InCallActivity", 5000);
|
solo.waitForActivity("InCallActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected InCall Activity", CallActivity.class);
|
solo.assertCurrentActivity("Expected InCall Activity", CallActivity.class);
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
LinphoneCall call = LinphoneManager.getLc().getCalls()[0];
|
LinphoneCall call = LinphoneManager.getLc().getCalls()[0];
|
||||||
|
|
||||||
int retry = 0;
|
int retry = 0;
|
||||||
while ((call.getState() == LinphoneCall.State.OutgoingProgress || call.getState() == LinphoneCall.State.IncomingReceived) && retry < 5) {
|
while ((call.getState() == LinphoneCall.State.OutgoingProgress || call.getState() == LinphoneCall.State.IncomingReceived) && retry < 5) {
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
retry++;
|
retry++;
|
||||||
Log.w("Call in progress but not running, retry = " + retry);
|
Log.w("Call in progress but not running, retry = " + retry);
|
||||||
}
|
}
|
||||||
|
|
||||||
waitForCallState(call,LinphoneCall.State.StreamsRunning);
|
waitForCallState(call,LinphoneCall.State.StreamsRunning);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,5 +1,3 @@
|
||||||
package org.linphone.test;
|
|
||||||
|
|
||||||
import static android.content.Intent.ACTION_MAIN;
|
import static android.content.Intent.ACTION_MAIN;
|
||||||
|
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
|
@ -13,7 +11,7 @@ import android.test.suitebuilder.annotation.SmallTest;
|
||||||
* @author Sylvain Berfini
|
* @author Sylvain Berfini
|
||||||
*/
|
*/
|
||||||
public class ZShutdownTestEnv extends SampleTest {
|
public class ZShutdownTestEnv extends SampleTest {
|
||||||
|
|
||||||
@SmallTest
|
@SmallTest
|
||||||
@MediumTest
|
@MediumTest
|
||||||
@LargeTest
|
@LargeTest
|
||||||
|
@ -21,5 +19,5 @@ public class ZShutdownTestEnv extends SampleTest {
|
||||||
LinphoneTestManager.destroy();
|
LinphoneTestManager.destroy();
|
||||||
aContext.stopService(new Intent(ACTION_MAIN).setClass(aContext, LinphoneService.class));
|
aContext.stopService(new Intent(ACTION_MAIN).setClass(aContext, LinphoneService.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1 +1 @@
|
||||||
Subproject commit 99e12005f3c75b933e8bd01092147def555496f2
|
Subproject commit 354ab280916f37ddd5d285c49bbf110122bec5a4
|
|
@ -1 +1 @@
|
||||||
Subproject commit f1856679996c63c99fa416cd1f853cd3639e2bdf
|
Subproject commit d7ff1de9e3ffb241b2aeac1950e0768da69c0a43
|
|
@ -1 +1 @@
|
||||||
Subproject commit b6e67b14cdfb0108a74941e1c05ef902b6fc9c2a
|
Subproject commit 5e02b53ee66b73e64bfc41e6ac2ed74296f42f60
|
|
@ -1,15 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<classpath>
|
|
||||||
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
|
|
||||||
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
|
|
||||||
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
|
|
||||||
<classpathentry kind="lib" path="libs/robotium-solo-5.1.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:platform:/resource/linphone-android-test/libs/robotium-solo-5.1-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="src" path="src"/>
|
|
||||||
<classpathentry kind="src" path="gen"/>
|
|
||||||
<classpathentry combineaccessrules="false" kind="src" path="/linphone-android"/>
|
|
||||||
<classpathentry kind="output" path="bin/classes"/>
|
|
||||||
</classpath>
|
|
|
@ -1,34 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<projectDescription>
|
|
||||||
<name>linphone-android-test</name>
|
|
||||||
<comment></comment>
|
|
||||||
<projects>
|
|
||||||
<project>linphone-android-newUI</project>
|
|
||||||
</projects>
|
|
||||||
<buildSpec>
|
|
||||||
<buildCommand>
|
|
||||||
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
<buildCommand>
|
|
||||||
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
<buildCommand>
|
|
||||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
<buildCommand>
|
|
||||||
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
</buildSpec>
|
|
||||||
<natures>
|
|
||||||
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
|
|
||||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
|
||||||
</natures>
|
|
||||||
</projectDescription>
|
|
|
@ -1,44 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
package="org.linphone.test"
|
|
||||||
android:versionCode="1"
|
|
||||||
android:versionName="1.0" >
|
|
||||||
|
|
||||||
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" />
|
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.INTERNET"/>
|
|
||||||
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
|
|
||||||
<uses-permission android:name="android.permission.READ_CONTACTS"/>
|
|
||||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
|
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
|
||||||
<uses-permission android:name="android.permission.WAKE_LOCK"/>
|
|
||||||
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
|
|
||||||
<uses-permission android:name="android.permission.CALL_PHONE"/>
|
|
||||||
<!-- Needed to allow Linphone to install on tablets, since android.permission.CALL_PHONE implies android.hardware.telephony is required -->
|
|
||||||
<uses-feature android:name="android.hardware.telephony" android:required="false" />
|
|
||||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
|
||||||
<uses-permission android:name="android.permission.VIBRATE"/>
|
|
||||||
<uses-permission android:name="android.permission.CAMERA" />
|
|
||||||
<!-- Needed to allow Linphone to install on tablets, since android.permission.CAMERA implies android.hardware.camera and android.hardware.camera.autofocus are required -->
|
|
||||||
<uses-feature android:name="android.hardware.camera" android:required="false" />
|
|
||||||
<uses-permission android:name="android.permission.READ_LOGS" />
|
|
||||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
|
||||||
<!-- Needed to store received images if the user wants to -->
|
|
||||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
|
||||||
<!-- Needed to use our own Contact editor -->
|
|
||||||
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
|
|
||||||
<!-- Needed to route the audio to the bluetooth headset if available -->
|
|
||||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
|
||||||
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
|
|
||||||
|
|
||||||
<instrumentation
|
|
||||||
android:name="com.zutubi.android.junitreport.JUnitReportTestRunner"
|
|
||||||
android:targetPackage="org.linphone" />
|
|
||||||
|
|
||||||
<application
|
|
||||||
android:label="@string/app_name" >
|
|
||||||
<uses-library android:name="android.test.runner" />
|
|
||||||
|
|
||||||
</application>
|
|
||||||
|
|
||||||
</manifest>
|
|
|
@ -1,27 +0,0 @@
|
||||||
SDK_PATH=$(shell dirname `which android`)
|
|
||||||
SDK_PLATFORM_TOOLS_PATH=$(shell dirname `which adb`)
|
|
||||||
ANT_SILENT=$(shell ant -h | grep -q -- -S && echo 1 || echo 0)
|
|
||||||
|
|
||||||
ifeq ($(ANT_SILENT), 1)
|
|
||||||
ANT=ant -e -S
|
|
||||||
else
|
|
||||||
ANT=ant -e
|
|
||||||
endif
|
|
||||||
|
|
||||||
clean:
|
|
||||||
$(SDK_PLATFORM_TOOLS_PATH)/adb uninstall org.linphone.test
|
|
||||||
$(SDK_PLATFORM_TOOLS_PATH)/adb uninstall org.linphone
|
|
||||||
$(SDK_PATH)/android update test-project --path . -m ../
|
|
||||||
|
|
||||||
all: clean
|
|
||||||
ant clean debug
|
|
||||||
$(SDK_PLATFORM_TOOLS_PATH)/adb install -g bin/LinphoneTest-debug.apk
|
|
||||||
$(SDK_PLATFORM_TOOLS_PATH)/adb install -g ../bin/Linphone-debug.apk
|
|
||||||
|
|
||||||
run-basic-tests: all
|
|
||||||
ant -e test -Dtest.size=small
|
|
||||||
if [ ! -s linphone-junit-report-small.xml ]; then exit 1; fi
|
|
||||||
|
|
||||||
run-all-tests: all
|
|
||||||
ant -e test -Dtest.size=large
|
|
||||||
if [ ! -s linphone-junit-report-large.xml ]; then exit 1; fi
|
|
|
@ -1 +0,0 @@
|
||||||
This is a JUnit test project for Linphone's Android application.
|
|
|
@ -1,4 +0,0 @@
|
||||||
#! /bin/bash
|
|
||||||
adb logcat -v time > $1 &
|
|
||||||
echo $! >adb.pid
|
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
# This file is used to override default values used by the Ant build system.
|
|
||||||
#
|
|
||||||
# This file must be checked into Version Control Systems, as it is
|
|
||||||
# integral to the build system of your project.
|
|
||||||
|
|
||||||
# This file is only used by the Ant script.
|
|
||||||
|
|
||||||
# You can use this to override default values such as
|
|
||||||
# 'source.dir' for the location of your java source folder and
|
|
||||||
# 'out.dir' for the location of your output folder.
|
|
||||||
|
|
||||||
# You can also use it define how the release builds are signed by declaring
|
|
||||||
# the following properties:
|
|
||||||
# 'key.store' for the location of your keystore and
|
|
||||||
# 'key.alias' for the name of the key to use.
|
|
||||||
# The password will be asked during the build when you use the 'release' target.
|
|
||||||
|
|
||||||
tested.project.dir=../
|
|
||||||
test.runner=com.zutubi.android.junitreport.JUnitReportTestRunner
|
|
|
@ -1,80 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project name="linphone-tester" xmlns:unless="ant:unless">
|
|
||||||
<target name="test">
|
|
||||||
<property name="output.file" value="./tests.output" />
|
|
||||||
<!-- Possible values for test.size are small or large -->
|
|
||||||
<property name="test.size" value="small" />
|
|
||||||
<tstamp>
|
|
||||||
<format property="archive.name" pattern="'linphonetester_'yyyyMMdd_HHmmss" />
|
|
||||||
</tstamp>
|
|
||||||
|
|
||||||
<echo>Adb log files are put in ${archive.name}.zip</echo>
|
|
||||||
<exec executable="adb" >
|
|
||||||
<arg value="logcat" />
|
|
||||||
<arg value="-c" />
|
|
||||||
</exec>
|
|
||||||
<exec executable="./adb-log-start.sh" >
|
|
||||||
<arg value=" ${archive.name}" />
|
|
||||||
</exec>
|
|
||||||
<exec executable="bash">
|
|
||||||
<arg value="-c"/>
|
|
||||||
<!-- use 'tee' command to write in file AND to stdout.
|
|
||||||
First is used below to check if tests failed or not
|
|
||||||
while second is used to get output in real time -->
|
|
||||||
<arg value="adb shell am instrument -r -w -e size ${test.size} org.linphone.test/com.zutubi.android.junitreport.JUnitReportTestRunner | tee ${output.file}"/>
|
|
||||||
</exec>
|
|
||||||
<exec executable="bash" >
|
|
||||||
<arg value="-c" />
|
|
||||||
<arg value="kill `cat adb.pid`" />
|
|
||||||
</exec>
|
|
||||||
|
|
||||||
<condition property="has.crashed" >
|
|
||||||
<or>
|
|
||||||
<resourcecontains resource="${output.file}" substring="Process crashed" />
|
|
||||||
<resourcecontains resource="${output.file}" substring="Native crash" />
|
|
||||||
<resourcecontains resource="${output.file}" substring="longMsg=junit.framework.AssertionFailedError: View with id: '" />
|
|
||||||
<resourcecontains resource="${output.file}" substring="longMsg=java.lang.RuntimeException:" />
|
|
||||||
<resourcecontains resource="${output.file}" substring="longMsg=java.lang.NullPointerException:" />
|
|
||||||
<resourcecontains resource="${output.file}" substring="android.util.AndroidException: INSTRUMENTATION_FAILED:" />
|
|
||||||
</or>
|
|
||||||
</condition>
|
|
||||||
<exec executable="bash" unless:set="has.crashed">
|
|
||||||
<arg value="-c"/>
|
|
||||||
<arg value="adb shell cat /data/data/org.linphone/files/junit-report.xml > linphone-junit-report-${test.size}.xml"/>
|
|
||||||
</exec>
|
|
||||||
|
|
||||||
<zip destfile="${archive.name}.zip">
|
|
||||||
<fileset dir="." includes="${archive.name}"/>
|
|
||||||
</zip>
|
|
||||||
|
|
||||||
<antcall target="check-for-crash"/>
|
|
||||||
|
|
||||||
<fail message="Tests failed" status="42">
|
|
||||||
<condition>
|
|
||||||
<resourcecontains resource="${output.file}" substring="FAILURES" />
|
|
||||||
</condition>
|
|
||||||
</fail>
|
|
||||||
<delete file="${archive.name}"/>
|
|
||||||
<delete file="${output.file}"/>
|
|
||||||
</target>
|
|
||||||
<target name="check-for-crash" if="has.crashed">
|
|
||||||
<exec executable="adb" outputproperty="arch">
|
|
||||||
<arg value="shell"/>
|
|
||||||
<arg value="getprop" />
|
|
||||||
<arg value="ro.product.cpu.abi"/>
|
|
||||||
</exec>
|
|
||||||
<exec executable="bash" outputproperty="abi">
|
|
||||||
<arg value="-c"/>
|
|
||||||
<arg value="echo ${arch} | tr -d '\r'"/>
|
|
||||||
</exec>
|
|
||||||
<exec executable="bash" >
|
|
||||||
<arg value="-c" />
|
|
||||||
<arg value="tail -n 500 ${archive.name}" />
|
|
||||||
</exec>
|
|
||||||
<exec executable="bash" >
|
|
||||||
<arg value="-c" />
|
|
||||||
<arg value="cat ${archive.name} |ndk-stack -sym obj/local/${abi}" />
|
|
||||||
</exec>
|
|
||||||
<fail message="Tests crashed" status="125"/>
|
|
||||||
</target>
|
|
||||||
</project>
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,37 +0,0 @@
|
||||||
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
|
|
||||||
from com.android.monkeyrunner.easy import EasyMonkeyDevice
|
|
||||||
|
|
||||||
from lib.LinphoneTest import LinphoneTest
|
|
||||||
|
|
||||||
class CallTest(LinphoneTest):
|
|
||||||
def precond(self):
|
|
||||||
# Run Linphone
|
|
||||||
runComponent = 'org.linphone' + '/' + 'org.linphone.setup.LinphoneActivity'
|
|
||||||
self.device.startActivity(component=runComponent)
|
|
||||||
|
|
||||||
# Be sure to be on dialer screen
|
|
||||||
dialer = self.find('dialer')
|
|
||||||
self.easyDevice.touch(dialer, MonkeyDevice.DOWN_AND_UP)
|
|
||||||
|
|
||||||
def test(self):
|
|
||||||
# Type a SIP address
|
|
||||||
address = self.find('Adress')
|
|
||||||
self.easyDevice.type(address, 'cotcot@sip.linphone.org')
|
|
||||||
self.device.press('KEYCODE_BACK', MonkeyDevice.DOWN_AND_UP)
|
|
||||||
|
|
||||||
# Try to call previously typed address
|
|
||||||
call = self.find('Call')
|
|
||||||
self.easyDevice.touch(call, MonkeyDevice.DOWN_AND_UP)
|
|
||||||
MonkeyRunner.sleep(2)
|
|
||||||
|
|
||||||
# Check if the call is outgoing correctly
|
|
||||||
contact = self.find('contactNameOrNumber')
|
|
||||||
return contact
|
|
||||||
|
|
||||||
def postcond(self):
|
|
||||||
# Stop the call
|
|
||||||
hangUp = self.find('hangUp')
|
|
||||||
self.easyDevice.touch(hangUp, MonkeyDevice.DOWN_AND_UP)
|
|
||||||
|
|
||||||
callTest = CallTest('Call')
|
|
||||||
callTest.run()
|
|
|
@ -1,51 +0,0 @@
|
||||||
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
|
|
||||||
from com.android.monkeyrunner.easy import EasyMonkeyDevice
|
|
||||||
|
|
||||||
from lib.LinphoneTest import LinphoneTest
|
|
||||||
|
|
||||||
class ConfigurationTest(LinphoneTest):
|
|
||||||
def setAccount(self, username, password, domain):
|
|
||||||
self.username = username
|
|
||||||
self.password = password
|
|
||||||
self.domain = domain
|
|
||||||
|
|
||||||
def precond(self):
|
|
||||||
# Run the setup assistant
|
|
||||||
runComponent = 'org.linphone' + '/' + 'org.linphone.setup.SetupActivity'
|
|
||||||
self.device.startActivity(component=runComponent)
|
|
||||||
MonkeyRunner.sleep(2)
|
|
||||||
|
|
||||||
def next(self):
|
|
||||||
# Press next button
|
|
||||||
next = self.find('setup_next')
|
|
||||||
self.easyDevice.touch(next, MonkeyDevice.DOWN_AND_UP)
|
|
||||||
|
|
||||||
def test(self):
|
|
||||||
self.next()
|
|
||||||
|
|
||||||
# Choose SIP account
|
|
||||||
login = self.find('setup_login_generic')
|
|
||||||
self.easyDevice.touch(login, MonkeyDevice.DOWN_AND_UP)
|
|
||||||
|
|
||||||
# Fill the fields
|
|
||||||
username = self.find('setup_username')
|
|
||||||
self.easyDevice.type(username, self.username)
|
|
||||||
|
|
||||||
password = self.find('setup_password')
|
|
||||||
self.easyDevice.type(password, self.password)
|
|
||||||
|
|
||||||
domain = self.find('setup_domain')
|
|
||||||
self.easyDevice.type(domain, self.domain)
|
|
||||||
|
|
||||||
# Hide the keyboard
|
|
||||||
self.press_back()
|
|
||||||
|
|
||||||
# Apply config
|
|
||||||
apply = self.find('setup_apply')
|
|
||||||
self.easyDevice.touch(apply, MonkeyDevice.DOWN_AND_UP)
|
|
||||||
|
|
||||||
return True
|
|
||||||
|
|
||||||
configTest = ConfigurationTest('Account configuration')
|
|
||||||
configTest.setAccount('monkey', 'cotcot', 'test.linphone.org')
|
|
||||||
configTest.run()
|
|
|
@ -1,28 +0,0 @@
|
||||||
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
|
|
||||||
from com.android.monkeyrunner.easy import EasyMonkeyDevice
|
|
||||||
|
|
||||||
from lib.LinphoneTest import LinphoneTest
|
|
||||||
|
|
||||||
class InstallTest(LinphoneTest):
|
|
||||||
def test(self):
|
|
||||||
# Parameters, must be the same as in the build.xml file
|
|
||||||
package = 'org.linphone'
|
|
||||||
appname = 'Linphone'
|
|
||||||
activity = 'org.linphone.LinphoneLauncherActivity'
|
|
||||||
|
|
||||||
# Installs the Android package. Notice that this method returns a boolean, so you can test
|
|
||||||
# to see if the installation worked.
|
|
||||||
self.device.installPackage('../bin/' + appname + '-debug.apk')
|
|
||||||
|
|
||||||
# sets the name of the component to start
|
|
||||||
runComponent = package + '/' + activity
|
|
||||||
|
|
||||||
# Runs the component and wait for it to be launched
|
|
||||||
self.device.startActivity(component=runComponent)
|
|
||||||
MonkeyRunner.sleep(7)
|
|
||||||
|
|
||||||
menu = self.find('menu')
|
|
||||||
return menu
|
|
||||||
|
|
||||||
installTest = InstallTest('Install')
|
|
||||||
installTest.run()
|
|
|
@ -1,58 +0,0 @@
|
||||||
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
|
|
||||||
from com.android.monkeyrunner.easy import EasyMonkeyDevice
|
|
||||||
from com.android.monkeyrunner.easy import By
|
|
||||||
|
|
||||||
class colors:
|
|
||||||
OK = '\033[92m'
|
|
||||||
KO = '\033[91m'
|
|
||||||
END = '\033[0m'
|
|
||||||
|
|
||||||
class LinphoneTest():
|
|
||||||
def __init__(self, test_name):
|
|
||||||
self.test_name = test_name
|
|
||||||
|
|
||||||
# Connects to the current device
|
|
||||||
self.device = MonkeyRunner.waitForConnection()
|
|
||||||
self.easyDevice = EasyMonkeyDevice(self.device)
|
|
||||||
|
|
||||||
def run(self):
|
|
||||||
self.precond()
|
|
||||||
|
|
||||||
try:
|
|
||||||
result = self.test()
|
|
||||||
if result :
|
|
||||||
self.print_result_ok()
|
|
||||||
else :
|
|
||||||
self.print_result_ko()
|
|
||||||
|
|
||||||
except Exception:
|
|
||||||
self.print_result_ko()
|
|
||||||
|
|
||||||
finally:
|
|
||||||
self.postcond()
|
|
||||||
|
|
||||||
def find(self, id):
|
|
||||||
view = By.id('id/' + id)
|
|
||||||
if not view:
|
|
||||||
raise Exception("View with id/" + id + " not found")
|
|
||||||
return view
|
|
||||||
|
|
||||||
def print_result_ok(self):
|
|
||||||
print self.test_name + colors.OK + ' OK' + colors.END
|
|
||||||
|
|
||||||
def print_result_ko(self):
|
|
||||||
print self.test_name + colors.KO + ' KO' + colors.END
|
|
||||||
|
|
||||||
def press_back(self):
|
|
||||||
self.device.press('KEYCODE_BACK', MonkeyDevice.DOWN_AND_UP)
|
|
||||||
|
|
||||||
# Override following methods
|
|
||||||
def precond(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def test(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def postcond(self):
|
|
||||||
pass
|
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
# To enable ProGuard in your project, edit project.properties
|
|
||||||
# to define the proguard.config property as described in that file.
|
|
||||||
#
|
|
||||||
# Add project specific ProGuard rules here.
|
|
||||||
# By default, the flags in this file are appended to flags specified
|
|
||||||
# in ${sdk.dir}/tools/proguard/proguard-android.txt
|
|
||||||
# You can edit the include path and order by changing the ProGuard
|
|
||||||
# include property in project.properties.
|
|
||||||
#
|
|
||||||
# For more details, see
|
|
||||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
|
||||||
|
|
||||||
# Add any project specific keep options here:
|
|
||||||
|
|
||||||
# If your project uses WebView with JS, uncomment the following
|
|
||||||
# and specify the fully qualified class name to the JavaScript interface
|
|
||||||
# class:
|
|
||||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
|
||||||
# public *;
|
|
||||||
#}
|
|
|
@ -1,6 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<resources>
|
|
||||||
|
|
||||||
<string name="app_name">Linphone-android-testTest</string>
|
|
||||||
|
|
||||||
</resources>
|
|
Loading…
Reference in a new issue