diff --git a/app/build.gradle b/app/build.gradle index 5f30bd6..c3834cf 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -23,7 +23,7 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' - compile 'com.android.support:appcompat-v7:24.2.0' - androidTestCompile 'com.android.support:support-annotations:+' + compile 'com.android.support:appcompat-v7:23.0.1' + androidTestCompile 'com.android.support:support-annotations:23.0.1' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1' } diff --git a/app/src/androidTest/java/gettipsi/com/project1/DropdownTests.java b/app/src/androidTest/java/gettipsi/com/project1/DropdownTests.java index dc81af5..7bc51a9 100644 --- a/app/src/androidTest/java/gettipsi/com/project1/DropdownTests.java +++ b/app/src/androidTest/java/gettipsi/com/project1/DropdownTests.java @@ -2,12 +2,10 @@ import android.app.KeyguardManager; import android.content.Context; -import android.os.SystemClock; import android.support.test.espresso.assertion.ViewAssertions; import android.support.test.rule.ActivityTestRule; import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.LargeTest; -import android.view.WindowManager; import org.junit.Before; import org.junit.Rule; @@ -47,20 +45,16 @@ public class DropdownTests { @Before public void initValidData() { - final MainActivity activity = activityRule.getActivity(); - activity.runOnUiThread(new Runnable() { + activityRule.getActivity().runOnUiThread(new Runnable() { @Override public void run() { - KeyguardManager mKG = (KeyguardManager) activity.getSystemService(Context.KEYGUARD_SERVICE); - KeyguardManager.KeyguardLock mLock = mKG.newKeyguardLock("keyguard"); - mLock.disableKeyguard(); - - //turn the screen on - activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED - | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD - | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON - | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON - | WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON); + try { + KeyguardManager mKeyGuardManager = (KeyguardManager) activityRule.getActivity().getSystemService(Context.KEYGUARD_SERVICE); + KeyguardManager.KeyguardLock mLock = mKeyGuardManager.newKeyguardLock(Context.KEYGUARD_SERVICE); + mLock.disableKeyguard(); + } catch (Exception e) { + e.printStackTrace(); + } } }); items = Arrays.asList("One", "Two", "Three", "Four"); @@ -82,22 +76,22 @@ public void checkItemsSelection() { .perform(new SetSelectedAction(0)) .check(matches(withSpinnerText(items.get(0).toString()))); - SystemClock.sleep(1000); +// SystemClock.sleep(1000); onView(withId(R.id.dropdownId)) .perform(new SetSelectedAction(1)) .check(matches(withSpinnerText(items.get(1).toString()))); - SystemClock.sleep(1000); +// SystemClock.sleep(1000); onView(withId(R.id.dropdownId)) .perform(new SetSelectedAction(2)) .check(matches(withSpinnerText(items.get(2).toString()))); - SystemClock.sleep(1000); +// SystemClock.sleep(1000); onView(withId(R.id.dropdownId)) .perform(new SetSelectedAction(3)) .check(matches(withSpinnerText(items.get(3).toString()))); - SystemClock.sleep(1000); +// SystemClock.sleep(1000); } @@ -108,22 +102,22 @@ public void checkItemsWithNameSelection() { .perform(new SelectElementWithNameAction(items.get(0).toString())) .check(matches(withSpinnerText(items.get(0).toString()))); - SystemClock.sleep(1000); +// SystemClock.sleep(1000); onView(withId(R.id.dropdownId)) .perform(new SelectElementWithNameAction(items.get(1).toString())) .check(matches(withSpinnerText(items.get(1).toString()))); - SystemClock.sleep(1000); +// SystemClock.sleep(1000); onView(withId(R.id.dropdownId)) .perform(new SelectElementWithNameAction(items.get(2).toString())) .check(matches(withSpinnerText(items.get(2).toString()))); - SystemClock.sleep(1000); +// SystemClock.sleep(1000); onView(withId(R.id.dropdownId)) .perform(new SelectElementWithNameAction(items.get(3).toString())) .check(matches(withSpinnerText(items.get(3).toString()))); - SystemClock.sleep(1000); +// SystemClock.sleep(1000); } @Test @@ -131,22 +125,22 @@ public void checkItemsClickSelection() { setupItems(); String item = items.get(0).toString(); onView(withId(R.id.dropdownId)).perform(click()); - onData(allOf(is(instanceOf(String.class)), is(item))).perform(click()); + onData(allOf(is(instanceOf(String.class)))).atPosition(0).perform(click()); onView(withId(R.id.dropdownId)).check(matches(withSpinnerText(containsString(item)))); String item1 = items.get(1).toString(); onView(withId(R.id.dropdownId)).perform(click()); - onData(allOf(is(instanceOf(String.class)), is(item1))).perform(click()); + onData(allOf(is(instanceOf(String.class)))).atPosition(1).perform(click()); onView(withId(R.id.dropdownId)).check(matches(withSpinnerText(containsString(item1)))); String item2 = items.get(2).toString(); onView(withId(R.id.dropdownId)).perform(click()); - onData(allOf(is(instanceOf(String.class)), is(item2))).perform(click()); + onData(allOf(is(instanceOf(String.class)))).atPosition(2).perform(click()); onView(withId(R.id.dropdownId)).check(matches(withSpinnerText(containsString(item2)))); String item3 = items.get(3).toString(); onView(withId(R.id.dropdownId)).perform(click()); - onData(allOf(is(instanceOf(String.class)), is(item3))).perform(click()); + onData(allOf(is(instanceOf(String.class)))).atPosition(3).perform(click()); onView(withId(R.id.dropdownId)).check(matches(withSpinnerText(containsString(item3)))); } diff --git a/app/src/androidTest/java/gettipsi/com/project1/action/UnlockKeyguardAction.java b/app/src/androidTest/java/gettipsi/com/project1/action/UnlockKeyguardAction.java new file mode 100644 index 0000000..fd7bd68 --- /dev/null +++ b/app/src/androidTest/java/gettipsi/com/project1/action/UnlockKeyguardAction.java @@ -0,0 +1,25 @@ +package gettipsi.com.project1.action; + +import android.support.test.espresso.UiController; +import android.support.test.espresso.ViewAction; +import android.view.View; + +import org.hamcrest.Matcher; + +public class UnlockKeyguardAction implements ViewAction { + + @Override + public Matcher getConstraints() { + return null; + } + + @Override + public String getDescription() { + return null; + } + + @Override + public void perform(UiController uiController, View view) { + + } +} diff --git a/circle.yml b/circle.yml new file mode 100644 index 0000000..4f8a8bb --- /dev/null +++ b/circle.yml @@ -0,0 +1,31 @@ +general: + artifacts: + - /home/ubuntu/Project1/app/build/outputs/apk/ + +machine: + environment: + ANDROID_HOME: /usr/local/android-sdk-linux + +dependencies: + override: + - echo y | android update sdk --no-ui --all --filter tools,platform-tools,build-tools-24.0.2,android-24,sys-img-armeabi-v7a-android-24,extra-google-m2repository,extra-google-google_play_services,extra-android-support + - ANDROID_HOME=/usr/local/android-sdk-linux ./gradlew dependencies + +test: + override: + - (./gradlew assemble): + timeout: 360 + +test: + override: + - emulator -avd circleci-android22 -no-audio -no-window: + background: true + parallel: true + - circle-android wait-for-boot + - sleep 30 + - adb shell input keyevent 82 + - ./gradlew connectedAndroidTest -PdisablePreDex + - test ! -d app/build/outputs || cp -r app/build/outputs $CIRCLE_ARTIFACTS + - test ! -d app/build/reports || cp -r app/build/reports $CIRCLE_TEST_REPORTS +# - cp -r /home/ubuntu/Project1/app/build/outputs $CIRCLE_ARTIFACTS +# - cp -r /home/ubuntu/Project1/app/build/outputs/androidTest-results