Make large-tests pass on API 23

pull/893/head
Alinson S. Xavier 4 years ago
parent 1feefe107c
commit a7845c9290
No known key found for this signature in database
GPG Key ID: DCA0DAD4D2F58624

@ -96,6 +96,7 @@ android_test() {
log_info "Launching emulator..." log_info "Launching emulator..."
$EMULATOR -avd $AVDNAME -port 6${API}0 1>/dev/null 2>&1 & $EMULATOR -avd $AVDNAME -port 6${API}0 1>/dev/null 2>&1 &
log_info "Waiting for emulator to boot..." log_info "Waiting for emulator to boot..."
export ADB="$ADB -s emulator-6${API}0" export ADB="$ADB -s emulator-6${API}0"
$ADB wait-for-device shell 'while [[ -z "$(getprop sys.boot_completed)" ]]; do echo Waiting...; sleep 1; done; input keyevent 82' || return 1 $ADB wait-for-device shell 'while [[ -z "$(getprop sys.boot_completed)" ]]; do echo Waiting...; sleep 1; done; input keyevent 82' || return 1

@ -54,11 +54,22 @@ fun copyBackupToDownloadFolder() {
fun importBackupFromDownloadFolder() { fun importBackupFromDownloadFolder() {
clickMenu(SETTINGS) clickMenu(SETTINGS)
clickText("Import data") clickText("Import data")
if (SDK_INT >= 26) { if (SDK_INT <= 23) {
while (!device.hasObject(By.textContains("Show file size"))) {
device.click(720, 100) // Click overflow menu
Thread.sleep(1000)
}
if (device.hasObject(By.textContains("Show SD card"))) {
device.findObject(UiSelector().textContains("Show SD card")).click()
Thread.sleep(1000)
} else {
device.pressBack()
}
device.click(50, 90) // Click menu button device.click(50, 90) // Click menu button
device.findObject(UiSelector().textContains("Internal storage")).click()
device.findObject(UiSelector().textContains("Download")).click() device.findObject(UiSelector().textContains("Download")).click()
device.findObject(UiSelector().textContains("Loop")).click() device.findObject(UiSelector().textContains("Loop")).click()
} else { } else if (SDK_INT <= 25) {
while (!device.hasObject(By.textContains("Show file size"))) { while (!device.hasObject(By.textContains("Show file size"))) {
device.click(720, 100) // Click overflow menu device.click(720, 100) // Click overflow menu
Thread.sleep(1000) Thread.sleep(1000)
@ -73,6 +84,10 @@ fun importBackupFromDownloadFolder() {
device.findObject(UiSelector().textContains("Android")).click() device.findObject(UiSelector().textContains("Android")).click()
device.findObject(UiSelector().textContains("Download")).click() device.findObject(UiSelector().textContains("Download")).click()
device.findObject(UiSelector().textContains("Loop")).click() device.findObject(UiSelector().textContains("Loop")).click()
} else {
device.click(50, 90) // Click menu button
device.findObject(UiSelector().textContains("Download")).click()
device.findObject(UiSelector().textContains("Loop")).click()
} }
} }

@ -45,6 +45,7 @@ object CommonSteps : BaseUserInterfaceTest() {
fun clickText(text: String?) { fun clickText(text: String?) {
scrollToText(text) scrollToText(text)
Espresso.onView(ViewMatchers.withText(text)).perform(ViewActions.click()) Espresso.onView(ViewMatchers.withText(text)).perform(ViewActions.click())
device.waitForIdle()
} }
fun clickText(@StringRes id: Int) { fun clickText(@StringRes id: Int) {
@ -62,6 +63,7 @@ object CommonSteps : BaseUserInterfaceTest() {
fun longClickText(text: String?) { fun longClickText(text: String?) {
scrollToText(text) scrollToText(text)
Espresso.onView(ViewMatchers.withText(text)).perform(ViewActions.longClick()) Espresso.onView(ViewMatchers.withText(text)).perform(ViewActions.longClick())
device.waitForIdle()
} }
fun pressHome() { fun pressHome() {

@ -29,6 +29,7 @@ import org.hamcrest.CoreMatchers.allOf
import org.hamcrest.CoreMatchers.endsWith import org.hamcrest.CoreMatchers.endsWith
import org.hamcrest.Matcher import org.hamcrest.Matcher
import org.isoron.uhabits.BaseUserInterfaceTest import org.isoron.uhabits.BaseUserInterfaceTest
import org.isoron.uhabits.BaseUserInterfaceTest.Companion.device
import org.isoron.uhabits.R import org.isoron.uhabits.R
import org.isoron.uhabits.activities.habits.list.views.CheckmarkButtonView import org.isoron.uhabits.activities.habits.list.views.CheckmarkButtonView
import java.util.LinkedList import java.util.LinkedList
@ -53,6 +54,7 @@ object ListHabitsSteps {
CommonSteps.clickText(R.string.hide_completed) CommonSteps.clickText(R.string.hide_completed)
} }
} }
device.waitForIdle()
} }
private fun clickTextInsideOverflowMenu(id: Int) { private fun clickTextInsideOverflowMenu(id: Int) {

@ -75,7 +75,8 @@ class ListHabitsSelectionMenuBehavior @Inject constructor(
} }
fun onEditHabits() { fun onEditHabits() {
screen.showEditHabitsScreen(adapter.getSelected()) val selected = adapter.getSelected()
if (selected.isNotEmpty()) screen.showEditHabitsScreen(selected)
adapter.clearSelection() adapter.clearSelection()
} }

Loading…
Cancel
Save