diff --git a/tests/uitests/src/com/android/settings/ui/AppsSettingsTests.kt b/tests/uitests/src/com/android/settings/ui/AppsSettingsTests.kt index 9c2dc5fa179..0ba6b8d0600 100644 --- a/tests/uitests/src/com/android/settings/ui/AppsSettingsTests.kt +++ b/tests/uitests/src/com/android/settings/ui/AppsSettingsTests.kt @@ -41,6 +41,7 @@ class AppsSettingsTests { @Test fun testAppSettingsListForCalculator() { device.clickObject(By.text("Calculator")) + device.waitObject(By.text("Open")) device.assertHasTexts(ON_SCREEN_TEXTS) } @@ -63,7 +64,7 @@ class AppsSettingsTests { "Screen time", "App battery usage", "Language", - "Open by default" + "Unused app settings", ) } } diff --git a/tests/uitests/src/com/android/settings/ui/DevelopmentSettingsTest.kt b/tests/uitests/src/com/android/settings/ui/DevelopmentSettingsTest.kt new file mode 100644 index 00000000000..1ef940e8db9 --- /dev/null +++ b/tests/uitests/src/com/android/settings/ui/DevelopmentSettingsTest.kt @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings.ui + +import android.provider.Settings +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.filters.SmallTest +import androidx.test.uiautomator.UiDevice +import com.android.settings.ui.testutils.SettingsTestUtils.assertHasTexts +import com.android.settings.ui.testutils.SettingsTestUtils.startMainActivityFromHomeScreen +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +@SmallTest +class DevelopmentSettingsTest { + private lateinit var device: UiDevice + + @Before + fun setUp() { + device = startMainActivityFromHomeScreen(Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS) + } + + @Test + fun hasTexts() { + device.assertHasTexts(ON_SCREEN_TEXTS) + } + + private companion object { + val ON_SCREEN_TEXTS = listOf( + "Use developer options", + "Memory", + "Stay awake", + "USB debugging", + "App Compatibility Changes", + ) + } +} diff --git a/tests/uitests/src/com/android/settings/ui/testutils/SettingsTestUtils.kt b/tests/uitests/src/com/android/settings/ui/testutils/SettingsTestUtils.kt index c749ff8c054..f647b3c60f5 100644 --- a/tests/uitests/src/com/android/settings/ui/testutils/SettingsTestUtils.kt +++ b/tests/uitests/src/com/android/settings/ui/testutils/SettingsTestUtils.kt @@ -69,8 +69,12 @@ object SettingsTestUtils { fun UiDevice.assertHasTexts(texts: List) { val scrollableObj = findObject(By.scrollable(true)) for (text in texts) { - scrollableObj.scrollUntil(Direction.DOWN, Until.findObject(By.text(text))) - assertWithMessage("Missing text: $text").that(waitObject(By.text(text))).isNotNull() + val selector = By.text(text) + assertWithMessage("Missing text: $text").that( + findObject(selector) + ?: scrollableObj.scrollUntil(Direction.DOWN, Until.findObject(selector)) + ?: waitObject(selector) + ).isNotNull() } } }